mod-arch-shared 0.1.9 → 1.0.0

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 (299) hide show
  1. package/README.md +23 -268
  2. package/dist/__tests__/unit/jest.setup.d.ts +1 -0
  3. package/dist/__tests__/unit/jest.setup.d.ts.map +1 -1
  4. package/dist/__tests__/unit/jest.setup.js +3 -46
  5. package/dist/__tests__/unit/jest.setup.js.map +1 -1
  6. package/dist/components/WhosMyAdministrator.d.ts.map +1 -1
  7. package/dist/components/WhosMyAdministrator.js +5 -1
  8. package/dist/components/WhosMyAdministrator.js.map +1 -1
  9. package/dist/components/index.d.ts +0 -5
  10. package/dist/components/index.d.ts.map +1 -1
  11. package/dist/components/index.js +0 -5
  12. package/dist/components/index.js.map +1 -1
  13. package/dist/config/transform.file.d.ts +2 -1
  14. package/dist/config/transform.file.d.ts.map +1 -1
  15. package/dist/config/transform.file.js +2 -7
  16. package/dist/config/transform.file.js.map +1 -1
  17. package/dist/config/transform.style.js +1 -0
  18. package/dist/config/transform.style.js.map +1 -1
  19. package/dist/images/index.d.ts +2 -2
  20. package/dist/images/index.d.ts.map +1 -1
  21. package/dist/images/index.js +2 -2
  22. package/dist/images/index.js.map +1 -1
  23. package/dist/images/index.ts +2 -2
  24. package/dist/images/logo-odh-dark-theme.svg +18 -0
  25. package/dist/images/logo-odh-light-theme..svg +18 -0
  26. package/dist/images/logo-odh-light-theme.svg +18 -0
  27. package/dist/images/logo-odh-logo-light-theme.svg +18 -0
  28. package/dist/index.d.ts +0 -4
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +1 -15
  31. package/dist/index.js.map +1 -1
  32. package/dist/jest.config.d.ts +1 -0
  33. package/dist/jest.config.js +3 -1
  34. package/dist/jest.config.js.map +1 -1
  35. package/dist/types/common.d.ts +0 -43
  36. package/dist/types/common.d.ts.map +1 -1
  37. package/dist/types/common.js +0 -1
  38. package/dist/types/common.js.map +1 -1
  39. package/dist/utilities/__tests__/markdown.spec.d.ts +2 -0
  40. package/dist/utilities/__tests__/markdown.spec.d.ts.map +1 -0
  41. package/dist/utilities/__tests__/markdown.spec.js +17 -0
  42. package/dist/utilities/__tests__/markdown.spec.js.map +1 -0
  43. package/dist/utilities/__tests__/string.spec.d.ts +2 -0
  44. package/dist/utilities/__tests__/string.spec.d.ts.map +1 -0
  45. package/dist/utilities/__tests__/string.spec.js +51 -0
  46. package/dist/utilities/__tests__/string.spec.js.map +1 -0
  47. package/dist/utilities/__tests__/time.spec.d.ts +2 -0
  48. package/dist/utilities/__tests__/time.spec.d.ts.map +1 -0
  49. package/dist/utilities/__tests__/time.spec.js +61 -0
  50. package/dist/utilities/__tests__/time.spec.js.map +1 -0
  51. package/dist/utilities/index.d.ts +0 -5
  52. package/dist/utilities/index.d.ts.map +1 -1
  53. package/dist/utilities/index.js +0 -5
  54. package/dist/utilities/index.js.map +1 -1
  55. package/dist/utilities/utils.d.ts +0 -23
  56. package/dist/utilities/utils.d.ts.map +1 -1
  57. package/dist/utilities/utils.js +0 -93
  58. package/dist/utilities/utils.js.map +1 -1
  59. package/package.json +25 -36
  60. package/LICENSE +0 -201
  61. package/dist/__tests__/__mocks__/mockGenericResponse.d.ts +0 -8
  62. package/dist/__tests__/__mocks__/mockGenericResponse.d.ts.map +0 -1
  63. package/dist/__tests__/__mocks__/mockGenericResponse.js +0 -6
  64. package/dist/__tests__/__mocks__/mockGenericResponse.js.map +0 -1
  65. package/dist/__tests__/__mocks__/styleMock.d.ts +0 -2
  66. package/dist/__tests__/__mocks__/styleMock.d.ts.map +0 -1
  67. package/dist/__tests__/__mocks__/styleMock.js +0 -3
  68. package/dist/__tests__/__mocks__/styleMock.js.map +0 -1
  69. package/dist/__tests__/unit/testUtils/hooks.d.ts +0 -80
  70. package/dist/__tests__/unit/testUtils/hooks.d.ts.map +0 -1
  71. package/dist/__tests__/unit/testUtils/hooks.js +0 -126
  72. package/dist/__tests__/unit/testUtils/hooks.js.map +0 -1
  73. package/dist/__tests__/unit/testUtils/hooks.spec.d.ts +0 -2
  74. package/dist/__tests__/unit/testUtils/hooks.spec.d.ts.map +0 -1
  75. package/dist/__tests__/unit/testUtils/hooks.spec.js +0 -192
  76. package/dist/__tests__/unit/testUtils/hooks.spec.js.map +0 -1
  77. package/dist/api/__tests__/errorUtils.spec.d.ts +0 -2
  78. package/dist/api/__tests__/errorUtils.spec.d.ts.map +0 -1
  79. package/dist/api/__tests__/errorUtils.spec.js +0 -27
  80. package/dist/api/__tests__/errorUtils.spec.js.map +0 -1
  81. package/dist/api/apiUtils.d.ts +0 -16
  82. package/dist/api/apiUtils.d.ts.map +0 -1
  83. package/dist/api/apiUtils.js +0 -96
  84. package/dist/api/apiUtils.js.map +0 -1
  85. package/dist/api/const.d.ts +0 -3
  86. package/dist/api/const.d.ts.map +0 -1
  87. package/dist/api/const.js +0 -4
  88. package/dist/api/const.js.map +0 -1
  89. package/dist/api/errorUtils.d.ts +0 -2
  90. package/dist/api/errorUtils.d.ts.map +0 -1
  91. package/dist/api/errorUtils.js +0 -22
  92. package/dist/api/errorUtils.js.map +0 -1
  93. package/dist/api/index.d.ts +0 -7
  94. package/dist/api/index.d.ts.map +0 -1
  95. package/dist/api/index.js +0 -8
  96. package/dist/api/index.js.map +0 -1
  97. package/dist/api/k8s.d.ts +0 -10
  98. package/dist/api/k8s.d.ts.map +0 -1
  99. package/dist/api/k8s.js +0 -16
  100. package/dist/api/k8s.js.map +0 -1
  101. package/dist/api/types.d.ts +0 -19
  102. package/dist/api/types.d.ts.map +0 -1
  103. package/dist/api/types.js +0 -2
  104. package/dist/api/types.js.map +0 -1
  105. package/dist/api/useAPIState.d.ts +0 -3
  106. package/dist/api/useAPIState.d.ts.map +0 -1
  107. package/dist/api/useAPIState.js +0 -22
  108. package/dist/api/useAPIState.js.map +0 -1
  109. package/dist/components/NavBar.d.ts +0 -8
  110. package/dist/components/NavBar.d.ts.map +0 -1
  111. package/dist/components/NavBar.js +0 -53
  112. package/dist/components/NavBar.js.map +0 -1
  113. package/dist/components/NavSidebar.d.ts +0 -8
  114. package/dist/components/NavSidebar.d.ts.map +0 -1
  115. package/dist/components/NavSidebar.js +0 -25
  116. package/dist/components/NavSidebar.js.map +0 -1
  117. package/dist/components/ToastNotification.d.ts +0 -8
  118. package/dist/components/ToastNotification.d.ts.map +0 -1
  119. package/dist/components/ToastNotification.js +0 -29
  120. package/dist/components/ToastNotification.js.map +0 -1
  121. package/dist/components/ToastNotifications.d.ts +0 -4
  122. package/dist/components/ToastNotifications.d.ts.map +0 -1
  123. package/dist/components/ToastNotifications.js +0 -10
  124. package/dist/components/ToastNotifications.js.map +0 -1
  125. package/dist/components/__tests__/NavBar.test.d.ts +0 -2
  126. package/dist/components/__tests__/NavBar.test.d.ts.map +0 -1
  127. package/dist/components/__tests__/NavBar.test.js +0 -65
  128. package/dist/components/__tests__/NavBar.test.js.map +0 -1
  129. package/dist/components/browserStorage/BrowserStorageContext.d.ts +0 -25
  130. package/dist/components/browserStorage/BrowserStorageContext.d.ts.map +0 -1
  131. package/dist/components/browserStorage/BrowserStorageContext.js +0 -97
  132. package/dist/components/browserStorage/BrowserStorageContext.js.map +0 -1
  133. package/dist/components/browserStorage/index.d.ts +0 -2
  134. package/dist/components/browserStorage/index.d.ts.map +0 -1
  135. package/dist/components/browserStorage/index.js +0 -2
  136. package/dist/components/browserStorage/index.js.map +0 -1
  137. package/dist/components/table/__tests__/useCheckboxTable.spec.d.ts +0 -2
  138. package/dist/components/table/__tests__/useCheckboxTable.spec.d.ts.map +0 -1
  139. package/dist/components/table/__tests__/useCheckboxTable.spec.js +0 -45
  140. package/dist/components/table/__tests__/useCheckboxTable.spec.js.map +0 -1
  141. package/dist/config/stylePaths.d.ts +0 -2
  142. package/dist/config/stylePaths.d.ts.map +0 -1
  143. package/dist/config/stylePaths.js +0 -17
  144. package/dist/config/stylePaths.js.map +0 -1
  145. package/dist/context/ModularArchContext.d.ts +0 -20
  146. package/dist/context/ModularArchContext.d.ts.map +0 -1
  147. package/dist/context/ModularArchContext.js +0 -68
  148. package/dist/context/ModularArchContext.js.map +0 -1
  149. package/dist/context/NotificationContext.d.ts +0 -15
  150. package/dist/context/NotificationContext.d.ts.map +0 -1
  151. package/dist/context/NotificationContext.js +0 -43
  152. package/dist/context/NotificationContext.js.map +0 -1
  153. package/dist/context/ThemeContext.d.ts +0 -13
  154. package/dist/context/ThemeContext.d.ts.map +0 -1
  155. package/dist/context/ThemeContext.js +0 -23
  156. package/dist/context/ThemeContext.js.map +0 -1
  157. package/dist/context/__tests__/ModularArchContext.test.d.ts +0 -2
  158. package/dist/context/__tests__/ModularArchContext.test.d.ts.map +0 -1
  159. package/dist/context/__tests__/ModularArchContext.test.js +0 -331
  160. package/dist/context/__tests__/ModularArchContext.test.js.map +0 -1
  161. package/dist/context/index.d.ts +0 -4
  162. package/dist/context/index.d.ts.map +0 -1
  163. package/dist/context/index.js +0 -4
  164. package/dist/context/index.js.map +0 -1
  165. package/dist/hooks/__tests__/useModularArchContext.test.d.ts +0 -2
  166. package/dist/hooks/__tests__/useModularArchContext.test.d.ts.map +0 -1
  167. package/dist/hooks/__tests__/useModularArchContext.test.js +0 -39
  168. package/dist/hooks/__tests__/useModularArchContext.test.js.map +0 -1
  169. package/dist/hooks/__tests__/useNamespaces.test.d.ts +0 -2
  170. package/dist/hooks/__tests__/useNamespaces.test.d.ts.map +0 -1
  171. package/dist/hooks/__tests__/useNamespaces.test.js +0 -62
  172. package/dist/hooks/__tests__/useNamespaces.test.js.map +0 -1
  173. package/dist/hooks/index.d.ts +0 -9
  174. package/dist/hooks/index.d.ts.map +0 -1
  175. package/dist/hooks/index.js +0 -9
  176. package/dist/hooks/index.js.map +0 -1
  177. package/dist/hooks/useModularArchContext.d.ts +0 -5
  178. package/dist/hooks/useModularArchContext.d.ts.map +0 -1
  179. package/dist/hooks/useModularArchContext.js +0 -11
  180. package/dist/hooks/useModularArchContext.js.map +0 -1
  181. package/dist/hooks/useNamespaceSelector.d.ts +0 -10
  182. package/dist/hooks/useNamespaceSelector.d.ts.map +0 -1
  183. package/dist/hooks/useNamespaceSelector.js +0 -13
  184. package/dist/hooks/useNamespaceSelector.js.map +0 -1
  185. package/dist/hooks/useNamespaces.d.ts +0 -6
  186. package/dist/hooks/useNamespaces.d.ts.map +0 -1
  187. package/dist/hooks/useNamespaces.js +0 -34
  188. package/dist/hooks/useNamespaces.js.map +0 -1
  189. package/dist/hooks/useNotification.d.ts +0 -18
  190. package/dist/hooks/useNotification.d.ts.map +0 -1
  191. package/dist/hooks/useNotification.js +0 -75
  192. package/dist/hooks/useNotification.js.map +0 -1
  193. package/dist/hooks/useQueryParamNamespaces.d.ts +0 -2
  194. package/dist/hooks/useQueryParamNamespaces.d.ts.map +0 -1
  195. package/dist/hooks/useQueryParamNamespaces.js +0 -9
  196. package/dist/hooks/useQueryParamNamespaces.js.map +0 -1
  197. package/dist/hooks/useSettings.d.ts +0 -9
  198. package/dist/hooks/useSettings.d.ts.map +0 -1
  199. package/dist/hooks/useSettings.js +0 -72
  200. package/dist/hooks/useSettings.js.map +0 -1
  201. package/dist/hooks/useThemeContext.d.ts +0 -6
  202. package/dist/hooks/useThemeContext.d.ts.map +0 -1
  203. package/dist/hooks/useThemeContext.js +0 -10
  204. package/dist/hooks/useThemeContext.js.map +0 -1
  205. package/dist/hooks/useTimeBasedRefresh.d.ts +0 -4
  206. package/dist/hooks/useTimeBasedRefresh.d.ts.map +0 -1
  207. package/dist/hooks/useTimeBasedRefresh.js +0 -32
  208. package/dist/hooks/useTimeBasedRefresh.js.map +0 -1
  209. package/dist/images/logo-dark-theme.svg +0 -43
  210. package/dist/images/logo-light-theme.svg +0 -43
  211. package/dist/style/MUI-theme.scss +0 -995
  212. package/dist/style/index.d.ts +0 -2
  213. package/dist/style/index.d.ts.map +0 -1
  214. package/dist/style/index.js +0 -6
  215. package/dist/style/index.js.map +0 -1
  216. package/dist/style/index.ts +0 -6
  217. package/dist/utilities/appUtils.d.ts +0 -2
  218. package/dist/utilities/appUtils.d.ts.map +0 -1
  219. package/dist/utilities/appUtils.js +0 -4
  220. package/dist/utilities/appUtils.js.map +0 -1
  221. package/dist/utilities/const.d.ts +0 -13
  222. package/dist/utilities/const.d.ts.map +0 -1
  223. package/dist/utilities/const.js +0 -20
  224. package/dist/utilities/const.js.map +0 -1
  225. package/dist/utilities/useFetchState.d.ts +0 -92
  226. package/dist/utilities/useFetchState.d.ts.map +0 -1
  227. package/dist/utilities/useFetchState.js +0 -153
  228. package/dist/utilities/useFetchState.js.map +0 -1
  229. package/dist/utilities/useGenericObjectState.d.ts +0 -9
  230. package/dist/utilities/useGenericObjectState.d.ts.map +0 -1
  231. package/dist/utilities/useGenericObjectState.js +0 -14
  232. package/dist/utilities/useGenericObjectState.js.map +0 -1
  233. package/dist/utilities/useMakeFetchObject.d.ts +0 -4
  234. package/dist/utilities/useMakeFetchObject.d.ts.map +0 -1
  235. package/dist/utilities/useMakeFetchObject.js +0 -6
  236. package/dist/utilities/useMakeFetchObject.js.map +0 -1
  237. package/images/Icon-Layered_A_Black-RGB.svg +0 -66
  238. package/images/Icon-Storage-A-Black-RGB.svg +0 -3
  239. package/images/Icon-Sys_admin-A-Black-RGB.svg +0 -8
  240. package/images/UI_icon-Branch-RGB.svg +0 -1
  241. package/images/UI_icon-Connected-RGB.svg +0 -1
  242. package/images/UI_icon-Cubes-RGB.svg +0 -1
  243. package/images/UI_icon-Double_arrow_right-RGB.svg +0 -1
  244. package/images/UI_icon-Folder-RGB.svg +0 -1
  245. package/images/UI_icon-Notebook-Images-RGB.svg +0 -9
  246. package/images/UI_icon-Server-RGB.svg +0 -1
  247. package/images/UI_icon-Server_upload-RGB.svg +0 -1
  248. package/images/UI_icon-Shared_workspace-RGB.svg +0 -8
  249. package/images/UI_icon-Storage-RGB.svg +0 -1
  250. package/images/UI_icon-User-RGB.svg +0 -1
  251. package/images/UI_icon-Wrench-RGB.svg +0 -1
  252. package/images/empty-state-cluster-storage.svg +0 -472
  253. package/images/empty-state-data-connections.svg +0 -299
  254. package/images/empty-state-model-registries.svg +0 -9
  255. package/images/empty-state-model-serving.svg +0 -249
  256. package/images/empty-state-notebooks.svg +0 -392
  257. package/images/empty-state-pipelines.svg +0 -393
  258. package/images/empty-state-project-overview.svg +0 -482
  259. package/images/empty-state-projects-color.svg +0 -275
  260. package/images/empty-state-storage-classes.svg +0 -56
  261. package/images/icons/AcceleratorProfileIcon.ts +0 -13
  262. package/images/icons/ArtifactIcon.ts +0 -13
  263. package/images/icons/BuildIcon.ts +0 -13
  264. package/images/icons/ClusterSettingsIcon.ts +0 -13
  265. package/images/icons/ConfigurationIcon.ts +0 -13
  266. package/images/icons/CreateAndTrainIcon.ts +0 -13
  267. package/images/icons/DataConnectionIcon.ts +0 -13
  268. package/images/icons/DeployedModelIcon.ts +0 -13
  269. package/images/icons/DistributedWorkloadIcon.ts +0 -13
  270. package/images/icons/EnabledApplicationsIcon.ts +0 -13
  271. package/images/icons/ExperimentIcon.ts +0 -13
  272. package/images/icons/ExploreApplicationsIcon.ts +0 -13
  273. package/images/icons/GroupIcon.ts +0 -13
  274. package/images/icons/ModelIcon.ts +0 -13
  275. package/images/icons/ModelRegistryIcon.ts +0 -13
  276. package/images/icons/ModelServerIcon.ts +0 -13
  277. package/images/icons/MultiModelIcon.ts +0 -13
  278. package/images/icons/NotebookIcon.ts +0 -13
  279. package/images/icons/NotebookImageIcon.ts +0 -13
  280. package/images/icons/PermissionsIcon.ts +0 -13
  281. package/images/icons/PipelineExecutionIcon.ts +0 -13
  282. package/images/icons/PipelineIcon.ts +0 -13
  283. package/images/icons/PipelineRunIcon.ts +0 -13
  284. package/images/icons/ProjectIcon.ts +0 -13
  285. package/images/icons/RegisteredModelIcon.ts +0 -13
  286. package/images/icons/ResourcesIcon.ts +0 -13
  287. package/images/icons/ServingRuntimeIcon.ts +0 -13
  288. package/images/icons/SingleModelIcon.ts +0 -13
  289. package/images/icons/StorageClassIcon.ts +0 -13
  290. package/images/icons/StorageIcon.ts +0 -13
  291. package/images/icons/UserIcon.ts +0 -13
  292. package/images/icons/index.ts +0 -31
  293. package/images/index.ts +0 -62
  294. package/images/logo-dark-theme.svg +0 -43
  295. package/images/logo-light-theme.svg +0 -43
  296. package/images/no-models-model-registry.svg +0 -180
  297. package/images/no-versions-model-registry.svg +0 -149
  298. package/style/MUI-theme.scss +0 -995
  299. package/style/index.ts +0 -6
@@ -1,192 +0,0 @@
1
- import * as React from 'react';
2
- import { createComparativeValue, renderHook, standardUseFetchState, testHook } from './hooks';
3
- const useSayHello = (who, showCount = false) => {
4
- const countRef = React.useRef(0);
5
- countRef.current++;
6
- return `Hello ${who}!${showCount && countRef.current > 1 ? ` x${countRef.current}` : ''}`;
7
- };
8
- const useSayHelloDelayed = (who, delay = 0) => {
9
- const [speech, setSpeech] = React.useState('');
10
- React.useEffect(() => {
11
- const handle = setTimeout(() => setSpeech(`Hello ${who}!`), delay);
12
- return () => clearTimeout(handle);
13
- }, [who, delay]);
14
- return speech;
15
- };
16
- describe('hook test utils', () => {
17
- it('simple testHook', () => {
18
- const renderResult = testHook((who) => `Hello ${who}!`)('world');
19
- expect(renderResult).hookToBe('Hello world!');
20
- expect(renderResult).hookToHaveUpdateCount(1);
21
- renderResult.rerender('world');
22
- expect(renderResult).hookToBe('Hello world!');
23
- expect(renderResult).hookToBeStable();
24
- expect(renderResult).hookToHaveUpdateCount(2);
25
- });
26
- it('use testHook for rendering', () => {
27
- const renderResult = testHook(useSayHello)('world');
28
- expect(renderResult).hookToHaveUpdateCount(1);
29
- expect(renderResult).hookToBe('Hello world!');
30
- expect(renderResult).hookToStrictEqual('Hello world!');
31
- renderResult.rerender('world', false);
32
- expect(renderResult).hookToHaveUpdateCount(2);
33
- expect(renderResult).hookToBe('Hello world!');
34
- expect(renderResult).hookToStrictEqual('Hello world!');
35
- expect(renderResult).hookToBeStable();
36
- renderResult.rerender('world', true);
37
- expect(renderResult).hookToHaveUpdateCount(3);
38
- expect(renderResult).hookToBe('Hello world! x3');
39
- expect(renderResult).hookToStrictEqual('Hello world! x3');
40
- });
41
- it('use renderHook for rendering', () => {
42
- const renderResult = renderHook(({ who, showCount }) => useSayHello(who, showCount), {
43
- initialProps: {
44
- who: 'world',
45
- },
46
- });
47
- expect(renderResult).hookToHaveUpdateCount(1);
48
- expect(renderResult).hookToBe('Hello world!');
49
- expect(renderResult).hookToStrictEqual('Hello world!');
50
- renderResult.rerender({
51
- who: 'world',
52
- });
53
- expect(renderResult).hookToHaveUpdateCount(2);
54
- expect(renderResult).hookToBe('Hello world!');
55
- expect(renderResult).hookToStrictEqual('Hello world!');
56
- renderResult.rerender({ who: 'world' });
57
- expect(renderResult).hookToHaveUpdateCount(3);
58
- expect(renderResult).hookToBe('Hello world!');
59
- expect(renderResult).hookToStrictEqual('Hello world!');
60
- });
61
- it('should use waitForNextUpdate for async update testing', async () => {
62
- const renderResult = testHook(useSayHelloDelayed)('world');
63
- expect(renderResult).hookToHaveUpdateCount(1);
64
- expect(renderResult).hookToBe('');
65
- await renderResult.waitForNextUpdate();
66
- expect(renderResult).hookToHaveUpdateCount(2);
67
- expect(renderResult).hookToBe('Hello world!');
68
- });
69
- it('should throw error if waitForNextUpdate times out', async () => {
70
- const renderResult = renderHook(() => useSayHelloDelayed('', 20));
71
- await expect(renderResult.waitForNextUpdate({ timeout: 10, interval: 5 })).rejects.toThrow();
72
- expect(renderResult).hookToHaveUpdateCount(1);
73
- // unmount to test waiting for an update that will never happen
74
- renderResult.unmount();
75
- await expect(renderResult.waitForNextUpdate({ timeout: 500, interval: 10 })).rejects.toThrow();
76
- expect(renderResult).hookToHaveUpdateCount(1);
77
- });
78
- it('should not throw if waitForNextUpdate timeout is sufficient', async () => {
79
- const renderResult = renderHook(() => useSayHelloDelayed('', 20));
80
- await expect(renderResult.waitForNextUpdate({ timeout: 500, interval: 10 })).resolves.not.toThrow();
81
- expect(renderResult).hookToHaveUpdateCount(2);
82
- });
83
- it('should assert stability of results using isStable', () => {
84
- let testValue = 'test';
85
- const renderResult = renderHook(() => testValue);
86
- expect(renderResult).hookToHaveUpdateCount(1);
87
- renderResult.rerender();
88
- expect(renderResult).hookToHaveUpdateCount(2);
89
- expect(renderResult).hookToBeStable();
90
- testValue = 'new';
91
- renderResult.rerender();
92
- expect(renderResult).hookToHaveUpdateCount(3);
93
- renderResult.rerender();
94
- expect(renderResult).hookToHaveUpdateCount(4);
95
- expect(renderResult).hookToBeStable();
96
- });
97
- it(`should assert stability of result using isStable 'array'`, () => {
98
- let testValue = ['test'];
99
- // explicitly returns a new array each render to show the difference between `isStable` and `isStableArray`
100
- const renderResult = renderHook(() => testValue);
101
- expect(renderResult).hookToHaveUpdateCount(1);
102
- renderResult.rerender();
103
- expect(renderResult).hookToHaveUpdateCount(2);
104
- expect(renderResult).hookToBeStable();
105
- expect(renderResult).hookToBeStable([true]);
106
- testValue = ['new'];
107
- renderResult.rerender();
108
- expect(renderResult).hookToHaveUpdateCount(3);
109
- expect(renderResult).hookToBeStable([false]);
110
- renderResult.rerender();
111
- expect(renderResult).hookToHaveUpdateCount(4);
112
- expect(renderResult).hookToBeStable();
113
- expect(renderResult).hookToBeStable([true]);
114
- });
115
- it('standardUseFetchState should return an array matching the state of useFetchState', () => {
116
- expect(['test', false, undefined, () => null]).toStrictEqual(standardUseFetchState('test'));
117
- expect(['test', true, undefined, () => null]).toStrictEqual(standardUseFetchState('test', true));
118
- expect(['test', false, new Error('error'), () => null]).toStrictEqual(standardUseFetchState('test', false, new Error('error')));
119
- });
120
- describe('createComparativeValue', () => {
121
- it('should extract array values according to the boolean object', () => {
122
- expect([1, 2, 3]).toStrictEqual(createComparativeValue([1, 2, 3], [true, true, true]));
123
- expect([1, 2, 3]).toStrictEqual(createComparativeValue([1, 2, 3], [true, true, false]));
124
- expect([1, 2, 3]).toStrictEqual(createComparativeValue([1, 2, 4], [true, true, false]));
125
- expect([1, 2, 3]).toStrictEqual(createComparativeValue([1, 2, 4], [true, true]));
126
- expect([1, 2, 3]).not.toStrictEqual(createComparativeValue([1, 4, 3], [true, true, true]));
127
- expect([3, 2, 1]).not.toStrictEqual(createComparativeValue([1, 2, 3], [true, true, true]));
128
- expect([true, false]).not.toStrictEqual(createComparativeValue([false, true], [true, true]));
129
- // array comparison must have the same length, however the stability array may have a lesser length
130
- expect([1, 2, 3, 4]).toStrictEqual(createComparativeValue([1, 2, 3, 5], [true, true, true]));
131
- });
132
- it('should extract object values according to the boolean object', () => {
133
- expect({ a: 1, b: 2, c: 3 }).toStrictEqual(createComparativeValue({ a: 1, b: 2, c: 3 }, { a: true, b: true, c: true }));
134
- expect({ a: 1, b: 2, c: 3 }).toStrictEqual(createComparativeValue({ a: 1, b: 2, c: 3 }, { a: true, b: true, c: true }));
135
- expect({ a: 1, b: 2, c: 3 }).toStrictEqual(createComparativeValue({ a: 1, b: 2, c: 4 }, { a: true, b: true, c: false }));
136
- expect({ a: 1, b: 2, c: 3 }).toStrictEqual(createComparativeValue({ a: 1, b: 2, c: 4 }, { a: true, b: true }));
137
- expect({ a: 1, b: 2, c: 3 }).not.toStrictEqual(createComparativeValue({ a: 1, b: 4, c: 3 }, { a: true, b: true, c: true }));
138
- });
139
- it('should extract nested values', () => {
140
- const testValue = {
141
- a: 1,
142
- b: {
143
- c: 2,
144
- d: [{ e: 3 }, 'f', {}],
145
- },
146
- };
147
- expect(testValue).toStrictEqual(createComparativeValue({ a: 10, b: { c: 2, d: [null, 'f', null] } }, {
148
- b: {
149
- c: true,
150
- d: [false, true],
151
- },
152
- }));
153
- });
154
- it('should extract objects for identity comparisons', () => {
155
- const obj = {};
156
- const array = [];
157
- const testValue = {
158
- a: obj,
159
- b: array,
160
- c: {
161
- d: obj,
162
- e: array,
163
- },
164
- };
165
- expect(testValue).not.toStrictEqual(createComparativeValue({
166
- a: {},
167
- b: [],
168
- c: {
169
- d: {},
170
- e: [],
171
- },
172
- }, {
173
- a: true,
174
- b: true,
175
- c: { d: true, e: true },
176
- }));
177
- expect(testValue).toStrictEqual(createComparativeValue({
178
- a: obj,
179
- b: array,
180
- c: {
181
- d: obj,
182
- e: array,
183
- },
184
- }, {
185
- a: true,
186
- b: true,
187
- c: { d: true, e: true },
188
- }));
189
- });
190
- });
191
- });
192
- //# sourceMappingURL=hooks.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks.spec.js","sourceRoot":"","sources":["../../../../__tests__/unit/testUtils/hooks.spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE9F,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,SAAS,GAAG,KAAK,EAAE,EAAE;IACrD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,OAAO,SAAS,GAAG,IAAI,SAAS,IAAI,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC5F,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE;IACpD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC/C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QACnE,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IACjB,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACzB,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;QACzE,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC9C,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC/B,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,cAAc,EAAE,CAAC;QACtC,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QAEvD,YAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAEtC,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACvD,MAAM,CAAC,YAAY,CAAC,CAAC,cAAc,EAAE,CAAC;QAEtC,YAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAErC,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QACjD,MAAM,CAAC,YAAY,CAAC,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAKtC,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAS,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE;YAC1F,YAAY,EAAE;gBACZ,GAAG,EAAE,OAAO;aACb;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QAEvD,YAAY,CAAC,QAAQ,CAAC;YACpB,GAAG,EAAE,OAAO;SACb,CAAC,CAAC;QAEH,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QAEvD,YAAY,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QAExC,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,YAAY,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAElC,MAAM,YAAY,CAAC,iBAAiB,EAAE,CAAC;QACvC,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAElE,MAAM,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7F,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAE9C,+DAA+D;QAC/D,YAAY,CAAC,OAAO,EAAE,CAAC;QAEvB,MAAM,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAE/F,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAElE,MAAM,MAAM,CACV,YAAY,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC/D,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAEzB,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,IAAI,SAAS,GAAG,MAAM,CAAC;QACvB,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAE9C,YAAY,CAAC,QAAQ,EAAE,CAAC;QACxB,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,cAAc,EAAE,CAAC;QAEtC,SAAS,GAAG,KAAK,CAAC;QAClB,YAAY,CAAC,QAAQ,EAAE,CAAC;QACxB,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAE9C,YAAY,CAAC,QAAQ,EAAE,CAAC;QACxB,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,cAAc,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,IAAI,SAAS,GAAG,CAAC,MAAM,CAAC,CAAC;QACzB,2GAA2G;QAC3G,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAE9C,YAAY,CAAC,QAAQ,EAAE,CAAC;QACxB,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,cAAc,EAAE,CAAC;QACtC,MAAM,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5C,SAAS,GAAG,CAAC,KAAK,CAAC,CAAC;QACpB,YAAY,CAAC,QAAQ,EAAE,CAAC;QACxB,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAE7C,YAAY,CAAC,QAAQ,EAAE,CAAC;QACxB,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,cAAc,EAAE,CAAC;QACtC,MAAM,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;QAC1F,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5F,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CACzD,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CACpC,CAAC;QACF,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CACnE,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CACzD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACtC,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YACvF,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACxF,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACxF,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YACjF,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3F,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3F,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7F,mGAAmG;YACnG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;YACtE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,aAAa,CACxC,sBAAsB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAC5E,CAAC;YACF,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,aAAa,CACxC,sBAAsB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAC5E,CAAC;YACF,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,aAAa,CACxC,sBAAsB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAC7E,CAAC;YACF,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,aAAa,CACxC,sBAAsB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CACnE,CAAC;YACF,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa,CAC5C,sBAAsB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAC5E,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,SAAS,GAAG;gBAChB,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE;oBACD,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;iBACvB;aACF,CAAC;YACF,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,CAC7B,sBAAsB,CACpB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,EAC5C;gBACE,CAAC,EAAE;oBACD,CAAC,EAAE,IAAI;oBACP,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;iBACjB;aACF,CACF,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,GAAG,GAAG,EAAE,CAAC;YACf,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG;gBAChB,CAAC,EAAE,GAAG;gBACN,CAAC,EAAE,KAAK;gBACR,CAAC,EAAE;oBACD,CAAC,EAAE,GAAG;oBACN,CAAC,EAAE,KAAK;iBACT;aACF,CAAC;YAEF,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,aAAa,CACjC,sBAAsB,CACpB;gBACE,CAAC,EAAE,EAAE;gBACL,CAAC,EAAE,EAAE;gBACL,CAAC,EAAE;oBACD,CAAC,EAAE,EAAE;oBACL,CAAC,EAAE,EAAE;iBACN;aACF,EACD;gBACE,CAAC,EAAE,IAAI;gBACP,CAAC,EAAE,IAAI;gBACP,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE;aACxB,CACF,CACF,CAAC;YAEF,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,CAC7B,sBAAsB,CACpB;gBACE,CAAC,EAAE,GAAG;gBACN,CAAC,EAAE,KAAK;gBACR,CAAC,EAAE;oBACD,CAAC,EAAE,GAAG;oBACN,CAAC,EAAE,KAAK;iBACT;aACF,EACD;gBACE,CAAC,EAAE,IAAI;gBACP,CAAC,EAAE,IAAI;gBACP,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE;aACxB,CACF,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=errorUtils.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errorUtils.spec.d.ts","sourceRoot":"","sources":["../../../api/__tests__/errorUtils.spec.ts"],"names":[],"mappings":""}
@@ -1,27 +0,0 @@
1
- import { NotReadyError } from '../../utilities/useFetchState';
2
- import { handleRestFailures } from '../../api/errorUtils';
3
- import { mockGenericResponse } from '../../__tests__/__mocks__/mockGenericResponse';
4
- import { mockModArchResponse } from '../../api';
5
- describe('handleRestFailures', () => {
6
- it('should successfully return registered models', async () => {
7
- const modelRegistryMock = mockGenericResponse({});
8
- const result = await handleRestFailures(Promise.resolve(mockModArchResponse(modelRegistryMock)));
9
- expect(result.data).toStrictEqual(modelRegistryMock);
10
- });
11
- it('should handle and throw model registry errors', async () => {
12
- const statusMock = {
13
- error: {
14
- code: '',
15
- message: 'error',
16
- },
17
- };
18
- await expect(handleRestFailures(Promise.resolve(statusMock))).rejects.toThrow('error');
19
- });
20
- it('should handle common state errors ', async () => {
21
- await expect(handleRestFailures(Promise.reject(new NotReadyError('error')))).rejects.toThrow('error');
22
- });
23
- it('should handle other errors', async () => {
24
- await expect(handleRestFailures(Promise.reject(new Error('error')))).rejects.toThrow('Error communicating with server');
25
- });
26
- });
27
- //# sourceMappingURL=errorUtils.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errorUtils.spec.js","sourceRoot":"","sources":["../../../api/__tests__/errorUtils.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CACrC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC,CACxD,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,UAAU,GAAa;YAC3B,KAAK,EAAE;gBACL,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,OAAO;aACjB;SACF,CAAC;QAEF,MAAM,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAC1F,OAAO,CACR,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAClF,iCAAiC,CAClC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,16 +0,0 @@
1
- import { APIOptions } from '../api/types';
2
- import { ModArchBody } from '../types';
3
- export declare const mergeRequestInit: (opts?: APIOptions, specificOpts?: RequestInit) => RequestInit;
4
- export declare const restGET: <T>(host: string, path: string, queryParams?: Record<string, unknown>, options?: APIOptions) => Promise<T>;
5
- /** Standard POST */
6
- export declare const restCREATE: <T>(host: string, path: string, data: Record<string, unknown>, queryParams?: Record<string, unknown>, options?: APIOptions) => Promise<T>;
7
- /** POST -- but with file content instead of body data */
8
- export declare const restFILE: <T>(host: string, path: string, fileContents: string, queryParams?: Record<string, unknown>, options?: APIOptions) => Promise<T>;
9
- /** POST -- but no body data -- targets simple endpoints */
10
- export declare const restENDPOINT: <T>(host: string, path: string, queryParams?: Record<string, unknown>, options?: APIOptions) => Promise<T>;
11
- export declare const restUPDATE: <T>(host: string, path: string, data: Record<string, unknown>, queryParams?: Record<string, unknown>, options?: APIOptions) => Promise<T>;
12
- export declare const restPATCH: <T>(host: string, path: string, data: Record<string, unknown>, queryParams?: Record<string, unknown>, options?: APIOptions) => Promise<T>;
13
- export declare const restDELETE: <T>(host: string, path: string, data: Record<string, unknown>, queryParams?: Record<string, unknown>, options?: APIOptions) => Promise<T>;
14
- export declare const isModArchResponse: <T>(response: unknown) => response is ModArchBody<T>;
15
- export declare const assembleModArchBody: <T>(data: T) => ModArchBody<T>;
16
- //# sourceMappingURL=apiUtils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apiUtils.d.ts","sourceRoot":"","sources":["../../api/apiUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,eAAO,MAAM,gBAAgB,GAC3B,OAAM,UAAe,EACrB,eAAc,WAAgB,KAC7B,WAOD,CAAC;AAsEH,eAAO,MAAM,OAAO,GAAI,CAAC,EACvB,MAAM,MAAM,EACZ,MAAM,MAAM,EACZ,cAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACzC,UAAU,UAAU,KACnB,OAAO,CAAC,CAAC,CAIR,CAAC;AAEL,oBAAoB;AACpB,eAAO,MAAM,UAAU,GAAI,CAAC,EAC1B,MAAM,MAAM,EACZ,MAAM,MAAM,EACZ,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,cAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACzC,UAAU,UAAU,KACnB,OAAO,CAAC,CAAC,CAKR,CAAC;AAEL,yDAAyD;AACzD,eAAO,MAAM,QAAQ,GAAI,CAAC,EACxB,MAAM,MAAM,EACZ,MAAM,MAAM,EACZ,cAAc,MAAM,EACpB,cAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACzC,UAAU,UAAU,KACnB,OAAO,CAAC,CAAC,CAKR,CAAC;AAEL,2DAA2D;AAC3D,eAAO,MAAM,YAAY,GAAI,CAAC,EAC5B,MAAM,MAAM,EACZ,MAAM,MAAM,EACZ,cAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACzC,UAAU,UAAU,KACnB,OAAO,CAAC,CAAC,CAIR,CAAC;AAEL,eAAO,MAAM,UAAU,GAAI,CAAC,EAC1B,MAAM,MAAM,EACZ,MAAM,MAAM,EACZ,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,cAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACzC,UAAU,UAAU,KACnB,OAAO,CAAC,CAAC,CAKR,CAAC;AAEL,eAAO,MAAM,SAAS,GAAI,CAAC,EACzB,MAAM,MAAM,EACZ,MAAM,MAAM,EACZ,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,cAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACzC,UAAU,UAAU,KACnB,OAAO,CAAC,CAAC,CAKR,CAAC;AAEL,eAAO,MAAM,UAAU,GAAI,CAAC,EAC1B,MAAM,MAAM,EACZ,MAAM,MAAM,EACZ,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,cAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACzC,UAAU,UAAU,KACnB,OAAO,CAAC,CAAC,CAKR,CAAC;AAEL,eAAO,MAAM,iBAAiB,GAAI,CAAC,EAAE,UAAU,OAAO,KAAG,QAAQ,IAAI,WAAW,CAAC,CAAC,CAOjF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,CAAC,EAAE,MAAM,CAAC,KAAG,WAAW,CAAC,CAAC,CAE5D,CAAC"}
@@ -1,96 +0,0 @@
1
- export const mergeRequestInit = (opts = {}, specificOpts = {}) => ({
2
- ...specificOpts,
3
- ...(opts.signal && { signal: opts.signal }),
4
- headers: {
5
- ...(opts.headers ?? {}),
6
- ...(specificOpts.headers ?? {}),
7
- },
8
- });
9
- const callRestJSON = (host, path, requestInit, { data, fileContents, queryParams, parseJSON = true }) => {
10
- const { method, ...otherOptions } = requestInit;
11
- const sanitizedQueryParams = queryParams
12
- ? Object.entries(queryParams).reduce((acc, [key, value]) => {
13
- if (value) {
14
- return { ...acc, [key]: value };
15
- }
16
- return acc;
17
- }, {})
18
- : null;
19
- const searchParams = sanitizedQueryParams
20
- ? new URLSearchParams(sanitizedQueryParams).toString()
21
- : null;
22
- let requestData;
23
- let contentType;
24
- let formData;
25
- if (fileContents) {
26
- formData = new FormData();
27
- formData.append('uploadfile', new Blob([fileContents], { type: 'application/x-yaml' }), 'uploadedFile.yml');
28
- }
29
- else if (data) {
30
- // It's OK for contentType and requestData to BOTH be undefined for e.g. a GET request or POST with no body.
31
- contentType = 'application/json;charset=UTF-8';
32
- requestData = JSON.stringify(data);
33
- }
34
- return fetch(`${host}${path}${searchParams ? `?${searchParams}` : ''}`, {
35
- ...otherOptions,
36
- headers: {
37
- ...otherOptions.headers,
38
- ...(contentType && { 'Content-Type': contentType }),
39
- },
40
- method,
41
- body: formData ?? requestData,
42
- }).then((response) => response.text().then((fetchedData) => {
43
- if (parseJSON) {
44
- return JSON.parse(fetchedData);
45
- }
46
- return fetchedData;
47
- }));
48
- };
49
- export const restGET = (host, path, queryParams = {}, options) => callRestJSON(host, path, mergeRequestInit(options, { method: 'GET' }), {
50
- queryParams,
51
- parseJSON: options?.parseJSON,
52
- });
53
- /** Standard POST */
54
- export const restCREATE = (host, path, data, queryParams = {}, options) => callRestJSON(host, path, mergeRequestInit(options, { method: 'POST' }), {
55
- data,
56
- queryParams,
57
- parseJSON: options?.parseJSON,
58
- });
59
- /** POST -- but with file content instead of body data */
60
- export const restFILE = (host, path, fileContents, queryParams = {}, options) => callRestJSON(host, path, mergeRequestInit(options, { method: 'POST' }), {
61
- fileContents,
62
- queryParams,
63
- parseJSON: options?.parseJSON,
64
- });
65
- /** POST -- but no body data -- targets simple endpoints */
66
- export const restENDPOINT = (host, path, queryParams = {}, options) => callRestJSON(host, path, mergeRequestInit(options, { method: 'POST' }), {
67
- queryParams,
68
- parseJSON: options?.parseJSON,
69
- });
70
- export const restUPDATE = (host, path, data, queryParams = {}, options) => callRestJSON(host, path, mergeRequestInit(options, { method: 'PUT' }), {
71
- data,
72
- queryParams,
73
- parseJSON: options?.parseJSON,
74
- });
75
- export const restPATCH = (host, path, data, queryParams = {}, options) => callRestJSON(host, path, mergeRequestInit(options, { method: 'PATCH' }), {
76
- data,
77
- queryParams,
78
- parseJSON: options?.parseJSON,
79
- });
80
- export const restDELETE = (host, path, data, queryParams = {}, options) => callRestJSON(host, path, mergeRequestInit(options, { method: 'DELETE' }), {
81
- data,
82
- queryParams,
83
- parseJSON: options?.parseJSON,
84
- });
85
- export const isModArchResponse = (response) => {
86
- if (typeof response === 'object' && response !== null) {
87
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
88
- const modArchBody = response;
89
- return modArchBody.data !== undefined;
90
- }
91
- return false;
92
- };
93
- export const assembleModArchBody = (data) => ({
94
- data,
95
- });
96
- //# sourceMappingURL=apiUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apiUtils.js","sourceRoot":"","sources":["../../api/apiUtils.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { ModArchBody } from '../types';
2
- export declare const mockModArchResponse: <T>(data: T) => ModArchBody<T>;
3
- //# sourceMappingURL=const.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../api/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,eAAO,MAAM,mBAAmB,GAAI,CAAC,EAAE,MAAM,CAAC,KAAG,WAAW,CAAC,CAAC,CAE5D,CAAC"}
package/dist/api/const.js DELETED
@@ -1,4 +0,0 @@
1
- export const mockModArchResponse = (data) => ({
2
- data,
3
- });
4
- //# sourceMappingURL=const.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"const.js","sourceRoot":"","sources":["../../api/const.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAI,IAAO,EAAkB,EAAE,CAAC,CAAC;IAClE,IAAI;CACL,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const handleRestFailures: <T>(promise: Promise<T>) => Promise<T>;
2
- //# sourceMappingURL=errorUtils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errorUtils.d.ts","sourceRoot":"","sources":["../../api/errorUtils.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,SAAS,OAAO,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAmB/D,CAAC"}
@@ -1,22 +0,0 @@
1
- import { isCommonStateError } from '../utilities/useFetchState';
2
- const isError = (e) => typeof e === 'object' && e !== null && 'error' in e;
3
- export const handleRestFailures = (promise) => promise
4
- .then((result) => {
5
- if (isError(result)) {
6
- throw result;
7
- }
8
- return result;
9
- })
10
- .catch((e) => {
11
- if (isError(e)) {
12
- throw new Error(e.error.message);
13
- }
14
- if (isCommonStateError(e)) {
15
- // Common state errors are handled by useFetchState at storage level, let them deal with it
16
- throw e;
17
- }
18
- // eslint-disable-next-line no-console
19
- console.error('Unknown API error', e);
20
- throw new Error('Error communicating with server');
21
- });
22
- //# sourceMappingURL=errorUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errorUtils.js","sourceRoot":"","sources":["../../api/errorUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,OAAO,GAAG,CAAC,CAAU,EAAiB,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,IAAI,CAAC,CAAC;AAEnG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAI,OAAmB,EAAc,EAAE,CACvE,OAAO;KACJ,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;IACf,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACpB,MAAM,MAAM,CAAC;IACf,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;KACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IACX,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1B,2FAA2F;QAC3F,MAAM,CAAC,CAAC;IACV,CAAC;IACD,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;IACtC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- export * from './apiUtils';
2
- export * from './errorUtils';
3
- export * from './types';
4
- export * from './useAPIState';
5
- export * from './k8s';
6
- export * from './const';
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../api/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC"}
package/dist/api/index.js DELETED
@@ -1,8 +0,0 @@
1
- // Export all API utilities
2
- export * from './apiUtils';
3
- export * from './errorUtils';
4
- export * from './types';
5
- export * from './useAPIState';
6
- export * from './k8s';
7
- export * from './const';
8
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../api/index.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC"}
package/dist/api/k8s.d.ts DELETED
@@ -1,10 +0,0 @@
1
- import { APIOptions } from '../api/types';
2
- import { Namespace, UserSettings } from '../types';
3
- type K8sApiConfig = {
4
- BFF_API_VERSION: string;
5
- URL_PREFIX: string;
6
- };
7
- export declare const getUser: (hostPath: string, config: K8sApiConfig) => (opts: APIOptions) => Promise<UserSettings>;
8
- export declare const getNamespaces: (hostPath: string, config: K8sApiConfig) => (opts: APIOptions) => Promise<Namespace[]>;
9
- export {};
10
- //# sourceMappingURL=k8s.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"k8s.d.ts","sourceRoot":"","sources":["../../api/k8s.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGlD,KAAK,YAAY,GAAG;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAGF,eAAO,MAAM,OAAO,GACjB,UAAU,MAAM,EAAE,QAAQ,YAAY,MACtC,MAAM,UAAU,KAAG,OAAO,CAAC,YAAY,CAQpC,CAAC;AAEP,eAAO,MAAM,aAAa,GACvB,UAAU,MAAM,EAAE,QAAQ,YAAY,MACtC,MAAM,UAAU,KAAG,OAAO,CAAC,SAAS,EAAE,CAQnC,CAAC"}
package/dist/api/k8s.js DELETED
@@ -1,16 +0,0 @@
1
- import { handleRestFailures } from '../api/errorUtils';
2
- import { isModArchResponse, restGET } from '../api/apiUtils';
3
- // Functions now accept config object
4
- export const getUser = (hostPath, config) => (opts) => handleRestFailures(restGET(hostPath, `${config.URL_PREFIX}/api/${config.BFF_API_VERSION}/user`, {}, opts)).then((response) => {
5
- if (isModArchResponse(response)) {
6
- return response.data;
7
- }
8
- throw new Error('Invalid response format');
9
- });
10
- export const getNamespaces = (hostPath, config) => (opts) => handleRestFailures(restGET(hostPath, `${config.URL_PREFIX}/api/${config.BFF_API_VERSION}/namespaces`, {}, opts)).then((response) => {
11
- if (isModArchResponse(response)) {
12
- return response.data;
13
- }
14
- throw new Error('Invalid response format');
15
- });
16
- //# sourceMappingURL=k8s.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"k8s.js","sourceRoot":"","sources":["../../api/k8s.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAS5D,qCAAqC;AACrC,MAAM,CAAC,MAAM,OAAO,GAClB,CAAC,QAAgB,EAAE,MAAoB,EAAE,EAAE,CAC3C,CAAC,IAAgB,EAAyB,EAAE,CAC1C,kBAAkB,CAChB,OAAO,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,UAAU,QAAQ,MAAM,CAAC,eAAe,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,CACvF,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;IAClB,IAAI,iBAAiB,CAAe,QAAQ,CAAC,EAAE,CAAC;QAC9C,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEP,MAAM,CAAC,MAAM,aAAa,GACxB,CAAC,QAAgB,EAAE,MAAoB,EAAE,EAAE,CAC3C,CAAC,IAAgB,EAAwB,EAAE,CACzC,kBAAkB,CAChB,OAAO,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,UAAU,QAAQ,MAAM,CAAC,eAAe,aAAa,EAAE,EAAE,EAAE,IAAI,CAAC,CAC7F,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;IAClB,IAAI,iBAAiB,CAAc,QAAQ,CAAC,EAAE,CAAC;QAC7C,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC"}
@@ -1,19 +0,0 @@
1
- export type APIOptions = {
2
- dryRun?: boolean;
3
- signal?: AbortSignal;
4
- parseJSON?: boolean;
5
- headers?: Record<string, string>;
6
- };
7
- export type APIError = {
8
- error: {
9
- code: string;
10
- message: string;
11
- };
12
- };
13
- export type APIState<T> = {
14
- /** If API will successfully call */
15
- apiAvailable: boolean;
16
- /** The available API functions */
17
- api: T;
18
- };
19
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../api/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;IACxB,oCAAoC;IACpC,YAAY,EAAE,OAAO,CAAC;IACtB,kCAAkC;IAClC,GAAG,EAAE,CAAC,CAAC;CACR,CAAC"}
package/dist/api/types.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../api/types.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- import { APIState } from '../api/types';
2
- export declare const useAPIState: <T>(hostPath: string | null, createAPI: (path: string) => T) => [apiState: APIState<T>, refreshAPIState: () => void];
3
- //# sourceMappingURL=useAPIState.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAPIState.d.ts","sourceRoot":"","sources":["../../api/useAPIState.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,eAAO,MAAM,WAAW,GAAI,CAAC,EAC3B,UAAU,MAAM,GAAG,IAAI,EACvB,WAAW,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,KAC7B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,IAAI,CAuBrD,CAAC"}
@@ -1,22 +0,0 @@
1
- import * as React from 'react';
2
- export const useAPIState = (hostPath, createAPI) => {
3
- const [internalAPIToggleState, setInternalAPIToggleState] = React.useState(false);
4
- const refreshAPIState = React.useCallback(() => {
5
- setInternalAPIToggleState((v) => !v);
6
- }, []);
7
- const apiState = React.useMemo(() => {
8
- let path = hostPath;
9
- if (!path) {
10
- // TODO: we need to figure out maybe a stopgap or something
11
- path = '';
12
- }
13
- const api = createAPI(path);
14
- return {
15
- apiAvailable: !!path,
16
- api,
17
- };
18
- // eslint-disable-next-line react-hooks/exhaustive-deps
19
- }, [createAPI, hostPath, internalAPIToggleState]);
20
- return [apiState, refreshAPIState];
21
- };
22
- //# sourceMappingURL=useAPIState.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAPIState.js","sourceRoot":"","sources":["../../api/useAPIState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,QAAuB,EACvB,SAA8B,EACwB,EAAE;IACxD,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElF,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC7C,yBAAyB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAc,GAAG,EAAE;QAC/C,IAAI,IAAI,GAAG,QAAQ,CAAC;QACpB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,2DAA2D;YAC3D,IAAI,GAAG,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAE5B,OAAO;YACL,YAAY,EAAE,CAAC,CAAC,IAAI;YACpB,GAAG;SACJ,CAAC;QACF,uDAAuD;IACzD,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAElD,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;AACrC,CAAC,CAAC"}
@@ -1,8 +0,0 @@
1
- import React from 'react';
2
- interface NavBarProps {
3
- username?: string;
4
- onLogout: () => void;
5
- }
6
- declare const NavBar: React.FC<NavBarProps>;
7
- export default NavBar;
8
- //# sourceMappingURL=NavBar.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NavBar.d.ts","sourceRoot":"","sources":["../../components/NavBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AA2B1B,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA0FjC,CAAC;AAEF,eAAe,MAAM,CAAC"}