@looker/api-explorer 0.9.22 → 0.9.27

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 (353) hide show
  1. package/CHANGELOG.md +126 -0
  2. package/e2e/e2e.spec.ts +1 -1
  3. package/lib/ApiExplorer.d.ts +4 -43
  4. package/lib/ApiExplorer.js +71 -93
  5. package/lib/ApiExplorer.js.map +1 -1
  6. package/lib/App.d.ts +1 -0
  7. package/lib/App.js +29 -0
  8. package/lib/App.js.map +1 -0
  9. package/lib/StandaloneApiExplorer.js +36 -53
  10. package/lib/StandaloneApiExplorer.js.map +1 -1
  11. package/lib/components/Banner/Banner.d.ts +8 -0
  12. package/lib/components/Banner/Banner.js +70 -0
  13. package/lib/components/Banner/Banner.js.map +1 -0
  14. package/lib/components/Banner/index.d.ts +1 -0
  15. package/lib/components/Banner/index.js +14 -0
  16. package/lib/components/Banner/index.js.map +1 -0
  17. package/lib/components/DocMarkdown/DocMarkdown.js +5 -5
  18. package/lib/components/DocMarkdown/DocMarkdown.js.map +1 -1
  19. package/lib/components/DocSDKs/DocSDKs.js +3 -3
  20. package/lib/components/DocSDKs/DocSDKs.js.map +1 -1
  21. package/lib/components/DocSdkUsage/DocSdkUsage.js +3 -6
  22. package/lib/components/DocSdkUsage/DocSdkUsage.js.map +1 -1
  23. package/lib/components/DocSource/DocSource.js +5 -7
  24. package/lib/components/DocSource/DocSource.js.map +1 -1
  25. package/lib/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.d.ts +1 -1
  26. package/lib/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js +152 -8
  27. package/lib/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js.map +1 -1
  28. package/lib/components/ExploreType/ExploreType.js +3 -5
  29. package/lib/components/ExploreType/ExploreType.js.map +1 -1
  30. package/lib/components/Header/Header.d.ts +2 -5
  31. package/lib/components/Header/Header.js +1 -5
  32. package/lib/components/Header/Header.js.map +1 -1
  33. package/lib/components/SelectorContainer/ApiSpecSelector.d.ts +2 -5
  34. package/lib/components/SelectorContainer/ApiSpecSelector.js +5 -5
  35. package/lib/components/SelectorContainer/ApiSpecSelector.js.map +1 -1
  36. package/lib/components/SelectorContainer/SdkLanguageSelector.js +1 -1
  37. package/lib/components/SelectorContainer/SdkLanguageSelector.js.map +1 -1
  38. package/lib/components/SelectorContainer/SelectorContainer.d.ts +2 -5
  39. package/lib/components/SelectorContainer/SelectorContainer.js +3 -7
  40. package/lib/components/SelectorContainer/SelectorContainer.js.map +1 -1
  41. package/lib/components/SideNav/SideNav.d.ts +2 -5
  42. package/lib/components/SideNav/SideNav.js +1 -1
  43. package/lib/components/SideNav/SideNav.js.map +1 -1
  44. package/lib/components/common/Loader.d.ts +1 -1
  45. package/lib/components/common/Loader.js.map +1 -1
  46. package/lib/components/index.d.ts +1 -0
  47. package/lib/components/index.js +8 -0
  48. package/lib/components/index.js.map +1 -1
  49. package/lib/esm/ApiExplorer.js +71 -92
  50. package/lib/esm/ApiExplorer.js.map +1 -1
  51. package/lib/esm/App.js +19 -0
  52. package/lib/esm/App.js.map +1 -0
  53. package/lib/esm/StandaloneApiExplorer.js +36 -53
  54. package/lib/esm/StandaloneApiExplorer.js.map +1 -1
  55. package/lib/esm/components/Banner/Banner.js +54 -0
  56. package/lib/esm/components/Banner/Banner.js.map +1 -0
  57. package/lib/esm/components/Banner/index.js +2 -0
  58. package/lib/esm/{test-utils/envAdaptor.js.map → components/Banner/index.js.map} +1 -1
  59. package/lib/esm/components/DocMarkdown/DocMarkdown.js +3 -3
  60. package/lib/esm/components/DocMarkdown/DocMarkdown.js.map +1 -1
  61. package/lib/esm/components/DocSDKs/DocSDKs.js +2 -2
  62. package/lib/esm/components/DocSDKs/DocSDKs.js.map +1 -1
  63. package/lib/esm/components/DocSdkUsage/DocSdkUsage.js +5 -7
  64. package/lib/esm/components/DocSdkUsage/DocSdkUsage.js.map +1 -1
  65. package/lib/esm/components/DocSource/DocSource.js +4 -5
  66. package/lib/esm/components/DocSource/DocSource.js.map +1 -1
  67. package/lib/esm/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js +153 -6
  68. package/lib/esm/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js.map +1 -1
  69. package/lib/esm/components/ExploreType/ExploreType.js +3 -4
  70. package/lib/esm/components/ExploreType/ExploreType.js.map +1 -1
  71. package/lib/esm/components/Header/Header.js +1 -5
  72. package/lib/esm/components/Header/Header.js.map +1 -1
  73. package/lib/esm/components/SelectorContainer/ApiSpecSelector.js +4 -5
  74. package/lib/esm/components/SelectorContainer/ApiSpecSelector.js.map +1 -1
  75. package/lib/esm/components/SelectorContainer/SdkLanguageSelector.js +2 -2
  76. package/lib/esm/components/SelectorContainer/SdkLanguageSelector.js.map +1 -1
  77. package/lib/esm/components/SelectorContainer/SelectorContainer.js +3 -7
  78. package/lib/esm/components/SelectorContainer/SelectorContainer.js.map +1 -1
  79. package/lib/esm/components/SideNav/SideNav.js +2 -2
  80. package/lib/esm/components/SideNav/SideNav.js.map +1 -1
  81. package/lib/esm/components/common/Loader.js.map +1 -1
  82. package/lib/esm/components/index.js +1 -0
  83. package/lib/esm/components/index.js.map +1 -1
  84. package/lib/esm/index.js +5 -18
  85. package/lib/esm/index.js.map +1 -1
  86. package/lib/esm/routes/AppRouter.js +3 -7
  87. package/lib/esm/routes/AppRouter.js.map +1 -1
  88. package/lib/esm/scenes/DiffScene/DiffScene.js +43 -99
  89. package/lib/esm/scenes/DiffScene/DiffScene.js.map +1 -1
  90. package/lib/esm/scenes/DiffScene/DocDiff/DiffItem.js +9 -13
  91. package/lib/esm/scenes/DiffScene/DocDiff/DiffItem.js.map +1 -1
  92. package/lib/esm/scenes/DiffScene/DocDiff/DocDiff.js +2 -2
  93. package/lib/esm/scenes/DiffScene/DocDiff/DocDiff.js.map +1 -1
  94. package/lib/esm/scenes/MethodScene/MethodScene.js +12 -15
  95. package/lib/esm/scenes/MethodScene/MethodScene.js.map +1 -1
  96. package/lib/esm/state/index.js +2 -0
  97. package/lib/esm/state/index.js.map +1 -1
  98. package/lib/esm/state/lodes/index.js +3 -0
  99. package/lib/{test-utils/envAdaptor.js.map → esm/state/lodes/index.js.map} +1 -1
  100. package/lib/esm/state/lodes/sagas.js +25 -0
  101. package/lib/esm/state/lodes/sagas.js.map +1 -0
  102. package/lib/esm/state/lodes/selectors.js +5 -0
  103. package/lib/esm/state/lodes/selectors.js.map +1 -0
  104. package/lib/esm/state/lodes/slice.js +30 -0
  105. package/lib/esm/state/lodes/slice.js.map +1 -0
  106. package/lib/esm/state/settings/sagas.js +28 -16
  107. package/lib/esm/state/settings/sagas.js.map +1 -1
  108. package/lib/esm/state/settings/selectors.js +5 -5
  109. package/lib/esm/state/settings/selectors.js.map +1 -1
  110. package/lib/esm/state/settings/slice.js +8 -8
  111. package/lib/esm/state/settings/slice.js.map +1 -1
  112. package/lib/esm/state/specs/index.js +3 -0
  113. package/lib/esm/state/specs/index.js.map +1 -0
  114. package/lib/esm/state/specs/sagas.js +58 -0
  115. package/lib/esm/state/specs/sagas.js.map +1 -0
  116. package/lib/esm/state/specs/selectors.js +8 -0
  117. package/lib/esm/state/specs/selectors.js.map +1 -0
  118. package/lib/esm/state/specs/slice.js +55 -0
  119. package/lib/esm/state/specs/slice.js.map +1 -0
  120. package/lib/esm/state/store.js +57 -3
  121. package/lib/esm/state/store.js.map +1 -1
  122. package/lib/esm/test-utils/index.js +1 -2
  123. package/lib/esm/test-utils/index.js.map +1 -1
  124. package/lib/esm/test-utils/lodes.js +12 -0
  125. package/lib/esm/test-utils/lodes.js.map +1 -0
  126. package/lib/esm/test-utils/redux.js +16 -9
  127. package/lib/esm/test-utils/redux.js.map +1 -1
  128. package/lib/esm/utils/adaptorUtils.js +101 -0
  129. package/lib/esm/utils/adaptorUtils.js.map +1 -0
  130. package/lib/esm/utils/apixAdaptor.js +48 -0
  131. package/lib/esm/utils/apixAdaptor.js.map +1 -0
  132. package/lib/esm/utils/index.js +3 -2
  133. package/lib/esm/utils/index.js.map +1 -1
  134. package/lib/esm/utils/lodeUtils.js +3 -7
  135. package/lib/esm/utils/lodeUtils.js.map +1 -1
  136. package/lib/esm/utils/path.js +27 -2
  137. package/lib/esm/utils/path.js.map +1 -1
  138. package/lib/index.d.ts +5 -1
  139. package/lib/index.js +59 -17
  140. package/lib/index.js.map +1 -1
  141. package/lib/routes/AppRouter.d.ts +1 -5
  142. package/lib/routes/AppRouter.js +3 -7
  143. package/lib/routes/AppRouter.js.map +1 -1
  144. package/lib/scenes/DiffScene/DiffScene.js +45 -100
  145. package/lib/scenes/DiffScene/DiffScene.js.map +1 -1
  146. package/lib/scenes/DiffScene/DocDiff/DiffItem.js +9 -13
  147. package/lib/scenes/DiffScene/DocDiff/DiffItem.js.map +1 -1
  148. package/lib/scenes/DiffScene/DocDiff/DocDiff.js +2 -2
  149. package/lib/scenes/DiffScene/DocDiff/DocDiff.js.map +1 -1
  150. package/lib/scenes/MethodScene/MethodScene.d.ts +0 -4
  151. package/lib/scenes/MethodScene/MethodScene.js +11 -13
  152. package/lib/scenes/MethodScene/MethodScene.js.map +1 -1
  153. package/lib/state/index.d.ts +2 -0
  154. package/lib/state/index.js +26 -0
  155. package/lib/state/index.js.map +1 -1
  156. package/lib/state/lodes/index.d.ts +2 -0
  157. package/lib/state/lodes/index.js +32 -0
  158. package/lib/state/lodes/index.js.map +1 -0
  159. package/lib/state/lodes/sagas.d.ts +1 -0
  160. package/lib/state/lodes/sagas.js +34 -0
  161. package/lib/state/lodes/sagas.js.map +1 -0
  162. package/lib/state/lodes/selectors.d.ts +3 -0
  163. package/lib/state/lodes/selectors.js +17 -0
  164. package/lib/state/lodes/selectors.js.map +1 -0
  165. package/lib/state/lodes/slice.d.ts +29 -0
  166. package/lib/state/lodes/slice.js +45 -0
  167. package/lib/state/lodes/slice.js.map +1 -0
  168. package/lib/state/settings/sagas.js +28 -15
  169. package/lib/state/settings/sagas.js.map +1 -1
  170. package/lib/state/settings/selectors.d.ts +1 -1
  171. package/lib/state/settings/selectors.js +5 -5
  172. package/lib/state/settings/selectors.js.map +1 -1
  173. package/lib/state/settings/slice.d.ts +14 -14
  174. package/lib/state/settings/slice.js +13 -13
  175. package/lib/state/settings/slice.js.map +1 -1
  176. package/lib/state/specs/index.d.ts +2 -0
  177. package/lib/state/specs/index.js +32 -0
  178. package/lib/state/specs/index.js.map +1 -0
  179. package/lib/state/specs/sagas.d.ts +1 -0
  180. package/lib/state/specs/sagas.js +67 -0
  181. package/lib/state/specs/sagas.js.map +1 -0
  182. package/lib/state/specs/selectors.d.ts +4 -0
  183. package/lib/state/specs/selectors.js +20 -0
  184. package/lib/state/specs/selectors.js.map +1 -0
  185. package/lib/state/specs/slice.d.ts +49 -0
  186. package/lib/state/specs/slice.js +70 -0
  187. package/lib/state/specs/slice.js.map +1 -0
  188. package/lib/state/store.d.ts +6 -0
  189. package/lib/state/store.js +60 -2
  190. package/lib/state/store.js.map +1 -1
  191. package/lib/test-data/declarations.d.ts +2 -0
  192. package/lib/test-data/declarations.js +24 -0
  193. package/lib/test-data/declarations.js.map +1 -0
  194. package/lib/test-data/examples.d.ts +2 -0
  195. package/lib/test-data/index.d.ts +3 -0
  196. package/lib/test-data/index.js +29 -36
  197. package/lib/test-data/index.js.map +1 -1
  198. package/lib/test-data/specs.d.ts +10 -0
  199. package/lib/test-data/specs.js +6 -6
  200. package/lib/test-data/specs.js.map +1 -1
  201. package/lib/test-utils/index.d.ts +1 -2
  202. package/lib/test-utils/index.js +12 -28
  203. package/lib/test-utils/index.js.map +1 -1
  204. package/lib/test-utils/lodes.d.ts +4 -0
  205. package/lib/test-utils/lodes.js +23 -0
  206. package/lib/test-utils/lodes.js.map +1 -0
  207. package/lib/test-utils/redux.d.ts +4 -1
  208. package/lib/test-utils/redux.js +18 -9
  209. package/lib/test-utils/redux.js.map +1 -1
  210. package/lib/utils/adaptorUtils.d.ts +30 -0
  211. package/lib/utils/adaptorUtils.js +124 -0
  212. package/lib/utils/adaptorUtils.js.map +1 -0
  213. package/lib/utils/apixAdaptor.d.ts +15 -0
  214. package/lib/utils/apixAdaptor.js +67 -0
  215. package/lib/utils/apixAdaptor.js.map +1 -0
  216. package/lib/utils/index.d.ts +3 -2
  217. package/lib/utils/index.js +30 -39
  218. package/lib/utils/index.js.map +1 -1
  219. package/lib/utils/lodeUtils.d.ts +2 -2
  220. package/lib/utils/lodeUtils.js +3 -7
  221. package/lib/utils/lodeUtils.js.map +1 -1
  222. package/lib/utils/path.d.ts +3 -0
  223. package/lib/utils/path.js +32 -2
  224. package/lib/utils/path.js.map +1 -1
  225. package/package.json +11 -10
  226. package/public/Looker.3.1.json +1343 -412
  227. package/public/Looker.4.0.json +3305 -661
  228. package/src/ApiExplorer.tsx +114 -144
  229. package/src/{index.tsx → App.tsx} +0 -0
  230. package/src/StandaloneApiExplorer.tsx +38 -61
  231. package/src/components/Banner/Banner.spec.tsx +99 -0
  232. package/src/components/Banner/Banner.tsx +87 -0
  233. package/src/{reducers → components/Banner}/index.ts +1 -1
  234. package/src/components/DocMarkdown/DocMarkdown.tsx +3 -3
  235. package/src/components/DocSDKs/DocSDKs.tsx +4 -5
  236. package/src/components/DocSdkUsage/DocSdkUsage.spec.tsx +2 -2
  237. package/src/components/DocSdkUsage/DocSdkUsage.tsx +5 -5
  238. package/src/components/DocSource/DocSource.tsx +4 -3
  239. package/src/components/ErrorBoundary/components/SomethingWentWrong/SomethingWentWrong.spec.tsx +1 -1
  240. package/src/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.tsx +170 -6
  241. package/src/components/ExploreType/ExploreType.spec.tsx +0 -23
  242. package/src/components/ExploreType/ExploreType.tsx +5 -6
  243. package/src/components/ExploreType/exploreUtils.spec.tsx +1 -1
  244. package/src/components/Header/Header.spec.tsx +9 -30
  245. package/src/components/Header/Header.tsx +3 -10
  246. package/src/components/SelectorContainer/ApiSpecSelector.spec.tsx +31 -44
  247. package/src/components/SelectorContainer/ApiSpecSelector.tsx +6 -12
  248. package/src/components/SelectorContainer/SdkLanguageSelector.spec.tsx +3 -5
  249. package/src/components/SelectorContainer/SdkLanguageSelector.tsx +2 -2
  250. package/src/components/SelectorContainer/SelectorContainer.spec.tsx +7 -26
  251. package/src/components/SelectorContainer/SelectorContainer.tsx +4 -10
  252. package/src/components/SideNav/SideNav.spec.tsx +12 -45
  253. package/src/components/SideNav/SideNav.tsx +3 -9
  254. package/src/components/common/Loader.tsx +1 -1
  255. package/src/components/index.ts +1 -0
  256. package/src/{reducers/spec/index.ts → index.ts} +4 -2
  257. package/src/routes/AppRouter.tsx +26 -37
  258. package/src/scenes/DiffScene/DiffScene.tsx +47 -84
  259. package/src/scenes/DiffScene/DocDiff/DiffItem.spec.tsx +9 -16
  260. package/src/scenes/DiffScene/DocDiff/DiffItem.tsx +11 -12
  261. package/src/scenes/DiffScene/DocDiff/DocDiff.tsx +2 -2
  262. package/src/scenes/MethodScene/MethodScene.tsx +12 -18
  263. package/src/state/index.ts +2 -0
  264. package/src/{context → state/lodes}/index.ts +2 -1
  265. package/src/state/lodes/sagas.spec.ts +92 -0
  266. package/src/state/lodes/sagas.ts +51 -0
  267. package/src/state/lodes/selectors.spec.ts +42 -0
  268. package/src/{reducers/spec/actions.spec.ts → state/lodes/selectors.ts} +9 -11
  269. package/src/{test-utils/render_with_lode.tsx → state/lodes/slice.ts} +37 -37
  270. package/src/state/settings/sagas.spec.ts +25 -21
  271. package/src/state/settings/sagas.ts +16 -16
  272. package/src/state/settings/selectors.spec.ts +1 -5
  273. package/src/state/settings/selectors.ts +5 -5
  274. package/src/state/settings/slice.ts +12 -7
  275. package/src/{context/lode → state/specs}/index.ts +2 -1
  276. package/src/state/specs/sagas.spec.ts +135 -0
  277. package/src/state/specs/sagas.ts +81 -0
  278. package/src/{test-utils/envAdaptor.ts → state/specs/selectors.ts} +10 -4
  279. package/src/state/specs/slice.ts +109 -0
  280. package/src/state/store.ts +65 -2
  281. package/src/{context/lode/LodeContext.ts → test-data/declarations.ts} +17 -14
  282. package/src/test-data/index.ts +2 -8
  283. package/src/test-data/specs.ts +6 -6
  284. package/src/test-utils/index.ts +1 -5
  285. package/src/{reducers/spec/reducer.spec.ts → test-utils/lodes.tsx} +16 -19
  286. package/src/test-utils/redux.tsx +31 -8
  287. package/src/utils/adaptorUtils.ts +181 -0
  288. package/src/utils/apixAdaptor.ts +72 -0
  289. package/src/utils/index.ts +3 -8
  290. package/src/utils/lodeUtils.ts +4 -6
  291. package/src/utils/path.ts +25 -2
  292. package/webpack.dev.config.js +3 -0
  293. package/webpack.prod.config.js +4 -0
  294. package/lib/context/index.d.ts +0 -1
  295. package/lib/context/index.js +0 -20
  296. package/lib/context/index.js.map +0 -1
  297. package/lib/context/lode/LodeContext.d.ts +0 -9
  298. package/lib/context/lode/LodeContext.js +0 -21
  299. package/lib/context/lode/LodeContext.js.map +0 -1
  300. package/lib/context/lode/index.d.ts +0 -1
  301. package/lib/context/lode/index.js +0 -20
  302. package/lib/context/lode/index.js.map +0 -1
  303. package/lib/esm/context/index.js +0 -2
  304. package/lib/esm/context/index.js.map +0 -1
  305. package/lib/esm/context/lode/LodeContext.js +0 -11
  306. package/lib/esm/context/lode/LodeContext.js.map +0 -1
  307. package/lib/esm/context/lode/index.js +0 -2
  308. package/lib/esm/context/lode/index.js.map +0 -1
  309. package/lib/esm/reducers/index.js +0 -2
  310. package/lib/esm/reducers/index.js.map +0 -1
  311. package/lib/esm/reducers/spec/actions.js +0 -19
  312. package/lib/esm/reducers/spec/actions.js.map +0 -1
  313. package/lib/esm/reducers/spec/index.js +0 -4
  314. package/lib/esm/reducers/spec/index.js.map +0 -1
  315. package/lib/esm/reducers/spec/reducer.js +0 -62
  316. package/lib/esm/reducers/spec/reducer.js.map +0 -1
  317. package/lib/esm/reducers/spec/utils.js +0 -74
  318. package/lib/esm/reducers/spec/utils.js.map +0 -1
  319. package/lib/esm/test-utils/envAdaptor.js +0 -5
  320. package/lib/esm/test-utils/render_with_lode.js +0 -19
  321. package/lib/esm/test-utils/render_with_lode.js.map +0 -1
  322. package/lib/esm/utils/envAdaptor.js +0 -84
  323. package/lib/esm/utils/envAdaptor.js.map +0 -1
  324. package/lib/reducers/index.d.ts +0 -1
  325. package/lib/reducers/index.js +0 -19
  326. package/lib/reducers/index.js.map +0 -1
  327. package/lib/reducers/spec/actions.d.ts +0 -20
  328. package/lib/reducers/spec/actions.js +0 -31
  329. package/lib/reducers/spec/actions.js.map +0 -1
  330. package/lib/reducers/spec/index.d.ts +0 -3
  331. package/lib/reducers/spec/index.js +0 -45
  332. package/lib/reducers/spec/index.js.map +0 -1
  333. package/lib/reducers/spec/reducer.d.ts +0 -7
  334. package/lib/reducers/spec/reducer.js +0 -73
  335. package/lib/reducers/spec/reducer.js.map +0 -1
  336. package/lib/reducers/spec/utils.d.ts +0 -7
  337. package/lib/reducers/spec/utils.js +0 -91
  338. package/lib/reducers/spec/utils.js.map +0 -1
  339. package/lib/test-utils/envAdaptor.d.ts +0 -2
  340. package/lib/test-utils/envAdaptor.js +0 -15
  341. package/lib/test-utils/render_with_lode.d.ts +0 -7
  342. package/lib/test-utils/render_with_lode.js +0 -36
  343. package/lib/test-utils/render_with_lode.js.map +0 -1
  344. package/lib/utils/envAdaptor.d.ts +0 -31
  345. package/lib/utils/envAdaptor.js +0 -106
  346. package/lib/utils/envAdaptor.js.map +0 -1
  347. package/src/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/somethingWentWrong.svg +0 -45
  348. package/src/reducers/spec/actions.ts +0 -62
  349. package/src/reducers/spec/reducer.ts +0 -69
  350. package/src/reducers/spec/utils.spec.ts +0 -138
  351. package/src/reducers/spec/utils.ts +0 -123
  352. package/src/utils/envAdaptor.spec.ts +0 -50
  353. package/src/utils/envAdaptor.ts +0 -147
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/state/lodes/selectors.ts"],"names":["selectLodeState","state","lodes","selectExamplesLode","examples","selectDeclarationsLode","declarations"],"mappings":"AA2BA,IAAMA,eAAe,GAAIC,KAAD,IAAsBA,KAAK,CAACC,KAApD;;AAEA,OAAO,IAAMC,kBAAkB,GAAIF,KAAD,IAChCD,eAAe,CAACC,KAAD,CAAf,CAAuBG,QADlB;AAGP,OAAO,IAAMC,sBAAsB,GAAIJ,KAAD,IACpCD,eAAe,CAACC,KAAD,CAAf,CAAuBK,YADlB","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nimport type { RootState } from '../store'\n\nconst selectLodeState = (state: RootState) => state.lodes\n\nexport const selectExamplesLode = (state: RootState) =>\n selectLodeState(state).examples\n\nexport const selectDeclarationsLode = (state: RootState) =>\n selectLodeState(state).declarations\n"],"file":"selectors.js"}
@@ -0,0 +1,30 @@
1
+ import { createSliceHooks } from '@looker/redux';
2
+ import { createSlice } from '@reduxjs/toolkit';
3
+ import { saga } from './sagas';
4
+ export var defaultLodesState = {
5
+ examples: undefined,
6
+ declarations: undefined
7
+ };
8
+ export var lodesSlice = createSlice({
9
+ name: 'lodes',
10
+ initialState: defaultLodesState,
11
+ reducers: {
12
+ initLodesAction(_state, _action) {},
13
+
14
+ initLodesSuccessAction(state, action) {
15
+ state.examples = action.payload.examples;
16
+ state.declarations = action.payload.declarations;
17
+ },
18
+
19
+ initLodesFailureAction(state, action) {
20
+ state.error = action.payload;
21
+ }
22
+
23
+ }
24
+ });
25
+ export var lodeActions = lodesSlice.actions;
26
+ export var {
27
+ useActions: useLodeActions,
28
+ useStoreState: useLodesStoreState
29
+ } = createSliceHooks(lodesSlice, saga);
30
+ //# sourceMappingURL=slice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/state/lodes/slice.ts"],"names":["createSliceHooks","createSlice","saga","defaultLodesState","examples","undefined","declarations","lodesSlice","name","initialState","reducers","initLodesAction","_state","_action","initLodesSuccessAction","state","action","payload","initLodesFailureAction","error","lodeActions","actions","useActions","useLodeActions","useStoreState","useLodesStoreState"],"mappings":"AAyBA,SAASA,gBAAT,QAAiC,eAAjC;AAGA,SAASC,WAAT,QAA4B,kBAA5B;AAEA,SAASC,IAAT,QAAqB,SAArB;AAQA,OAAO,IAAMC,iBAA6B,GAAG;AAC3CC,EAAAA,QAAQ,EAAEC,SADiC;AAE3CC,EAAAA,YAAY,EAAED;AAF6B,CAAtC;AAYP,OAAO,IAAME,UAAU,GAAGN,WAAW,CAAC;AACpCO,EAAAA,IAAI,EAAE,OAD8B;AAEpCC,EAAAA,YAAY,EAAEN,iBAFsB;AAGpCO,EAAAA,QAAQ,EAAE;AAERC,IAAAA,eAAe,CAACC,MAAD,EAASC,OAAT,EAA8C,CAAE,CAFvD;;AAGRC,IAAAA,sBAAsB,CAACC,KAAD,EAAQC,MAAR,EAAkD;AACtED,MAAAA,KAAK,CAACX,QAAN,GAAiBY,MAAM,CAACC,OAAP,CAAeb,QAAhC;AACAW,MAAAA,KAAK,CAACT,YAAN,GAAqBU,MAAM,CAACC,OAAP,CAAeX,YAApC;AACD,KANO;;AAORY,IAAAA,sBAAsB,CAACH,KAAD,EAAQC,MAAR,EAAsC;AAC1DD,MAAAA,KAAK,CAACI,KAAN,GAAcH,MAAM,CAACC,OAArB;AACD;;AATO;AAH0B,CAAD,CAA9B;AAgBP,OAAO,IAAMG,WAAW,GAAGb,UAAU,CAACc,OAA/B;AACP,OAAO,IAAM;AAAEC,EAAAA,UAAU,EAAEC,cAAd;AAA8BC,EAAAA,aAAa,EAAEC;AAA7C,IACXzB,gBAAgB,CAACO,UAAD,EAAaL,IAAb,CADX","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nimport { createSliceHooks } from '@looker/redux'\nimport type { IDeclarationMine, IExampleMine } from '@looker/sdk-codegen'\nimport type { PayloadAction } from '@reduxjs/toolkit'\nimport { createSlice } from '@reduxjs/toolkit'\n\nimport { saga } from './sagas'\n\nexport interface LodesState {\n examples?: IExampleMine\n declarations?: IDeclarationMine\n error?: Error\n}\n\nexport const defaultLodesState: LodesState = {\n examples: undefined,\n declarations: undefined,\n}\n\nexport interface InitPayload {\n examplesLodeUrl?: string\n declarationsLodeUrl?: string\n}\n\ntype InitSuccessAction = LodesState\n\nexport const lodesSlice = createSlice({\n name: 'lodes',\n initialState: defaultLodesState,\n reducers: {\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n initLodesAction(_state, _action: PayloadAction<InitPayload>) {},\n initLodesSuccessAction(state, action: PayloadAction<InitSuccessAction>) {\n state.examples = action.payload.examples\n state.declarations = action.payload.declarations\n },\n initLodesFailureAction(state, action: PayloadAction<Error>) {\n state.error = action.payload\n },\n },\n})\n\nexport const lodeActions = lodesSlice.actions\nexport const { useActions: useLodeActions, useStoreState: useLodesStoreState } =\n createSliceHooks(lodesSlice, saga)\n"],"file":"slice.js"}
@@ -4,44 +4,56 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
4
4
 
5
5
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
6
 
7
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
8
+
9
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
10
+
7
11
  import { takeEvery, call, put, select } from 'typed-redux-saga';
8
- import { EnvAdaptorConstants, getEnvAdaptor } from '../../utils';
9
- import { actions, defaultSettings } from './slice';
12
+ import { getEnvAdaptor } from '@looker/extension-utils';
13
+ import { StoreConstants } from '@looker/run-it';
14
+ import { settingActions, defaultSettings } from './slice';
10
15
 
11
16
  function* serializeToLocalStorageSaga() {
12
- var envAdaptor = getEnvAdaptor();
17
+ var adaptor = getEnvAdaptor();
13
18
  var settings = yield* select(state => ({
14
19
  sdkLanguage: state.settings.sdkLanguage
15
20
  }));
16
- yield* call(envAdaptor.localStorageSetItem, EnvAdaptorConstants.LOCALSTORAGE_SETTINGS_KEY, JSON.stringify(settings));
21
+ adaptor.localStorageSetItem(StoreConstants.LOCALSTORAGE_SETTINGS_KEY, JSON.stringify(settings));
22
+ }
23
+
24
+ function deserializeLocalStorage() {
25
+ return _deserializeLocalStorage.apply(this, arguments);
17
26
  }
18
27
 
19
- function* deserializeLocalStorage() {
20
- var envAdaptor = getEnvAdaptor();
21
- var settings = yield* call(envAdaptor.localStorageGetItem, EnvAdaptorConstants.LOCALSTORAGE_SETTINGS_KEY);
22
- return settings ? _objectSpread(_objectSpread({}, defaultSettings), JSON.parse(settings)) : defaultSettings;
28
+ function _deserializeLocalStorage() {
29
+ _deserializeLocalStorage = _asyncToGenerator(function* () {
30
+ var adaptor = getEnvAdaptor();
31
+ var settings = yield adaptor.localStorageGetItem(StoreConstants.LOCALSTORAGE_SETTINGS_KEY);
32
+ return settings ? _objectSpread(_objectSpread({}, defaultSettings), JSON.parse(settings)) : defaultSettings;
33
+ });
34
+ return _deserializeLocalStorage.apply(this, arguments);
23
35
  }
24
36
 
25
37
  function* initSaga() {
26
38
  var {
27
- initSuccessAction,
28
- initFailureAction
29
- } = actions;
39
+ initSettingsSuccessAction,
40
+ initSettingsFailureAction
41
+ } = settingActions;
30
42
 
31
43
  try {
32
44
  var settings = yield* call(deserializeLocalStorage);
33
- yield* put(initSuccessAction(settings));
45
+ yield* put(initSettingsSuccessAction(settings));
34
46
  } catch (error) {
35
- yield* put(initFailureAction(error));
47
+ yield* put(initSettingsFailureAction(error));
36
48
  }
37
49
  }
38
50
 
39
51
  export function* saga() {
40
52
  var {
41
- initAction,
53
+ initSettingsAction,
42
54
  setSdkLanguageAction
43
- } = actions;
44
- yield* takeEvery(initAction, initSaga);
55
+ } = settingActions;
56
+ yield* takeEvery(initSettingsAction, initSaga);
45
57
  yield* takeEvery(setSdkLanguageAction, serializeToLocalStorageSaga);
46
58
  }
47
59
  //# sourceMappingURL=sagas.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/state/settings/sagas.ts"],"names":["takeEvery","call","put","select","EnvAdaptorConstants","getEnvAdaptor","actions","defaultSettings","serializeToLocalStorageSaga","envAdaptor","settings","state","sdkLanguage","localStorageSetItem","LOCALSTORAGE_SETTINGS_KEY","JSON","stringify","deserializeLocalStorage","localStorageGetItem","parse","initSaga","initSuccessAction","initFailureAction","error","saga","initAction","setSdkLanguageAction"],"mappings":";;;;;;AAyBA,SAASA,SAAT,EAAoBC,IAApB,EAA0BC,GAA1B,EAA+BC,MAA/B,QAA6C,kBAA7C;AAEA,SAASC,mBAAT,EAA8BC,aAA9B,QAAmD,aAAnD;AAEA,SAASC,OAAT,EAAkBC,eAAlB,QAAyC,SAAzC;;AAKA,UAAUC,2BAAV,GAAwC;AACtC,MAAMC,UAAU,GAAGJ,aAAa,EAAhC;AACA,MAAMK,QAAQ,GAAG,OAAOP,MAAM,CAAEQ,KAAD,KAAuB;AACpDC,IAAAA,WAAW,EAAED,KAAK,CAACD,QAAN,CAAeE;AADwB,GAAvB,CAAD,CAA9B;AAGA,SAAOX,IAAI,CACTQ,UAAU,CAACI,mBADF,EAETT,mBAAmB,CAACU,yBAFX,EAGTC,IAAI,CAACC,SAAL,CAAeN,QAAf,CAHS,CAAX;AAKD;;AAKD,UAAUO,uBAAV,GAAoC;AAClC,MAAMR,UAAU,GAAGJ,aAAa,EAAhC;AACA,MAAMK,QAAQ,GAAG,OAAOT,IAAI,CAC1BQ,UAAU,CAACS,mBADe,EAE1Bd,mBAAmB,CAACU,yBAFM,CAA5B;AAIA,SAAOJ,QAAQ,mCACNH,eADM,GACcQ,IAAI,CAACI,KAAL,CAAWT,QAAX,CADd,IAEXH,eAFJ;AAGD;;AAKD,UAAUa,QAAV,GAAqB;AACnB,MAAM;AAAEC,IAAAA,iBAAF;AAAqBC,IAAAA;AAArB,MAA2ChB,OAAjD;;AACA,MAAI;AACF,QAAMI,QAAQ,GAAG,OAAOT,IAAI,CAACgB,uBAAD,CAA5B;AACA,WAAOf,GAAG,CAACmB,iBAAiB,CAACX,QAAD,CAAlB,CAAV;AACD,GAHD,CAGE,OAAOa,KAAP,EAAmB;AACnB,WAAOrB,GAAG,CAACoB,iBAAiB,CAACC,KAAD,CAAlB,CAAV;AACD;AACF;;AAED,OAAO,UAAUC,IAAV,GAAiB;AACtB,MAAM;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,MAAuCpB,OAA7C;AAEA,SAAON,SAAS,CAACyB,UAAD,EAAaL,QAAb,CAAhB;AACA,SAAOpB,SAAS,CAAC0B,oBAAD,EAAuBlB,2BAAvB,CAAhB;AACD","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nimport { takeEvery, call, put, select } from 'typed-redux-saga'\n\nimport { EnvAdaptorConstants, getEnvAdaptor } from '../../utils'\nimport type { RootState } from '../store'\nimport { actions, defaultSettings } from './slice'\n\n/**\n * Serializes state to local storage\n */\nfunction* serializeToLocalStorageSaga() {\n const envAdaptor = getEnvAdaptor()\n const settings = yield* select((state: RootState) => ({\n sdkLanguage: state.settings.sdkLanguage,\n }))\n yield* call(\n envAdaptor.localStorageSetItem,\n EnvAdaptorConstants.LOCALSTORAGE_SETTINGS_KEY,\n JSON.stringify(settings)\n )\n}\n\n/**\n * Returns default settings overridden with any persisted state in local storage\n */\nfunction* deserializeLocalStorage() {\n const envAdaptor = getEnvAdaptor()\n const settings = yield* call(\n envAdaptor.localStorageGetItem,\n EnvAdaptorConstants.LOCALSTORAGE_SETTINGS_KEY\n )\n return settings\n ? { ...defaultSettings, ...JSON.parse(settings) }\n : defaultSettings\n}\n\n/**\n * Initializes the store with default settings and existing persisted settings\n */\nfunction* initSaga() {\n const { initSuccessAction, initFailureAction } = actions\n try {\n const settings = yield* call(deserializeLocalStorage)\n yield* put(initSuccessAction(settings))\n } catch (error: any) {\n yield* put(initFailureAction(error))\n }\n}\n\nexport function* saga() {\n const { initAction, setSdkLanguageAction } = actions\n\n yield* takeEvery(initAction, initSaga)\n yield* takeEvery(setSdkLanguageAction, serializeToLocalStorageSaga)\n}\n"],"file":"sagas.js"}
1
+ {"version":3,"sources":["../../../../src/state/settings/sagas.ts"],"names":["takeEvery","call","put","select","getEnvAdaptor","StoreConstants","settingActions","defaultSettings","serializeToLocalStorageSaga","adaptor","settings","state","sdkLanguage","localStorageSetItem","LOCALSTORAGE_SETTINGS_KEY","JSON","stringify","deserializeLocalStorage","localStorageGetItem","parse","initSaga","initSettingsSuccessAction","initSettingsFailureAction","error","saga","initSettingsAction","setSdkLanguageAction"],"mappings":";;;;;;;;;;AAyBA,SAASA,SAAT,EAAoBC,IAApB,EAA0BC,GAA1B,EAA+BC,MAA/B,QAA6C,kBAA7C;AAEA,SAASC,aAAT,QAA8B,yBAA9B;AACA,SAASC,cAAT,QAA+B,gBAA/B;AAEA,SAASC,cAAT,EAAyBC,eAAzB,QAAgD,SAAhD;;AAKA,UAAUC,2BAAV,GAAwC;AACtC,MAAMC,OAAO,GAAGL,aAAa,EAA7B;AACA,MAAMM,QAAQ,GAAG,OAAOP,MAAM,CAAEQ,KAAD,KAAuB;AACpDC,IAAAA,WAAW,EAAED,KAAK,CAACD,QAAN,CAAeE;AADwB,GAAvB,CAAD,CAA9B;AAGAH,EAAAA,OAAO,CAACI,mBAAR,CACER,cAAc,CAACS,yBADjB,EAEEC,IAAI,CAACC,SAAL,CAAeN,QAAf,CAFF;AAID;;SAKcO,uB;;;;;+CAAf,aAAyC;AACvC,QAAMR,OAAO,GAAGL,aAAa,EAA7B;AACA,QAAMM,QAAQ,SAASD,OAAO,CAACS,mBAAR,CACrBb,cAAc,CAACS,yBADM,CAAvB;AAGA,WAAOJ,QAAQ,mCACNH,eADM,GACcQ,IAAI,CAACI,KAAL,CAAWT,QAAX,CADd,IAEXH,eAFJ;AAGD,G;;;;AAKD,UAAUa,QAAV,GAAqB;AACnB,MAAM;AAAEC,IAAAA,yBAAF;AAA6BC,IAAAA;AAA7B,MACJhB,cADF;;AAEA,MAAI;AACF,QAAMI,QAAQ,GAAG,OAAOT,IAAI,CAACgB,uBAAD,CAA5B;AACA,WAAOf,GAAG,CAACmB,yBAAyB,CAACX,QAAD,CAA1B,CAAV;AACD,GAHD,CAGE,OAAOa,KAAP,EAAmB;AACnB,WAAOrB,GAAG,CAACoB,yBAAyB,CAACC,KAAD,CAA1B,CAAV;AACD;AACF;;AAED,OAAO,UAAUC,IAAV,GAAiB;AACtB,MAAM;AAAEC,IAAAA,kBAAF;AAAsBC,IAAAA;AAAtB,MAA+CpB,cAArD;AAEA,SAAON,SAAS,CAACyB,kBAAD,EAAqBL,QAArB,CAAhB;AACA,SAAOpB,SAAS,CAAC0B,oBAAD,EAAuBlB,2BAAvB,CAAhB;AACD","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nimport { takeEvery, call, put, select } from 'typed-redux-saga'\n\nimport { getEnvAdaptor } from '@looker/extension-utils'\nimport { StoreConstants } from '@looker/run-it'\nimport type { RootState } from '../store'\nimport { settingActions, defaultSettings } from './slice'\n\n/**\n * Serializes state to local storage\n */\nfunction* serializeToLocalStorageSaga() {\n const adaptor = getEnvAdaptor()\n const settings = yield* select((state: RootState) => ({\n sdkLanguage: state.settings.sdkLanguage,\n }))\n adaptor.localStorageSetItem(\n StoreConstants.LOCALSTORAGE_SETTINGS_KEY,\n JSON.stringify(settings)\n )\n}\n\n/**\n * Returns default settings overridden with any persisted state in local storage\n */\nasync function deserializeLocalStorage() {\n const adaptor = getEnvAdaptor()\n const settings = await adaptor.localStorageGetItem(\n StoreConstants.LOCALSTORAGE_SETTINGS_KEY\n )\n return settings\n ? { ...defaultSettings, ...JSON.parse(settings) }\n : defaultSettings\n}\n\n/**\n * Initializes the store with default settings and existing persisted settings\n */\nfunction* initSaga() {\n const { initSettingsSuccessAction, initSettingsFailureAction } =\n settingActions\n try {\n const settings = yield* call(deserializeLocalStorage)\n yield* put(initSettingsSuccessAction(settings))\n } catch (error: any) {\n yield* put(initSettingsFailureAction(error))\n }\n}\n\nexport function* saga() {\n const { initSettingsAction, setSdkLanguageAction } = settingActions\n\n yield* takeEvery(initSettingsAction, initSaga)\n yield* takeEvery(setSdkLanguageAction, serializeToLocalStorageSaga)\n}\n"],"file":"sagas.js"}
@@ -1,7 +1,7 @@
1
- var getSettingsState = state => state.settings;
1
+ var selectSettingsState = state => state.settings;
2
2
 
3
- export var selectSdkLanguage = state => getSettingsState(state).sdkLanguage;
4
- export var selectSearchPattern = state => getSettingsState(state).searchPattern;
5
- export var selectSearchCriteria = state => getSettingsState(state).searchCriteria;
6
- export var isInitialized = state => getSettingsState(state).initialized;
3
+ export var selectSdkLanguage = state => selectSettingsState(state).sdkLanguage;
4
+ export var selectSearchPattern = state => selectSettingsState(state).searchPattern;
5
+ export var selectSearchCriteria = state => selectSettingsState(state).searchCriteria;
6
+ export var isInitialized = state => selectSettingsState(state).initialized;
7
7
  //# sourceMappingURL=selectors.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/state/settings/selectors.ts"],"names":["getSettingsState","state","settings","selectSdkLanguage","sdkLanguage","selectSearchPattern","searchPattern","selectSearchCriteria","searchCriteria","isInitialized","initialized"],"mappings":"AA2BA,IAAMA,gBAAgB,GAAIC,KAAD,IAAsBA,KAAK,CAACC,QAArD;;AAEA,OAAO,IAAMC,iBAAiB,GAAIF,KAAD,IAC/BD,gBAAgB,CAACC,KAAD,CAAhB,CAAwBG,WADnB;AAGP,OAAO,IAAMC,mBAAmB,GAAIJ,KAAD,IACjCD,gBAAgB,CAACC,KAAD,CAAhB,CAAwBK,aADnB;AAGP,OAAO,IAAMC,oBAAoB,GAAIN,KAAD,IAClCD,gBAAgB,CAACC,KAAD,CAAhB,CAAwBO,cADnB;AAGP,OAAO,IAAMC,aAAa,GAAIR,KAAD,IAC3BD,gBAAgB,CAACC,KAAD,CAAhB,CAAwBS,WADnB","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nimport type { RootState } from '../store'\n\nconst getSettingsState = (state: RootState) => state.settings\n\nexport const selectSdkLanguage = (state: RootState) =>\n getSettingsState(state).sdkLanguage\n\nexport const selectSearchPattern = (state: RootState) =>\n getSettingsState(state).searchPattern\n\nexport const selectSearchCriteria = (state: RootState) =>\n getSettingsState(state).searchCriteria\n\nexport const isInitialized = (state: RootState) =>\n getSettingsState(state).initialized\n"],"file":"selectors.js"}
1
+ {"version":3,"sources":["../../../../src/state/settings/selectors.ts"],"names":["selectSettingsState","state","settings","selectSdkLanguage","sdkLanguage","selectSearchPattern","searchPattern","selectSearchCriteria","searchCriteria","isInitialized","initialized"],"mappings":"AA2BA,IAAMA,mBAAmB,GAAIC,KAAD,IAAsBA,KAAK,CAACC,QAAxD;;AAEA,OAAO,IAAMC,iBAAiB,GAAIF,KAAD,IAC/BD,mBAAmB,CAACC,KAAD,CAAnB,CAA2BG,WADtB;AAGP,OAAO,IAAMC,mBAAmB,GAAIJ,KAAD,IACjCD,mBAAmB,CAACC,KAAD,CAAnB,CAA2BK,aADtB;AAGP,OAAO,IAAMC,oBAAoB,GAAIN,KAAD,IAClCD,mBAAmB,CAACC,KAAD,CAAnB,CAA2BO,cADtB;AAGP,OAAO,IAAMC,aAAa,GAAIR,KAAD,IAC3BD,mBAAmB,CAACC,KAAD,CAAnB,CAA2BS,WADtB","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nimport type { RootState } from '../store'\n\nconst selectSettingsState = (state: RootState) => state.settings\n\nexport const selectSdkLanguage = (state: RootState) =>\n selectSettingsState(state).sdkLanguage\n\nexport const selectSearchPattern = (state: RootState) =>\n selectSettingsState(state).searchPattern\n\nexport const selectSearchCriteria = (state: RootState) =>\n selectSettingsState(state).searchCriteria\n\nexport const isInitialized = (state: RootState) =>\n selectSettingsState(state).initialized\n"],"file":"selectors.js"}
@@ -16,18 +16,18 @@ export var defaultSettings = {
16
16
  export var defaultSettingsState = _objectSpread(_objectSpread({}, defaultSettings), {}, {
17
17
  initialized: false
18
18
  });
19
- export var slice = createSlice({
19
+ export var settingsSlice = createSlice({
20
20
  name: 'settings',
21
21
  initialState: defaultSettingsState,
22
22
  reducers: {
23
- initAction() {},
23
+ initSettingsAction() {},
24
24
 
25
- initSuccessAction(state, action) {
25
+ initSettingsSuccessAction(state, action) {
26
26
  state.sdkLanguage = action.payload.sdkLanguage;
27
27
  state.initialized = true;
28
28
  },
29
29
 
30
- initFailureAction(state, action) {
30
+ initSettingsFailureAction(state, action) {
31
31
  state.error = action.payload;
32
32
  state.initialized = false;
33
33
  },
@@ -42,9 +42,9 @@ export var slice = createSlice({
42
42
 
43
43
  }
44
44
  });
45
- export var actions = slice.actions;
45
+ export var settingActions = settingsSlice.actions;
46
46
  export var {
47
- useActions,
48
- useStoreState: useSettingsStoreState
49
- } = createSliceHooks(slice, saga);
47
+ useActions: useSettingActions,
48
+ useStoreState: useSettingStoreState
49
+ } = createSliceHooks(settingsSlice, saga);
50
50
  //# sourceMappingURL=slice.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/state/settings/slice.ts"],"names":["createSlice","createSliceHooks","SearchAll","setToCriteria","saga","defaultSettings","sdkLanguage","searchPattern","searchCriteria","defaultSettingsState","initialized","slice","name","initialState","reducers","initAction","initSuccessAction","state","action","payload","initFailureAction","error","setSdkLanguageAction","setSearchPatternAction","actions","useActions","useStoreState","useSettingsStoreState"],"mappings":";;;;;;AAyBA,SAASA,WAAT,QAA4B,kBAA5B;AAEA,SAASC,gBAAT,QAAiC,eAAjC;AAEA,SAASC,SAAT,EAAoBC,aAApB,QAAyC,qBAAzC;AAEA,SAASC,IAAT,QAAqB,SAArB;AAaA,OAAO,IAAMC,eAAe,GAAG;AAC7BC,EAAAA,WAAW,EAAE,QADgB;AAE7BC,EAAAA,aAAa,EAAE,EAFc;AAG7BC,EAAAA,cAAc,EAAEL,aAAa,CAACD,SAAD;AAHA,CAAxB;AAMP,OAAO,IAAMO,oBAAkC,mCAC1CJ,eAD0C;AAE7CK,EAAAA,WAAW,EAAE;AAFgC,EAAxC;AAUP,OAAO,IAAMC,KAAK,GAAGX,WAAW,CAAC;AAC/BY,EAAAA,IAAI,EAAE,UADyB;AAE/BC,EAAAA,YAAY,EAAEJ,oBAFiB;AAG/BK,EAAAA,QAAQ,EAAE;AAERC,IAAAA,UAAU,GAAG,CAAE,CAFP;;AAGRC,IAAAA,iBAAiB,CAACC,KAAD,EAAQC,MAAR,EAAmD;AAClED,MAAAA,KAAK,CAACX,WAAN,GAAoBY,MAAM,CAACC,OAAP,CAAeb,WAAnC;AACAW,MAAAA,KAAK,CAACP,WAAN,GAAoB,IAApB;AACD,KANO;;AAORU,IAAAA,iBAAiB,CAACH,KAAD,EAAQC,MAAR,EAAsC;AACrDD,MAAAA,KAAK,CAACI,KAAN,GAAcH,MAAM,CAACC,OAArB;AACAF,MAAAA,KAAK,CAACP,WAAN,GAAoB,KAApB;AACD,KAVO;;AAWRY,IAAAA,oBAAoB,CAACL,KAAD,EAAQC,MAAR,EAAqD;AACvED,MAAAA,KAAK,CAACX,WAAN,GAAoBY,MAAM,CAACC,OAAP,CAAeb,WAAnC;AACD,KAbO;;AAcRiB,IAAAA,sBAAsB,CACpBN,KADoB,EAEpBC,MAFoB,EAGpB;AACAD,MAAAA,KAAK,CAACV,aAAN,GAAsBW,MAAM,CAACC,OAAP,CAAeZ,aAArC;AACD;;AAnBO;AAHqB,CAAD,CAAzB;AA0BP,OAAO,IAAMiB,OAAO,GAAGb,KAAK,CAACa,OAAtB;AACP,OAAO,IAAM;AAAEC,EAAAA,UAAF;AAAcC,EAAAA,aAAa,EAAEC;AAA7B,IACX1B,gBAAgB,CAACU,KAAD,EAAQP,IAAR,CADX","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nimport { createSlice } from '@reduxjs/toolkit'\nimport type { PayloadAction } from '@reduxjs/toolkit'\nimport { createSliceHooks } from '@looker/redux'\nimport type { SearchCriterionTerm } from '@looker/sdk-codegen'\nimport { SearchAll, setToCriteria } from '@looker/sdk-codegen'\n\nimport { saga } from './sagas'\n\nexport interface UserDefinedSettings {\n sdkLanguage: string\n}\n\nexport interface SettingState extends UserDefinedSettings {\n searchPattern: string\n searchCriteria: SearchCriterionTerm[]\n initialized: boolean\n error?: Error\n}\n\nexport const defaultSettings = {\n sdkLanguage: 'Python',\n searchPattern: '',\n searchCriteria: setToCriteria(SearchAll) as SearchCriterionTerm[],\n}\n\nexport const defaultSettingsState: SettingState = {\n ...defaultSettings,\n initialized: false,\n}\n\ntype SetSearchPatternAction = Pick<SettingState, 'searchPattern'>\ntype SetSdkLanguageAction = Pick<SettingState, 'sdkLanguage'>\n\nexport type InitSuccessPayload = UserDefinedSettings\n\nexport const slice = createSlice({\n name: 'settings',\n initialState: defaultSettingsState,\n reducers: {\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n initAction() {},\n initSuccessAction(state, action: PayloadAction<InitSuccessPayload>) {\n state.sdkLanguage = action.payload.sdkLanguage\n state.initialized = true\n },\n initFailureAction(state, action: PayloadAction<Error>) {\n state.error = action.payload\n state.initialized = false\n },\n setSdkLanguageAction(state, action: PayloadAction<SetSdkLanguageAction>) {\n state.sdkLanguage = action.payload.sdkLanguage\n },\n setSearchPatternAction(\n state,\n action: PayloadAction<SetSearchPatternAction>\n ) {\n state.searchPattern = action.payload.searchPattern\n },\n },\n})\n\nexport const actions = slice.actions\nexport const { useActions, useStoreState: useSettingsStoreState } =\n createSliceHooks(slice, saga)\n"],"file":"slice.js"}
1
+ {"version":3,"sources":["../../../../src/state/settings/slice.ts"],"names":["createSlice","createSliceHooks","SearchAll","setToCriteria","saga","defaultSettings","sdkLanguage","searchPattern","searchCriteria","defaultSettingsState","initialized","settingsSlice","name","initialState","reducers","initSettingsAction","initSettingsSuccessAction","state","action","payload","initSettingsFailureAction","error","setSdkLanguageAction","setSearchPatternAction","settingActions","actions","useActions","useSettingActions","useStoreState","useSettingStoreState"],"mappings":";;;;;;AAyBA,SAASA,WAAT,QAA4B,kBAA5B;AAEA,SAASC,gBAAT,QAAiC,eAAjC;AAEA,SAASC,SAAT,EAAoBC,aAApB,QAAyC,qBAAzC;AAEA,SAASC,IAAT,QAAqB,SAArB;AAaA,OAAO,IAAMC,eAAe,GAAG;AAC7BC,EAAAA,WAAW,EAAE,QADgB;AAE7BC,EAAAA,aAAa,EAAE,EAFc;AAG7BC,EAAAA,cAAc,EAAEL,aAAa,CAACD,SAAD;AAHA,CAAxB;AAMP,OAAO,IAAMO,oBAAkC,mCAC1CJ,eAD0C;AAE7CK,EAAAA,WAAW,EAAE;AAFgC,EAAxC;AAUP,OAAO,IAAMC,aAAa,GAAGX,WAAW,CAAC;AACvCY,EAAAA,IAAI,EAAE,UADiC;AAEvCC,EAAAA,YAAY,EAAEJ,oBAFyB;AAGvCK,EAAAA,QAAQ,EAAE;AAERC,IAAAA,kBAAkB,GAAG,CAAE,CAFf;;AAGRC,IAAAA,yBAAyB,CACvBC,KADuB,EAEvBC,MAFuB,EAGvB;AACAD,MAAAA,KAAK,CAACX,WAAN,GAAoBY,MAAM,CAACC,OAAP,CAAeb,WAAnC;AACAW,MAAAA,KAAK,CAACP,WAAN,GAAoB,IAApB;AACD,KATO;;AAURU,IAAAA,yBAAyB,CAACH,KAAD,EAAQC,MAAR,EAAsC;AAC7DD,MAAAA,KAAK,CAACI,KAAN,GAAcH,MAAM,CAACC,OAArB;AACAF,MAAAA,KAAK,CAACP,WAAN,GAAoB,KAApB;AACD,KAbO;;AAcRY,IAAAA,oBAAoB,CAACL,KAAD,EAAQC,MAAR,EAAqD;AACvED,MAAAA,KAAK,CAACX,WAAN,GAAoBY,MAAM,CAACC,OAAP,CAAeb,WAAnC;AACD,KAhBO;;AAiBRiB,IAAAA,sBAAsB,CACpBN,KADoB,EAEpBC,MAFoB,EAGpB;AACAD,MAAAA,KAAK,CAACV,aAAN,GAAsBW,MAAM,CAACC,OAAP,CAAeZ,aAArC;AACD;;AAtBO;AAH6B,CAAD,CAAjC;AA6BP,OAAO,IAAMiB,cAAc,GAAGb,aAAa,CAACc,OAArC;AACP,OAAO,IAAM;AACXC,EAAAA,UAAU,EAAEC,iBADD;AAEXC,EAAAA,aAAa,EAAEC;AAFJ,IAGT5B,gBAAgB,CAACU,aAAD,EAAgBP,IAAhB,CAHb","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nimport { createSlice } from '@reduxjs/toolkit'\nimport type { PayloadAction } from '@reduxjs/toolkit'\nimport { createSliceHooks } from '@looker/redux'\nimport type { SearchCriterionTerm } from '@looker/sdk-codegen'\nimport { SearchAll, setToCriteria } from '@looker/sdk-codegen'\n\nimport { saga } from './sagas'\n\nexport interface UserDefinedSettings {\n sdkLanguage: string\n}\n\nexport interface SettingState extends UserDefinedSettings {\n searchPattern: string\n searchCriteria: SearchCriterionTerm[]\n initialized: boolean\n error?: Error\n}\n\nexport const defaultSettings = {\n sdkLanguage: 'Python',\n searchPattern: '',\n searchCriteria: setToCriteria(SearchAll) as SearchCriterionTerm[],\n}\n\nexport const defaultSettingsState: SettingState = {\n ...defaultSettings,\n initialized: false,\n}\n\ntype SetSearchPatternAction = Pick<SettingState, 'searchPattern'>\ntype SetSdkLanguageAction = Pick<SettingState, 'sdkLanguage'>\n\nexport type InitSuccessPayload = UserDefinedSettings\n\nexport const settingsSlice = createSlice({\n name: 'settings',\n initialState: defaultSettingsState,\n reducers: {\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n initSettingsAction() {},\n initSettingsSuccessAction(\n state,\n action: PayloadAction<InitSuccessPayload>\n ) {\n state.sdkLanguage = action.payload.sdkLanguage\n state.initialized = true\n },\n initSettingsFailureAction(state, action: PayloadAction<Error>) {\n state.error = action.payload\n state.initialized = false\n },\n setSdkLanguageAction(state, action: PayloadAction<SetSdkLanguageAction>) {\n state.sdkLanguage = action.payload.sdkLanguage\n },\n setSearchPatternAction(\n state,\n action: PayloadAction<SetSearchPatternAction>\n ) {\n state.searchPattern = action.payload.searchPattern\n },\n },\n})\n\nexport const settingActions = settingsSlice.actions\nexport const {\n useActions: useSettingActions,\n useStoreState: useSettingStoreState,\n} = createSliceHooks(settingsSlice, saga)\n"],"file":"slice.js"}
@@ -0,0 +1,3 @@
1
+ export * from './selectors';
2
+ export * from './slice';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/state/specs/index.ts"],"names":[],"mappings":"AAyBA,cAAc,aAAd;AACA,cAAc,SAAd","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nexport * from './selectors'\nexport * from './slice'\n"],"file":"index.js"}
@@ -0,0 +1,58 @@
1
+ import { call, put, takeEvery, select } from 'typed-redux-saga';
2
+ import { getApixAdaptor } from '../../utils';
3
+ import { specActions } from './slice';
4
+
5
+ function* initSaga(action) {
6
+ var {
7
+ initSpecsSuccessAction,
8
+ initSpecsFailureAction
9
+ } = specActions;
10
+ var adaptor = getApixAdaptor();
11
+
12
+ try {
13
+ var specs = yield* call([adaptor, 'fetchSpecList']);
14
+ var currentSpecKey = action.payload.specKey;
15
+
16
+ if (!currentSpecKey) {
17
+ currentSpecKey = Object.values(specs).find(spec => spec.status === 'current').key;
18
+ }
19
+
20
+ var spec = yield* call([adaptor, 'fetchSpec'], specs[currentSpecKey]);
21
+ specs[currentSpecKey] = spec;
22
+ yield* put(initSpecsSuccessAction({
23
+ specs,
24
+ currentSpecKey
25
+ }));
26
+ } catch (error) {
27
+ yield* put(initSpecsFailureAction(new Error(error.message)));
28
+ }
29
+ }
30
+
31
+ function* setCurrentSpecSaga(action) {
32
+ var {
33
+ setCurrentSpecSuccessAction,
34
+ setCurrentSpecFailureAction
35
+ } = specActions;
36
+ var adaptor = getApixAdaptor();
37
+ var spec = yield* select(state => state.specs.specs[action.payload.currentSpecKey]);
38
+
39
+ try {
40
+ var newSpec = yield* call([adaptor, 'fetchSpec'], spec);
41
+ yield* put(setCurrentSpecSuccessAction({
42
+ api: newSpec.api,
43
+ currentSpecKey: action.payload.currentSpecKey
44
+ }));
45
+ } catch (error) {
46
+ yield put(setCurrentSpecFailureAction(new Error(error.message)));
47
+ }
48
+ }
49
+
50
+ export function* saga() {
51
+ var {
52
+ initSpecsAction,
53
+ setCurrentSpecAction
54
+ } = specActions;
55
+ yield* takeEvery(initSpecsAction, initSaga);
56
+ yield* takeEvery(setCurrentSpecAction, setCurrentSpecSaga);
57
+ }
58
+ //# sourceMappingURL=sagas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/state/specs/sagas.ts"],"names":["call","put","takeEvery","select","getApixAdaptor","specActions","initSaga","action","initSpecsSuccessAction","initSpecsFailureAction","adaptor","specs","currentSpecKey","payload","specKey","Object","values","find","spec","status","key","error","Error","message","setCurrentSpecSaga","setCurrentSpecSuccessAction","setCurrentSpecFailureAction","state","newSpec","api","saga","initSpecsAction","setCurrentSpecAction"],"mappings":"AA0BA,SAASA,IAAT,EAAeC,GAAf,EAAoBC,SAApB,EAA+BC,MAA/B,QAA6C,kBAA7C;AAGA,SAASC,cAAT,QAA+B,aAA/B;AAGA,SAASC,WAAT,QAA4B,SAA5B;;AAEA,UAAUC,QAAV,CAAmBC,MAAnB,EAA2D;AACzD,MAAM;AAAEC,IAAAA,sBAAF;AAA0BC,IAAAA;AAA1B,MAAqDJ,WAA3D;AACA,MAAMK,OAAO,GAAGN,cAAc,EAA9B;;AAEA,MAAI;AACF,QAAMO,KAAe,GAAG,OAAOX,IAAI,CAAC,CAACU,OAAD,EAAU,eAAV,CAAD,CAAnC;AACA,QAAIE,cAAc,GAAGL,MAAM,CAACM,OAAP,CAAeC,OAApC;;AACA,QAAI,CAACF,cAAL,EAAqB;AACnBA,MAAAA,cAAc,GAAGG,MAAM,CAACC,MAAP,CAAcL,KAAd,EAAqBM,IAArB,CACdC,IAAD,IAAUA,IAAI,CAACC,MAAL,KAAgB,SADX,EAEdC,GAFH;AAGD;;AACD,QAAMF,IAAI,GAAG,OAAOlB,IAAI,CAAC,CAACU,OAAD,EAAU,WAAV,CAAD,EAAyBC,KAAK,CAACC,cAAD,CAA9B,CAAxB;AACAD,IAAAA,KAAK,CAACC,cAAD,CAAL,GAAwBM,IAAxB;AACA,WAAOjB,GAAG,CAACO,sBAAsB,CAAC;AAAEG,MAAAA,KAAF;AAASC,MAAAA;AAAT,KAAD,CAAvB,CAAV;AACD,GAXD,CAWE,OAAOS,KAAP,EAAmB;AACnB,WAAOpB,GAAG,CAACQ,sBAAsB,CAAC,IAAIa,KAAJ,CAAUD,KAAK,CAACE,OAAhB,CAAD,CAAvB,CAAV;AACD;AACF;;AAED,UAAUC,kBAAV,CAA6BjB,MAA7B,EAA0E;AACxE,MAAM;AAAEkB,IAAAA,2BAAF;AAA+BC,IAAAA;AAA/B,MACJrB,WADF;AAEA,MAAMK,OAAO,GAAGN,cAAc,EAA9B;AACA,MAAMc,IAAc,GAAG,OAAOf,MAAM,CACjCwB,KAAD,IAAsBA,KAAK,CAAChB,KAAN,CAAYA,KAAZ,CAAkBJ,MAAM,CAACM,OAAP,CAAeD,cAAjC,CADY,CAApC;;AAIA,MAAI;AACF,QAAMgB,OAAO,GAAG,OAAO5B,IAAI,CAAC,CAACU,OAAD,EAAU,WAAV,CAAD,EAAyBQ,IAAzB,CAA3B;AACA,WAAOjB,GAAG,CACRwB,2BAA2B,CAAC;AAC1BI,MAAAA,GAAG,EAAED,OAAO,CAACC,GADa;AAE1BjB,MAAAA,cAAc,EAAEL,MAAM,CAACM,OAAP,CAAeD;AAFL,KAAD,CADnB,CAAV;AAMD,GARD,CAQE,OAAOS,KAAP,EAAmB;AACnB,UAAMpB,GAAG,CAACyB,2BAA2B,CAAC,IAAIJ,KAAJ,CAAUD,KAAK,CAACE,OAAhB,CAAD,CAA5B,CAAT;AACD;AACF;;AAED,OAAO,UAAUO,IAAV,GAAiB;AACtB,MAAM;AAAEC,IAAAA,eAAF;AAAmBC,IAAAA;AAAnB,MAA4C3B,WAAlD;AAEA,SAAOH,SAAS,CAAC6B,eAAD,EAAkBzB,QAAlB,CAAhB;AACA,SAAOJ,SAAS,CAAC8B,oBAAD,EAAuBR,kBAAvB,CAAhB;AACD","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nimport type { SpecItem, SpecList } from '@looker/sdk-codegen'\nimport { call, put, takeEvery, select } from 'typed-redux-saga'\nimport type { PayloadAction } from '@reduxjs/toolkit'\n\nimport { getApixAdaptor } from '../../utils'\nimport type { RootState } from '../store'\nimport type { InitSpecsAction, SetCurrentSpecAction } from './slice'\nimport { specActions } from './slice'\n\nfunction* initSaga(action: PayloadAction<InitSpecsAction>) {\n const { initSpecsSuccessAction, initSpecsFailureAction } = specActions\n const adaptor = getApixAdaptor()\n\n try {\n const specs: SpecList = yield* call([adaptor, 'fetchSpecList'])\n let currentSpecKey = action.payload.specKey\n if (!currentSpecKey) {\n currentSpecKey = Object.values(specs).find(\n (spec) => spec.status === 'current'\n )!.key\n }\n const spec = yield* call([adaptor, 'fetchSpec'], specs[currentSpecKey])\n specs[currentSpecKey] = spec\n yield* put(initSpecsSuccessAction({ specs, currentSpecKey }))\n } catch (error: any) {\n yield* put(initSpecsFailureAction(new Error(error.message)))\n }\n}\n\nfunction* setCurrentSpecSaga(action: PayloadAction<SetCurrentSpecAction>) {\n const { setCurrentSpecSuccessAction, setCurrentSpecFailureAction } =\n specActions\n const adaptor = getApixAdaptor()\n const spec: SpecItem = yield* select(\n (state: RootState) => state.specs.specs[action.payload.currentSpecKey]\n )\n\n try {\n const newSpec = yield* call([adaptor, 'fetchSpec'], spec)\n yield* put(\n setCurrentSpecSuccessAction({\n api: newSpec.api!,\n currentSpecKey: action.payload.currentSpecKey,\n })\n )\n } catch (error: any) {\n yield put(setCurrentSpecFailureAction(new Error(error.message)))\n }\n}\n\nexport function* saga() {\n const { initSpecsAction, setCurrentSpecAction } = specActions\n\n yield* takeEvery(initSpecsAction, initSaga)\n yield* takeEvery(setCurrentSpecAction, setCurrentSpecSaga)\n}\n"],"file":"sagas.js"}
@@ -0,0 +1,8 @@
1
+ var selectSpecsState = state => state.specs;
2
+
3
+ export var selectSpecs = state => selectSpecsState(state).specs;
4
+ export var selectCurrentSpec = state => {
5
+ var specState = selectSpecsState(state);
6
+ return specState.specs[specState.currentSpecKey];
7
+ };
8
+ //# sourceMappingURL=selectors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/state/specs/selectors.ts"],"names":["selectSpecsState","state","specs","selectSpecs","selectCurrentSpec","specState","currentSpecKey"],"mappings":"AA6BA,IAAMA,gBAAgB,GAAIC,KAAD,IAAsBA,KAAK,CAACC,KAArD;;AAEA,OAAO,IAAMC,WAAW,GAAIF,KAAD,IAAsBD,gBAAgB,CAACC,KAAD,CAAhB,CAAwBC,KAAlE;AAEP,OAAO,IAAME,iBAAiB,GAAIH,KAAD,IAAgC;AAC/D,MAAMI,SAAS,GAAGL,gBAAgB,CAACC,KAAD,CAAlC;AACA,SAAOI,SAAS,CAACH,KAAV,CAAgBG,SAAS,CAACC,cAA1B,CAAP;AACD,CAHM","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nimport type { SpecItem } from '@looker/sdk-codegen'\n\nimport type { RootState } from '../store'\n\nconst selectSpecsState = (state: RootState) => state.specs\n\nexport const selectSpecs = (state: RootState) => selectSpecsState(state).specs\n\nexport const selectCurrentSpec = (state: RootState): SpecItem => {\n const specState = selectSpecsState(state)\n return specState.specs[specState.currentSpecKey]\n}\n"],"file":"selectors.js"}
@@ -0,0 +1,55 @@
1
+ import { createSlice } from '@reduxjs/toolkit';
2
+ import { createSliceHooks } from '@looker/redux';
3
+ import { saga } from './sagas';
4
+ export var defaultSpecsState = {
5
+ specs: {},
6
+ currentSpecKey: '',
7
+ working: true,
8
+ description: undefined
9
+ };
10
+ export var specsSlice = createSlice({
11
+ name: 'specs',
12
+ initialState: defaultSpecsState,
13
+ reducers: {
14
+ initSpecsAction(state, _action) {
15
+ state.working = true;
16
+ state.description = 'Fetching specifications...';
17
+ },
18
+
19
+ initSpecsSuccessAction(state, action) {
20
+ state.specs = action.payload.specs;
21
+ state.currentSpecKey = action.payload.currentSpecKey;
22
+ state.working = false;
23
+ state.description = undefined;
24
+ },
25
+
26
+ initSpecsFailureAction(state, action) {
27
+ state.working = false;
28
+ state.error = action.payload;
29
+ },
30
+
31
+ setCurrentSpecAction(state, action) {
32
+ state.working = true;
33
+ state.description = "Fetching API ".concat(action.payload.currentSpecKey, " spec");
34
+ },
35
+
36
+ setCurrentSpecSuccessAction(state, action) {
37
+ state.currentSpecKey = action.payload.currentSpecKey;
38
+ state.specs[state.currentSpecKey].api = action.payload.api;
39
+ state.description = undefined;
40
+ state.working = false;
41
+ },
42
+
43
+ setCurrentSpecFailureAction(state, action) {
44
+ state.working = false;
45
+ state.error = action.payload;
46
+ }
47
+
48
+ }
49
+ });
50
+ export var specActions = specsSlice.actions;
51
+ export var {
52
+ useActions: useSpecActions,
53
+ useStoreState: useSpecStoreState
54
+ } = createSliceHooks(specsSlice, saga);
55
+ //# sourceMappingURL=slice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/state/specs/slice.ts"],"names":["createSlice","createSliceHooks","saga","defaultSpecsState","specs","currentSpecKey","working","description","undefined","specsSlice","name","initialState","reducers","initSpecsAction","state","_action","initSpecsSuccessAction","action","payload","initSpecsFailureAction","error","setCurrentSpecAction","setCurrentSpecSuccessAction","api","setCurrentSpecFailureAction","specActions","actions","useActions","useSpecActions","useStoreState","useSpecStoreState"],"mappings":"AA0BA,SAASA,WAAT,QAA4B,kBAA5B;AAEA,SAASC,gBAAT,QAAiC,eAAjC;AAEA,SAASC,IAAT,QAAqB,SAArB;AAUA,OAAO,IAAMC,iBAA4B,GAAG;AAC1CC,EAAAA,KAAK,EAAE,EADmC;AAE1CC,EAAAA,cAAc,EAAE,EAF0B;AAG1CC,EAAAA,OAAO,EAAE,IAHiC;AAI1CC,EAAAA,WAAW,EAAEC;AAJ6B,CAArC;AAyBP,OAAO,IAAMC,UAAU,GAAGT,WAAW,CAAC;AACpCU,EAAAA,IAAI,EAAE,OAD8B;AAEpCC,EAAAA,YAAY,EAAER,iBAFsB;AAGpCS,EAAAA,QAAQ,EAAE;AACRC,IAAAA,eAAe,CAACC,KAAD,EAAQC,OAAR,EAAiD;AAC9DD,MAAAA,KAAK,CAACR,OAAN,GAAgB,IAAhB;AACAQ,MAAAA,KAAK,CAACP,WAAN,GAAoB,4BAApB;AACD,KAJO;;AAKRS,IAAAA,sBAAsB,CACpBF,KADoB,EAEpBG,MAFoB,EAGpB;AACAH,MAAAA,KAAK,CAACV,KAAN,GAAca,MAAM,CAACC,OAAP,CAAed,KAA7B;AACAU,MAAAA,KAAK,CAACT,cAAN,GAAuBY,MAAM,CAACC,OAAP,CAAeb,cAAtC;AACAS,MAAAA,KAAK,CAACR,OAAN,GAAgB,KAAhB;AACAQ,MAAAA,KAAK,CAACP,WAAN,GAAoBC,SAApB;AACD,KAbO;;AAcRW,IAAAA,sBAAsB,CAACL,KAAD,EAAQG,MAAR,EAAsC;AAC1DH,MAAAA,KAAK,CAACR,OAAN,GAAgB,KAAhB;AACAQ,MAAAA,KAAK,CAACM,KAAN,GAAcH,MAAM,CAACC,OAArB;AACD,KAjBO;;AAkBRG,IAAAA,oBAAoB,CAACP,KAAD,EAAQG,MAAR,EAAqD;AACvEH,MAAAA,KAAK,CAACR,OAAN,GAAgB,IAAhB;AACAQ,MAAAA,KAAK,CAACP,WAAN,0BAAoCU,MAAM,CAACC,OAAP,CAAeb,cAAnD;AACD,KArBO;;AAsBRiB,IAAAA,2BAA2B,CACzBR,KADyB,EAEzBG,MAFyB,EAGzB;AACAH,MAAAA,KAAK,CAACT,cAAN,GAAuBY,MAAM,CAACC,OAAP,CAAeb,cAAtC;AACAS,MAAAA,KAAK,CAACV,KAAN,CAAYU,KAAK,CAACT,cAAlB,EAAkCkB,GAAlC,GAAwCN,MAAM,CAACC,OAAP,CAAeK,GAAvD;AACAT,MAAAA,KAAK,CAACP,WAAN,GAAoBC,SAApB;AACAM,MAAAA,KAAK,CAACR,OAAN,GAAgB,KAAhB;AACD,KA9BO;;AA+BRkB,IAAAA,2BAA2B,CAACV,KAAD,EAAQG,MAAR,EAAsC;AAC/DH,MAAAA,KAAK,CAACR,OAAN,GAAgB,KAAhB;AACAQ,MAAAA,KAAK,CAACM,KAAN,GAAcH,MAAM,CAACC,OAArB;AACD;;AAlCO;AAH0B,CAAD,CAA9B;AAyCP,OAAO,IAAMO,WAAW,GAAGhB,UAAU,CAACiB,OAA/B;AACP,OAAO,IAAM;AAAEC,EAAAA,UAAU,EAAEC,cAAd;AAA8BC,EAAAA,aAAa,EAAEC;AAA7C,IACX7B,gBAAgB,CAACQ,UAAD,EAAaP,IAAb,CADX","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nimport type { PayloadAction } from '@reduxjs/toolkit'\nimport { createSlice } from '@reduxjs/toolkit'\nimport type { ApiModel, SpecList } from '@looker/sdk-codegen'\nimport { createSliceHooks } from '@looker/redux'\n\nimport { saga } from './sagas'\n\nexport interface SpecState {\n specs: SpecList\n currentSpecKey: string\n error?: Error\n working: boolean\n description?: string\n}\n\nexport const defaultSpecsState: SpecState = {\n specs: {},\n currentSpecKey: '',\n working: true,\n description: undefined,\n}\n\nexport interface InitSpecsAction {\n specKey: string | null\n}\n\nexport interface InitSpecsSuccessPayload {\n specs: SpecList\n currentSpecKey: string\n}\n\nexport interface SetCurrentSpecAction {\n currentSpecKey: string\n}\n\ninterface SetCurrentSpecSuccessAction {\n api: ApiModel\n currentSpecKey: string\n}\n\nexport const specsSlice = createSlice({\n name: 'specs',\n initialState: defaultSpecsState,\n reducers: {\n initSpecsAction(state, _action: PayloadAction<InitSpecsAction>) {\n state.working = true\n state.description = 'Fetching specifications...'\n },\n initSpecsSuccessAction(\n state,\n action: PayloadAction<InitSpecsSuccessPayload>\n ) {\n state.specs = action.payload.specs\n state.currentSpecKey = action.payload.currentSpecKey\n state.working = false\n state.description = undefined\n },\n initSpecsFailureAction(state, action: PayloadAction<Error>) {\n state.working = false\n state.error = action.payload\n },\n setCurrentSpecAction(state, action: PayloadAction<SetCurrentSpecAction>) {\n state.working = true\n state.description = `Fetching API ${action.payload.currentSpecKey} spec`\n },\n setCurrentSpecSuccessAction(\n state,\n action: PayloadAction<SetCurrentSpecSuccessAction>\n ) {\n state.currentSpecKey = action.payload.currentSpecKey\n state.specs[state.currentSpecKey].api = action.payload.api\n state.description = undefined\n state.working = false\n },\n setCurrentSpecFailureAction(state, action: PayloadAction<Error>) {\n state.working = false\n state.error = action.payload\n },\n },\n})\n\nexport const specActions = specsSlice.actions\nexport const { useActions: useSpecActions, useStoreState: useSpecStoreState } =\n createSliceHooks(specsSlice, saga)\n"],"file":"slice.js"}
@@ -1,11 +1,65 @@
1
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2
+
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
4
+
5
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+
1
7
  import { createStore } from '@looker/redux';
2
- import { defaultSettingsState, slice } from './settings';
8
+ import map from 'lodash/map';
9
+ import { defaultSettingsState, settingsSlice } from './settings';
10
+ import { lodesSlice, defaultLodesState } from './lodes';
11
+ import { defaultSpecsState, specsSlice } from './specs';
12
+
13
+ var isInitSuccessAction = action => {
14
+ var _action$payload;
15
+
16
+ return !!((_action$payload = action.payload) !== null && _action$payload !== void 0 && _action$payload.specs);
17
+ };
18
+
19
+ var actionSanitizer = (action, _id) => {
20
+ if (isInitSuccessAction(action)) {
21
+ action = _objectSpread(_objectSpread({}, action), {}, {
22
+ payload: _objectSpread(_objectSpread({}, action.payload), {}, {
23
+ specs: sanitizeSpecs(action.payload.specs)
24
+ })
25
+ });
26
+ }
27
+
28
+ return action;
29
+ };
30
+
31
+ var stateSanitizer = (state, _index) => {
32
+ if (state.specs) {
33
+ return _objectSpread(_objectSpread({}, state), {}, {
34
+ specs: _objectSpread(_objectSpread({}, state.specs), {}, {
35
+ specs: sanitizeSpecs(state.specs.specs)
36
+ })
37
+ });
38
+ }
39
+
40
+ return state;
41
+ };
42
+
43
+ var sanitizeSpecs = specList => map(specList, spec => _objectSpread(_objectSpread({}, spec), {}, {
44
+ api: spec.api ? '<api>' : undefined,
45
+ specContent: spec.specContent ? '<specContent>' : undefined
46
+ }));
47
+
48
+ var devTools = process.env.NODE_ENV !== 'production' ? {
49
+ actionSanitizer,
50
+ stateSanitizer
51
+ } : false;
3
52
  export var store = createStore({
53
+ devTools,
4
54
  preloadedState: {
5
- settings: defaultSettingsState
55
+ settings: defaultSettingsState,
56
+ lodes: defaultLodesState,
57
+ specs: defaultSpecsState
6
58
  },
7
59
  reducer: {
8
- settings: slice.reducer
60
+ settings: settingsSlice.reducer,
61
+ lodes: lodesSlice.reducer,
62
+ specs: specsSlice.reducer
9
63
  }
10
64
  });
11
65
  //# sourceMappingURL=store.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/state/store.ts"],"names":["createStore","defaultSettingsState","slice","store","preloadedState","settings","reducer"],"mappings":"AAyBA,SAASA,WAAT,QAA4B,eAA5B;AAGA,SAASC,oBAAT,EAA+BC,KAA/B,QAA4C,YAA5C;AAEA,OAAO,IAAMC,KAAK,GAAGH,WAAW,CAAC;AAC/BI,EAAAA,cAAc,EAAE;AACdC,IAAAA,QAAQ,EAAEJ;AADI,GADe;AAI/BK,EAAAA,OAAO,EAAE;AACPD,IAAAA,QAAQ,EAAEH,KAAK,CAACI;AADT;AAJsB,CAAD,CAAzB","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nimport { createStore } from '@looker/redux'\n\nimport type { SettingState } from './settings'\nimport { defaultSettingsState, slice } from './settings'\n\nexport const store = createStore({\n preloadedState: {\n settings: defaultSettingsState,\n },\n reducer: {\n settings: slice.reducer,\n },\n})\n\nexport interface RootState {\n settings: SettingState\n}\n"],"file":"store.js"}
1
+ {"version":3,"sources":["../../../src/state/store.ts"],"names":["createStore","map","defaultSettingsState","settingsSlice","lodesSlice","defaultLodesState","defaultSpecsState","specsSlice","isInitSuccessAction","action","payload","specs","actionSanitizer","_id","sanitizeSpecs","stateSanitizer","state","_index","specList","spec","api","undefined","specContent","devTools","process","env","NODE_ENV","store","preloadedState","settings","lodes","reducer"],"mappings":";;;;;;AAyBA,SAASA,WAAT,QAA4B,eAA5B;AAGA,OAAOC,GAAP,MAAgB,YAAhB;AAIA,SAASC,oBAAT,EAA+BC,aAA/B,QAAoD,YAApD;AAEA,SAASC,UAAT,EAAqBC,iBAArB,QAA8C,SAA9C;AAEA,SAASC,iBAAT,EAA4BC,UAA5B,QAA8C,SAA9C;;AAEA,IAAMC,mBAAmB,GACvBC,MAD0B;AAAA;;AAAA,SAE2B,CAAC,qBAACA,MAAM,CAACC,OAAR,4CAAC,gBAAgBC,KAAjB,CAF5B;AAAA,CAA5B;;AAIA,IAAMC,eAAe,GAAG,CACtBH,MADsB,EAEtBI,GAFsB,KAGhB;AACN,MAAIL,mBAAmB,CAACC,MAAD,CAAvB,EAAiC;AAC/BA,IAAAA,MAAM,mCACDA,MADC;AAEJC,MAAAA,OAAO,kCACFD,MAAM,CAACC,OADL;AAELC,QAAAA,KAAK,EAAEG,aAAa,CAACL,MAAM,CAACC,OAAP,CAAeC,KAAhB;AAFf;AAFH,MAAN;AAOD;;AACD,SAAOF,MAAP;AACD,CAdD;;AAgBA,IAAMM,cAAc,GAAG,CACrBC,KADqB,EAErBC,MAFqB,KAGf;AACN,MAAID,KAAK,CAACL,KAAV,EAAiB;AACf,2CACKK,KADL;AAEEL,MAAAA,KAAK,kCACAK,KAAK,CAACL,KADN;AAEHA,QAAAA,KAAK,EAAEG,aAAa,CAACE,KAAK,CAACL,KAAN,CAAYA,KAAb;AAFjB;AAFP;AAOD;;AACD,SAAOK,KAAP;AACD,CAdD;;AAgBA,IAAMF,aAAa,GAAII,QAAD,IACpBjB,GAAG,CAACiB,QAAD,EAAYC,IAAD,oCACTA,IADS;AAEZC,EAAAA,GAAG,EAAED,IAAI,CAACC,GAAL,GAAW,OAAX,GAAqBC,SAFd;AAGZC,EAAAA,WAAW,EAAEH,IAAI,CAACG,WAAL,GAAmB,eAAnB,GAAqCD;AAHtC,EAAX,CADL;;AAOA,IAAME,QAAQ,GACZC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,GACI;AAAEd,EAAAA,eAAF;AAAmBG,EAAAA;AAAnB,CADJ,GAEI,KAHN;AAKA,OAAO,IAAMY,KAAK,GAAG3B,WAAW,CAAC;AAC/BuB,EAAAA,QAD+B;AAE/BK,EAAAA,cAAc,EAAE;AACdC,IAAAA,QAAQ,EAAE3B,oBADI;AAEd4B,IAAAA,KAAK,EAAEzB,iBAFO;AAGdM,IAAAA,KAAK,EAAEL;AAHO,GAFe;AAO/ByB,EAAAA,OAAO,EAAE;AACPF,IAAAA,QAAQ,EAAE1B,aAAa,CAAC4B,OADjB;AAEPD,IAAAA,KAAK,EAAE1B,UAAU,CAAC2B,OAFX;AAGPpB,IAAAA,KAAK,EAAEJ,UAAU,CAACwB;AAHX;AAPsB,CAAD,CAAzB","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nimport { createStore } from '@looker/redux'\nimport type { PayloadAction } from '@reduxjs/toolkit'\nimport type { Action } from 'redux'\nimport map from 'lodash/map'\nimport type { SpecList } from '@looker/sdk-codegen'\n\nimport type { SettingState } from './settings'\nimport { defaultSettingsState, settingsSlice } from './settings'\nimport type { LodesState } from './lodes'\nimport { lodesSlice, defaultLodesState } from './lodes'\nimport type { SpecState, InitSpecsSuccessPayload } from './specs'\nimport { defaultSpecsState, specsSlice } from './specs'\n\nconst isInitSuccessAction = (\n action: any\n): action is PayloadAction<InitSpecsSuccessPayload> => !!action.payload?.specs\n\nconst actionSanitizer = <A extends Partial<Action>>(\n action: A,\n _id: number\n): A => {\n if (isInitSuccessAction(action)) {\n action = {\n ...action,\n payload: {\n ...action.payload,\n specs: sanitizeSpecs(action.payload.specs),\n },\n }\n }\n return action\n}\n\nconst stateSanitizer = <S extends Partial<RootState>>(\n state: S,\n _index: number\n): S => {\n if (state.specs) {\n return {\n ...state,\n specs: {\n ...state.specs,\n specs: sanitizeSpecs(state.specs.specs),\n },\n }\n }\n return state\n}\n\nconst sanitizeSpecs = (specList: SpecList) =>\n map(specList, (spec) => ({\n ...spec,\n api: spec.api ? '<api>' : undefined,\n specContent: spec.specContent ? '<specContent>' : undefined,\n })) as unknown as SpecList\n\nconst devTools =\n process.env.NODE_ENV !== 'production'\n ? { actionSanitizer, stateSanitizer }\n : false\n\nexport const store = createStore({\n devTools,\n preloadedState: {\n settings: defaultSettingsState,\n lodes: defaultLodesState,\n specs: defaultSpecsState,\n },\n reducer: {\n settings: settingsSlice.reducer,\n lodes: lodesSlice.reducer,\n specs: specsSlice.reducer,\n },\n})\n\nexport interface RootState {\n settings: SettingState\n lodes: LodesState\n specs: SpecState\n}\n"],"file":"store.js"}
@@ -1,5 +1,4 @@
1
- export { renderWithLode, renderWithReduxProviderAndLode } from './render_with_lode';
1
+ export * from './lodes';
2
2
  export * from './router';
3
3
  export * from './redux';
4
- export { registerTestEnvAdaptor } from './envAdaptor';
5
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/test-utils/index.ts"],"names":["renderWithLode","renderWithReduxProviderAndLode","registerTestEnvAdaptor"],"mappings":"AAyBA,SACEA,cADF,EAEEC,8BAFF,QAGO,oBAHP;AAIA,cAAc,UAAd;AACA,cAAc,SAAd;AACA,SAASC,sBAAT,QAAuC,cAAvC","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nexport {\n renderWithLode,\n renderWithReduxProviderAndLode,\n} from './render_with_lode'\nexport * from './router'\nexport * from './redux'\nexport { registerTestEnvAdaptor } from './envAdaptor'\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/test-utils/index.ts"],"names":[],"mappings":"AAyBA,cAAc,SAAd;AACA,cAAc,UAAd;AACA,cAAc,SAAd","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nexport * from './lodes'\nexport * from './router'\nexport * from './redux'\n"],"file":"index.js"}
@@ -0,0 +1,12 @@
1
+ import { renderWithTheme } from '@looker/components-test-utils';
2
+ import { createTestStore, withReduxProvider } from './redux';
3
+ export var renderWithLode = (consumers, examples, declarations, options) => {
4
+ var store = createTestStore({
5
+ lodes: {
6
+ examples,
7
+ declarations
8
+ }
9
+ });
10
+ return renderWithTheme(withReduxProvider(consumers, store), options);
11
+ };
12
+ //# sourceMappingURL=lodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/test-utils/lodes.tsx"],"names":["renderWithTheme","createTestStore","withReduxProvider","renderWithLode","consumers","examples","declarations","options","store","lodes"],"mappings":"AA4BA,SAASA,eAAT,QAAgC,+BAAhC;AAEA,SAASC,eAAT,EAA0BC,iBAA1B,QAAmD,SAAnD;AAEA,OAAO,IAAMC,cAAc,GAAG,CAC5BC,SAD4B,EAE5BC,QAF4B,EAG5BC,YAH4B,EAI5BC,OAJ4B,KAKzB;AACH,MAAMC,KAAK,GAAGP,eAAe,CAAC;AAAEQ,IAAAA,KAAK,EAAE;AAAEJ,MAAAA,QAAF;AAAYC,MAAAA;AAAZ;AAAT,GAAD,CAA7B;AACA,SAAON,eAAe,CAACE,iBAAiB,CAACE,SAAD,EAAYI,KAAZ,CAAlB,EAAsCD,OAAtC,CAAtB;AACD,CARM","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nimport type { IDeclarationMine, IExampleMine } from '@looker/sdk-codegen'\nimport type { ReactElement } from 'react'\nimport type { RenderOptions } from '@testing-library/react'\nimport { renderWithTheme } from '@looker/components-test-utils'\n\nimport { createTestStore, withReduxProvider } from './redux'\n\nexport const renderWithLode = (\n consumers: ReactElement<any>,\n examples: IExampleMine,\n declarations?: IDeclarationMine,\n options?: Omit<RenderOptions, 'queries'>\n) => {\n const store = createTestStore({ lodes: { examples, declarations } })\n return renderWithTheme(withReduxProvider(consumers, store), options)\n}\n"],"file":"lodes.js"}
@@ -8,13 +8,14 @@ import React from 'react';
8
8
  import { Provider } from 'react-redux';
9
9
  import { renderWithTheme } from '@looker/components-test-utils';
10
10
  import { createStore } from '@looker/redux';
11
- import { defaultSettingsState, store as defaultStore } from '../state';
12
- import { slice as settingsSlice } from '../state/settings';
13
- import { registerEnvAdaptor, StandaloneEnvAdaptor } from '../utils';
11
+ import { BrowserAdaptor, registerEnvAdaptor } from '@looker/extension-utils';
12
+ import { initRunItSdk } from '@looker/run-it';
13
+ import { settingsSlice, defaultLodesState, defaultSettingsState, lodesSlice, defaultSpecsState, specsSlice } from '../state';
14
+ import { specState } from '../test-data';
14
15
  import { renderWithRouter } from './router';
15
16
  export var withReduxProvider = function withReduxProvider(consumers) {
16
- var store = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultStore;
17
- registerEnvAdaptor(new StandaloneEnvAdaptor());
17
+ var store = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : createTestStore();
18
+ registerEnvAdaptor(new BrowserAdaptor(initRunItSdk()));
18
19
  return React.createElement(Provider, {
19
20
  store: store
20
21
  }, consumers);
@@ -26,15 +27,21 @@ export var renderWithRouterAndReduxProvider = function renderWithRouterAndReduxP
26
27
  var options = arguments.length > 3 ? arguments[3] : undefined;
27
28
  return renderWithRouter(withReduxProvider(consumers, store), initialEntries, options);
28
29
  };
29
- var preloadedState = {
30
- settings: defaultSettingsState
30
+ export var preloadedState = {
31
+ settings: defaultSettingsState,
32
+ lodes: defaultLodesState,
33
+ specs: defaultSpecsState
31
34
  };
32
35
  export var createTestStore = overrides => createStore({
33
36
  preloadedState: {
34
- settings: _objectSpread(_objectSpread({}, preloadedState.settings), overrides === null || overrides === void 0 ? void 0 : overrides.settings)
37
+ settings: _objectSpread(_objectSpread({}, preloadedState.settings), overrides === null || overrides === void 0 ? void 0 : overrides.settings),
38
+ lodes: _objectSpread(_objectSpread({}, defaultLodesState), overrides === null || overrides === void 0 ? void 0 : overrides.lodes),
39
+ specs: _objectSpread(_objectSpread({}, specState), overrides === null || overrides === void 0 ? void 0 : overrides.specs)
35
40
  },
36
41
  reducer: {
37
- settings: settingsSlice.reducer
42
+ settings: settingsSlice.reducer,
43
+ lodes: lodesSlice.reducer,
44
+ specs: specsSlice.reducer
38
45
  }
39
46
  });
40
47
  //# sourceMappingURL=redux.js.map