@zengenti/contensis-react-base 4.0.0-beta.9 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/README.md +14 -1
  2. package/cjs/{App-vZrUfVgQ.js → App-CNylISW7.js} +546 -104
  3. package/cjs/App-CNylISW7.js.map +1 -0
  4. package/cjs/{ChangePassword.container-ECjEXixF.js → ChangePassword.container-C4Du3Wb1.js} +57 -50
  5. package/cjs/ChangePassword.container-C4Du3Wb1.js.map +1 -0
  6. package/cjs/{SSRContext-DVj_QAC1.js → ContensisDeliveryApi-MfcvdfDR.js} +32 -74
  7. package/cjs/ContensisDeliveryApi-MfcvdfDR.js.map +1 -0
  8. package/cjs/CookieConstants-DfPiWCRZ.js +12 -0
  9. package/cjs/CookieConstants-DfPiWCRZ.js.map +1 -0
  10. package/{esm/CookieHelper.class-FTURFpz3.js → cjs/CookieHelper.class-Det3qfdU.js} +4 -6
  11. package/cjs/CookieHelper.class-Det3qfdU.js.map +1 -0
  12. package/cjs/{RouteLoader-D5Yg7EB5.js → RouteLoader-DJeM8cym.js} +17 -9
  13. package/cjs/RouteLoader-DJeM8cym.js.map +1 -0
  14. package/cjs/SSRContext-tMufQDHY.js +116 -0
  15. package/cjs/SSRContext-tMufQDHY.js.map +1 -0
  16. package/cjs/ToJs-BsWqWjdm.js +23 -0
  17. package/cjs/ToJs-BsWqWjdm.js.map +1 -0
  18. package/cjs/{VersionInfo-B_dKCubg.js → VersionInfo-zFPsvS8q.js} +3 -25
  19. package/cjs/VersionInfo-zFPsvS8q.js.map +1 -0
  20. package/cjs/client.js +63 -65
  21. package/cjs/client.js.map +1 -1
  22. package/cjs/contensis-react-base.js +208 -119
  23. package/cjs/contensis-react-base.js.map +1 -1
  24. package/cjs/i18n.js +75 -0
  25. package/cjs/i18n.js.map +1 -0
  26. package/cjs/{ToJs-C9jwV7YB.js → matchGroups-dqONU-vY.js} +2 -22
  27. package/cjs/matchGroups-dqONU-vY.js.map +1 -0
  28. package/cjs/redux.js +8 -6
  29. package/cjs/redux.js.map +1 -1
  30. package/cjs/routing.js +15 -7
  31. package/cjs/routing.js.map +1 -1
  32. package/cjs/{sagas-BVX4Ps1e.js → sagas-BCy9u6zA.js} +523 -375
  33. package/cjs/sagas-BCy9u6zA.js.map +1 -0
  34. package/cjs/search.js +54 -29
  35. package/cjs/search.js.map +1 -1
  36. package/cjs/{selectors-wCs5fHD4.js → selectors-BrxJ8-F8.js} +27 -6
  37. package/cjs/selectors-BrxJ8-F8.js.map +1 -0
  38. package/cjs/selectors-DAQR0uZa.js +18 -0
  39. package/cjs/selectors-DAQR0uZa.js.map +1 -0
  40. package/cjs/slice-5xJMH24n.js +69 -0
  41. package/cjs/slice-5xJMH24n.js.map +1 -0
  42. package/cjs/{store-D07FOXvM.js → store-B7SJs5Hf.js} +64 -5
  43. package/cjs/store-B7SJs5Hf.js.map +1 -0
  44. package/cjs/urls-DGZlAs0y.js +25 -0
  45. package/cjs/urls-DGZlAs0y.js.map +1 -0
  46. package/cjs/user.js +20 -17
  47. package/cjs/user.js.map +1 -1
  48. package/cjs/util-eOjxDjxF.js +148 -0
  49. package/cjs/util-eOjxDjxF.js.map +1 -0
  50. package/cjs/util.js +80 -22
  51. package/cjs/util.js.map +1 -1
  52. package/cjs/{version-CM-bJ62L.js → version-rFG9Y6_B.js} +2 -2
  53. package/cjs/{version-CM-bJ62L.js.map → version-rFG9Y6_B.js.map} +1 -1
  54. package/cjs/{version-B7XFkBhY.js → version-yjHMrfVz.js} +15 -16
  55. package/cjs/version-yjHMrfVz.js.map +1 -0
  56. package/esm/{App-DLZweVSp.js → App-Bvs7Km54.js} +507 -66
  57. package/esm/App-Bvs7Km54.js.map +1 -0
  58. package/esm/{ChangePassword.container-BgzIy8dA.js → ChangePassword.container-CUBtn82K.js} +19 -13
  59. package/esm/ChangePassword.container-CUBtn82K.js.map +1 -0
  60. package/esm/{SSRContext-BE8ElZ3X.js → ContensisDeliveryApi-LWYXevZ1.js} +30 -67
  61. package/esm/ContensisDeliveryApi-LWYXevZ1.js.map +1 -0
  62. package/esm/CookieConstants-DEmbwzYr.js +7 -0
  63. package/esm/CookieConstants-DEmbwzYr.js.map +1 -0
  64. package/{cjs/CookieHelper.class-C3Eqoze9.js → esm/CookieHelper.class-C6rTRl_1.js} +2 -14
  65. package/esm/CookieHelper.class-C6rTRl_1.js.map +1 -0
  66. package/esm/{RouteLoader-xeQBXywk.js → RouteLoader-CzrlySZf.js} +14 -6
  67. package/esm/RouteLoader-CzrlySZf.js.map +1 -0
  68. package/esm/SSRContext-Bxtg1KGv.js +106 -0
  69. package/esm/SSRContext-Bxtg1KGv.js.map +1 -0
  70. package/esm/ToJs-BnRRHk6f.js +17 -0
  71. package/esm/ToJs-BnRRHk6f.js.map +1 -0
  72. package/esm/{VersionInfo-Cno7K0OA.js → VersionInfo-By2ZCZOh.js} +4 -24
  73. package/esm/VersionInfo-By2ZCZOh.js.map +1 -0
  74. package/esm/client.js +63 -64
  75. package/esm/client.js.map +1 -1
  76. package/esm/contensis-react-base.js +201 -114
  77. package/esm/contensis-react-base.js.map +1 -1
  78. package/esm/i18n.js +64 -0
  79. package/esm/i18n.js.map +1 -0
  80. package/esm/{ToJs-CNzfvyxJ.js → matchGroups-_w8BwzCC.js} +3 -18
  81. package/esm/matchGroups-_w8BwzCC.js.map +1 -0
  82. package/esm/redux.js +11 -8
  83. package/esm/redux.js.map +1 -1
  84. package/esm/routing.js +14 -7
  85. package/esm/routing.js.map +1 -1
  86. package/esm/{sagas-JI51CS37.js → sagas-Fr9yRduO.js} +511 -362
  87. package/esm/sagas-Fr9yRduO.js.map +1 -0
  88. package/esm/search.js +73 -47
  89. package/esm/search.js.map +1 -1
  90. package/esm/{selectors-DO2ocdOp.js → selectors-8ROQrTd7.js} +25 -7
  91. package/esm/selectors-8ROQrTd7.js.map +1 -0
  92. package/esm/selectors-DcmvOeX2.js +10 -0
  93. package/esm/selectors-DcmvOeX2.js.map +1 -0
  94. package/esm/slice-C6JLQik8.js +63 -0
  95. package/esm/slice-C6JLQik8.js.map +1 -0
  96. package/esm/{store-3u0RzHZ0.js → store-B4IrBYHm.js} +64 -6
  97. package/esm/store-B4IrBYHm.js.map +1 -0
  98. package/esm/urls-tLxo_skx.js +22 -0
  99. package/esm/urls-tLxo_skx.js.map +1 -0
  100. package/esm/user.js +9 -6
  101. package/esm/user.js.map +1 -1
  102. package/esm/util-Bl2u6LpY.js +136 -0
  103. package/esm/util-Bl2u6LpY.js.map +1 -0
  104. package/esm/util.js +58 -14
  105. package/esm/util.js.map +1 -1
  106. package/esm/{version-wnf-TITV.js → version-BQAL8sQO.js} +2 -2
  107. package/esm/{version-wnf-TITV.js.map → version-BQAL8sQO.js.map} +1 -1
  108. package/esm/{version-BlsI7hX2.js → version-CA9Mdm3A.js} +16 -16
  109. package/esm/version-CA9Mdm3A.js.map +1 -0
  110. package/i18n/package.json +5 -0
  111. package/models/app/pages/VersionInfo/components/VersionInfo.d.ts +1 -1
  112. package/models/app/pages/VersionInfo/components/VersionInfo.styled.d.ts +1 -2
  113. package/models/i18n/index.d.ts +5 -0
  114. package/models/i18n/redux/sagas.d.ts +19 -0
  115. package/models/i18n/redux/selectors.d.ts +11 -0
  116. package/models/i18n/redux/slice.d.ts +198 -0
  117. package/models/i18n/routes.d.ts +8 -0
  118. package/models/i18n/useI18n.hook.d.ts +20 -0
  119. package/models/index.d.ts +1 -0
  120. package/models/models/AppState.d.ts +2 -0
  121. package/models/models/ContentTypeMapping.d.ts +6 -1
  122. package/models/models/EntryMapper.d.ts +2 -1
  123. package/models/models/Locales.d.ts +11 -0
  124. package/models/models/MatchedRoute.d.ts +5 -1
  125. package/models/models/RouteComponent.d.ts +0 -1
  126. package/models/models/RouteNode.d.ts +4 -2
  127. package/models/models/SSRContext.d.ts +4 -4
  128. package/models/models/StaticRoute.d.ts +12 -1
  129. package/models/models/WithEvents.d.ts +8 -0
  130. package/models/models/config/AppConfig.d.ts +2 -0
  131. package/models/models/config/I18n.d.ts +38 -0
  132. package/models/models/config/ServerConfig.d.ts +14 -0
  133. package/models/redux/index.d.ts +2 -1
  134. package/models/redux/sagas/index.d.ts +3 -1
  135. package/models/redux/sagas/injector.d.ts +13 -0
  136. package/models/redux/store/injectors/index.d.ts +26 -0
  137. package/models/redux/store/injectors/inject.d.ts +24 -0
  138. package/models/redux/store/injectors/util.d.ts +2 -0
  139. package/models/redux/store/store.d.ts +13 -4
  140. package/models/redux/util.d.ts +1 -1
  141. package/models/routing/components/RouteLoader.d.ts +3 -3
  142. package/models/routing/httpContext.d.ts +0 -1
  143. package/models/routing/index.d.ts +1 -0
  144. package/models/routing/redux/actions.d.ts +1 -1
  145. package/models/routing/redux/invokeSearch.d.ts +22 -0
  146. package/models/routing/redux/selectors.d.ts +47 -4
  147. package/models/routing/util/expressions.d.ts +1 -1
  148. package/models/routing/util/find-contenttype-mapping.d.ts +3 -1
  149. package/models/search/containers/withListing.d.ts +1 -1
  150. package/models/search/containers/withSearch.d.ts +1 -1
  151. package/models/search/models/Queries.d.ts +3 -5
  152. package/models/search/models/Search.d.ts +43 -13
  153. package/models/search/models/SearchActions.d.ts +61 -18
  154. package/models/search/models/SearchProps.d.ts +11 -10
  155. package/models/search/models/SearchState.d.ts +23 -2
  156. package/models/search/models/SearchUtil.d.ts +3 -3
  157. package/models/search/redux/getIn.d.ts +2 -2
  158. package/models/search/redux/reducers.d.ts +3 -4
  159. package/models/search/redux/sagas.d.ts +13 -14
  160. package/models/search/redux/schema.d.ts +3 -3
  161. package/models/search/redux/selectors.d.ts +64 -42
  162. package/models/search/redux/util.d.ts +10 -1
  163. package/models/search/search/ContensisDeliveryApi.d.ts +6 -26
  164. package/models/search/search/expressions.d.ts +6 -4
  165. package/models/search/search/util.d.ts +9 -7
  166. package/models/search/transformations/state-to-queryparams.mapper.d.ts +1 -1
  167. package/models/server/features/linkdepth-api/search.d.ts +1 -1
  168. package/models/server/features/response-handler/render-stream.d.ts +2 -4
  169. package/models/server/features/static-assets/index.d.ts +4 -3
  170. package/models/server/internalServer.d.ts +1 -2
  171. package/models/server/middleware/subsiteDebug.d.ts +11 -0
  172. package/models/server/root.d.ts +3 -0
  173. package/models/server/util/bundles.d.ts +9 -9
  174. package/models/server/util/jsx.d.ts +2 -14
  175. package/models/user/components.styled/Login.styled.d.ts +1 -1
  176. package/models/user/components.styled/LoginForm.styled.d.ts +1 -1
  177. package/models/user/hocs/withRegistration.d.ts +1 -1
  178. package/models/util/CachedDeliveryApi.d.ts +8 -2
  179. package/models/util/ContensisDeliveryApi.d.ts +2 -4
  180. package/models/util/NoSSR.d.ts +6 -0
  181. package/models/util/SSRContext.d.ts +3 -19
  182. package/models/util/donotuse_useHistory.d.ts +6 -0
  183. package/models/util/errors.d.ts +16 -0
  184. package/models/util/index.d.ts +7 -2
  185. package/models/util/subsite.d.ts +12 -0
  186. package/models/util/urls.d.ts +1 -2
  187. package/models/util/useIsClient.d.ts +6 -0
  188. package/package.json +37 -39
  189. package/cjs/App-vZrUfVgQ.js.map +0 -1
  190. package/cjs/ChangePassword.container-ECjEXixF.js.map +0 -1
  191. package/cjs/CookieHelper.class-C3Eqoze9.js.map +0 -1
  192. package/cjs/RouteLoader-D5Yg7EB5.js.map +0 -1
  193. package/cjs/SSRContext-DVj_QAC1.js.map +0 -1
  194. package/cjs/ToJs-C9jwV7YB.js.map +0 -1
  195. package/cjs/VersionInfo-B_dKCubg.js.map +0 -1
  196. package/cjs/sagas-BVX4Ps1e.js.map +0 -1
  197. package/cjs/selectors-wCs5fHD4.js.map +0 -1
  198. package/cjs/store-D07FOXvM.js.map +0 -1
  199. package/cjs/version-B7XFkBhY.js.map +0 -1
  200. package/esm/App-DLZweVSp.js.map +0 -1
  201. package/esm/ChangePassword.container-BgzIy8dA.js.map +0 -1
  202. package/esm/CookieHelper.class-FTURFpz3.js.map +0 -1
  203. package/esm/RouteLoader-xeQBXywk.js.map +0 -1
  204. package/esm/SSRContext-BE8ElZ3X.js.map +0 -1
  205. package/esm/ToJs-CNzfvyxJ.js.map +0 -1
  206. package/esm/VersionInfo-Cno7K0OA.js.map +0 -1
  207. package/esm/sagas-JI51CS37.js.map +0 -1
  208. package/esm/selectors-DO2ocdOp.js.map +0 -1
  209. package/esm/store-3u0RzHZ0.js.map +0 -1
  210. package/esm/version-BlsI7hX2.js.map +0 -1
  211. package/models/redux/store/injectors.d.ts +0 -31
  212. package/models/search/search/ToJs.d.ts +0 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectors-BrxJ8-F8.js","sources":["../src/redux/util.ts","../src/routing/redux/types.ts","../src/routing/redux/actions.ts","../src/user/redux/types.ts","../src/user/redux/reducers.ts","../src/util/navigation.js","../src/routing/redux/selectors.ts"],"sourcesContent":["import { jpath } from '~/util/json-mapper';\n\nexport const action = (type: string, payload: any = {}) => ({\n type,\n ...payload,\n});\n\nexport const getJS = <S extends Record<string, unknown>, T extends keyof S>(\n state: S,\n stateKey: T\n) => {\n if (\n 'get' in state &&\n typeof state.get === 'function' &&\n 'toJS' in state &&\n typeof state.toJS === 'function'\n ) {\n return state.get(stateKey) as S[T];\n }\n return state[stateKey];\n};\n\nexport const getImmutableOrJS = <\n S extends Record<string, unknown>,\n T extends keyof S | any\n>(\n state: S,\n stateKey: T | T[],\n fallbackValue?: any,\n returnType: 'immutable' | 'js' = globalThis.STATE_TYPE\n) => {\n // Find a fromJS function from global that is dynamically loaded in createStore\n // or replace with a stub function for non-immutable gets\n const fromJS =\n returnType === 'immutable'\n ? globalThis.immutable?.fromJSOrdered || globalThis.immutable?.fromJS\n : v => v;\n\n if (\n state &&\n 'get' in state &&\n typeof state.get === 'function' &&\n 'getIn' in state &&\n typeof state.getIn === 'function' &&\n 'toJS' in state &&\n typeof state.toJS === 'function'\n ) {\n if (Array.isArray(stateKey))\n return fromJS(state.getIn(stateKey, fallbackValue));\n return fromJS(state.get(stateKey, fallbackValue)) as S[T | any];\n }\n\n if (Array.isArray(stateKey) && state && typeof state === 'object') {\n const result = jpath(stateKey.join('.'), state);\n if (typeof result === 'undefined') return fallbackValue;\n return result;\n }\n\n const result =\n state && typeof state === 'object' ? state[stateKey as string] : undefined;\n if (typeof result === 'undefined') return fallbackValue;\n return result;\n};\n","const ROUTING_PREFIX = '@ROUTING/';\nexport const GET_ENTRY = `${ROUTING_PREFIX}_GET_ENTRY`;\nexport const SET_ENTRY = `${ROUTING_PREFIX}_SET_ENTRY`;\nexport const SET_NODE = `${ROUTING_PREFIX}_SET_NODE`;\nexport const SET_ANCESTORS = `${ROUTING_PREFIX}_SET_ANCESTORS`;\nexport const SET_SIBLINGS = `${ROUTING_PREFIX}_SET_SIBLINGS`;\nexport const SET_ENTRY_ID = `${ROUTING_PREFIX}_SET_ENTRY_ID`;\nexport const SET_SURROGATE_KEYS = `${ROUTING_PREFIX}_SET_SURROGATE_KEYS`;\n\nexport const SET_NAVIGATION_PATH = `${ROUTING_PREFIX}_SET_NAVIGATION_PATH`;\n\nexport const SET_TARGET_PROJECT = `${ROUTING_PREFIX}_SET_TARGET_PROJECT`;\n\nexport const SET_ROUTE = `${ROUTING_PREFIX}_SET_ROUTE`;\n\nexport const UPDATE_LOADING_STATE = `${ROUTING_PREFIX}_UPDATE_LOADING_STATE`;\n","import { useLocation } from 'react-router-dom';\nimport { action } from '~/redux/util';\nimport {\n SET_ENTRY,\n SET_NAVIGATION_PATH,\n SET_TARGET_PROJECT,\n SET_ROUTE,\n SET_SURROGATE_KEYS,\n} from './types';\n\nimport { Entry } from 'contensis-delivery-api/lib/models';\nimport { AppRoutes, MatchedRoute, StaticRoute, SSRContext, WithEvents } from '~/models';\n\nexport const setNavigationPath = (\n path: string,\n contentPath: string,\n location: ReturnType<typeof useLocation>,\n staticRoute: MatchedRoute<string, StaticRoute> | undefined,\n withEvents: WithEvents,\n statePath: string,\n routes: AppRoutes,\n ssr: SSRContext\n) =>\n action(SET_NAVIGATION_PATH, {\n path,\n contentPath,\n location,\n staticRoute,\n withEvents,\n statePath,\n routes,\n ssr,\n });\n\nexport const setCurrentProject = (\n project: string,\n allowedGroups: any,\n hostname: string\n) => action(SET_TARGET_PROJECT, { project, allowedGroups, hostname });\n\nexport const setRoute = (path: string, state?: any) =>\n action(SET_ROUTE, { path, state });\n\nexport const setRouteEntry = (entry: Entry) => action(SET_ENTRY, { entry });\n\nexport const setSurrogateKeys = (keys: string, url: string, status: number) =>\n action(SET_SURROGATE_KEYS, { keys, url, status });\n","const ACTION_PREFIX = '@USER/';\nexport const VALIDATE_USER = `${ACTION_PREFIX}VALIDATE_USER`;\nexport const SET_AUTHENTICATION_STATE = `${ACTION_PREFIX}SET_AUTHENTICATION_STATE`;\nexport const LOGIN_USER = `${ACTION_PREFIX}LOGIN_USER`;\nexport const LOGIN_SUCCESSFUL = `${ACTION_PREFIX}LOGIN_SUCCESSFUL`;\nexport const LOGIN_FAILED = `${ACTION_PREFIX}LOGIN_FAILED`;\nexport const LOGOUT_USER = `${ACTION_PREFIX}LOGOUT_USER`;\nexport const REGISTER_USER = `${ACTION_PREFIX}REGISTER_USER`;\nexport const REGISTER_USER_SUCCESS = `${ACTION_PREFIX}REGISTER_USER_SUCCESS`;\nexport const REGISTER_USER_FAILED = `${ACTION_PREFIX}REGISTER_USER_FAILED`;\n\nexport const REQUEST_USER_PASSWORD_RESET = `${ACTION_PREFIX}REQUEST_USER_PASSWORD_RESET`;\nexport const RESET_USER_PASSWORD = `${ACTION_PREFIX}RESET_USER_PASSWORD`;\nexport const REQUEST_USER_PASSWORD_RESET_SENDING = `${ACTION_PREFIX}REQUEST_USER_PASSWORD_RESET_SENDING`;\nexport const REQUEST_USER_PASSWORD_RESET_SUCCESS = `${ACTION_PREFIX}REQUEST_USER_PASSWORD_RESET_SUCCESS`;\nexport const REQUEST_USER_PASSWORD_RESET_ERROR = `${ACTION_PREFIX}REQUEST_USER_PASSWORD_RESET_ERROR`;\nexport const RESET_USER_PASSWORD_SENDING = `${ACTION_PREFIX}RESET_USER_PASSWORD_SENDING`;\nexport const RESET_USER_PASSWORD_SUCCESS = `${ACTION_PREFIX}RESET_USER_PASSWORD_SUCCESS`;\nexport const RESET_USER_PASSWORD_ERROR = `${ACTION_PREFIX}RESET_USER_PASSWORD_ERROR`;\n\nexport const CHANGE_USER_PASSWORD = `${ACTION_PREFIX}CHANGE_USER_PASSWORD`;\nexport const CHANGE_USER_PASSWORD_SENDING = `${ACTION_PREFIX}CHANGE_USER_PASSWORD_SENDING`;\nexport const CHANGE_USER_PASSWORD_SUCCESS = `${ACTION_PREFIX}CHANGE_USER_PASSWORD_SUCCESS`;\nexport const CHANGE_USER_PASSWORD_ERROR = `${ACTION_PREFIX}CHANGE_USER_PASSWORD_ERROR`;\n","import { Draft, produce } from 'immer';\nimport { AppState } from '~/models';\nimport {\n REGISTER_USER,\n REGISTER_USER_FAILED,\n REGISTER_USER_SUCCESS,\n SET_AUTHENTICATION_STATE,\n LOGIN_USER,\n LOGOUT_USER,\n REQUEST_USER_PASSWORD_RESET_SENDING,\n REQUEST_USER_PASSWORD_RESET_SUCCESS,\n REQUEST_USER_PASSWORD_RESET_ERROR,\n RESET_USER_PASSWORD_SENDING,\n RESET_USER_PASSWORD_SUCCESS,\n RESET_USER_PASSWORD_ERROR,\n CHANGE_USER_PASSWORD_SENDING,\n CHANGE_USER_PASSWORD_SUCCESS,\n CHANGE_USER_PASSWORD_ERROR,\n} from './types';\n\nconst defaultAuthenticationState = {\n clientCredentials: null,\n errorMessage: null,\n isAuthenticated: false,\n isAuthenticationError: false,\n isError: false,\n isLoading: false,\n};\n\nconst defaultPasswordResetRequestValues = {\n isSending: false,\n sent: false,\n error: null,\n};\n\nconst defaultResetPasswordValues = {\n isSending: false,\n sent: false,\n error: null,\n};\n\nconst defaultChangePasswordValues = {\n isSending: false,\n sent: false,\n error: null,\n};\n\nconst defaultRegistrationValues = {\n isLoading: false,\n success: false,\n error: null,\n};\n\nexport const initialUserState = {\n authenticationState: defaultAuthenticationState,\n passwordResetRequest: defaultPasswordResetRequestValues,\n resetPassword: defaultResetPasswordValues,\n changePassword: defaultChangePasswordValues,\n groups: [],\n};\n\nexport default produce((state: Draft<AppState['user']>, action) => {\n switch (action.type) {\n case LOGOUT_USER: {\n return initialUserState;\n }\n case LOGIN_USER:\n case SET_AUTHENTICATION_STATE: {\n if (!action.authenticationState) {\n action.authenticationState = defaultAuthenticationState;\n }\n\n const {\n authenticationState: {\n clientCredentials = null,\n errorMessage = null,\n isAuthenticated,\n isAuthenticationError = false,\n isError = false,\n isLoading = action.type === LOGIN_USER,\n },\n user,\n } = action;\n\n if (user) {\n user.name =\n `${user.firstName}${user.lastName ? ` ${user.lastName}` : ''}` ||\n null;\n user.isZengentiStaff = user.email.includes('@zengenti.com');\n }\n\n state = {\n ...initialUserState,\n ...(user || state),\n authenticationState: {\n clientCredentials,\n errorMessage,\n isAuthenticated:\n isAuthenticated || state?.authenticationState?.isAuthenticated,\n isAuthenticationError,\n isError,\n isLoading,\n },\n };\n return state;\n }\n // REGISTER_USER is the trigger to set the user.registration initial state\n // and will set user.registration.isLoading to true\n // REGISTER_USER_FAILED will unset user.registration.isLoading and will set\n // the value in user.registration.error\n // REGISTER_USER_SUCCESS will unset user.registration.isLoading and will\n // set user.registration to the created user from the api response\n case REGISTER_USER:\n case REGISTER_USER_FAILED:\n case REGISTER_USER_SUCCESS: {\n const { error, user } = action;\n\n // Set registration object from the supplied action.user\n // so we can call these values back later\n state.registration = (user ||\n state.registration ||\n defaultRegistrationValues) as typeof defaultRegistrationValues;\n\n // Set registration flags so the UI can track the status\n state.registration.success = action.type === REGISTER_USER_SUCCESS;\n state.registration.error = error || false;\n state.registration.isLoading = action.type === REGISTER_USER;\n return;\n }\n case REQUEST_USER_PASSWORD_RESET_SENDING:\n if (state.passwordResetRequest) {\n state.passwordResetRequest = { ...defaultPasswordResetRequestValues };\n state.passwordResetRequest.isSending = true;\n }\n return;\n case REQUEST_USER_PASSWORD_RESET_SUCCESS:\n if (state.passwordResetRequest) {\n state.passwordResetRequest.isSending = false;\n state.passwordResetRequest.sent = true;\n }\n return;\n case REQUEST_USER_PASSWORD_RESET_ERROR:\n if (state.passwordResetRequest) {\n state.passwordResetRequest.isSending = false;\n state.passwordResetRequest.error = action.error;\n }\n return;\n case RESET_USER_PASSWORD_SENDING:\n if (state.resetPassword) {\n state.resetPassword.isSending = true;\n }\n return;\n case RESET_USER_PASSWORD_SUCCESS:\n if (state.resetPassword) {\n state.resetPassword.isSending = false;\n state.resetPassword.sent = true;\n }\n return;\n case RESET_USER_PASSWORD_ERROR:\n if (state.resetPassword) {\n state.resetPassword.isSending = false;\n state.resetPassword.error = action.error;\n }\n return;\n case CHANGE_USER_PASSWORD_SENDING:\n if (state.changePassword) {\n state.changePassword.isSending = true;\n }\n return;\n case CHANGE_USER_PASSWORD_SUCCESS:\n if (state.changePassword) {\n state.changePassword.isSending = false;\n state.changePassword.sent = true;\n }\n return;\n case CHANGE_USER_PASSWORD_ERROR:\n if (state.changePassword) {\n state.changePassword.isSending = false;\n state.changePassword.error = action.error;\n }\n return;\n default:\n return;\n }\n}, initialUserState);\n","import queryString from 'query-string';\n\nexport function queryParams(search) {\n return queryString.parse(\n typeof window != 'undefined' ? window.location.search : search\n );\n}\nexport const routeParams = staticRoute =>\n staticRoute && staticRoute.match ? staticRoute.match.params : {};\n\nexport const buildUrl = (route, params) => {\n const qs = queryString.stringify(params);\n const path = qs ? `${route}?${qs}` : route;\n return path;\n};\n\nexport const clientHostname = () =>\n `${window.location.protocol}//${window.location.hostname}:${window.location.port}`;\n","import { Entry } from 'contensis-delivery-api';\nimport { createSelector } from 'reselect';\nimport { AppState, MatchedRoute, StateType, StaticRoute } from '~/models';\nimport { getImmutableOrJS as getIn } from '~/redux/util';\nimport { queryParams } from '~/util/navigation';\n\nexport const selectRouteEntry = (state: AppState, returnType?: StateType) =>\n getIn(state, ['routing', 'entry'], {} as Entry, returnType);\n\nexport const selectMappedEntry = (state: AppState, returnType?: StateType) =>\n getIn(state, ['routing', 'mappedEntry'], null, returnType);\n\nexport const selectSurrogateKeys = (state: AppState) => {\n const keys = getIn(state, ['routing', 'surrogateKeys'], [], 'js');\n return keys;\n};\nexport const selectSsrApiCalls = (state: AppState) => {\n return getIn(state, ['routing', 'apiCalls'], [], 'js');\n};\nexport const selectCurrentHostname = (state: AppState) =>\n getIn(state, ['routing', 'currentHostname']);\n\nexport const selectSsrHostname = (state: AppState) =>\n getIn(state, ['routing', 'ssrHostname']);\n\nexport const selectCurrentTreeID = (state: AppState) =>\n getIn(state, ['routing', 'currentHostname']);\n\nexport const selectRouteEntryEntryId = (state: AppState) =>\n getIn(state, ['routing', 'entry', 'sys', 'id'], null);\n\nexport const selectRouteEntryContentTypeId = (state: AppState) => {\n const entry = selectRouteEntry(state);\n return getIn(entry, ['sys', 'contentTypeId'], null);\n};\n\nexport const selectRouteEntryLanguage = (state: AppState) => {\n const entry = selectRouteEntry(state);\n return getIn(entry, ['sys', 'language'], null);\n};\n\nexport const selectRouteEntryAvailableLanguages = (\n state: AppState\n): string[] => {\n const entry = selectRouteEntry(state);\n return getIn(entry, ['sys', 'availableLanguages'], []);\n};\n\nexport const selectRouteEntrySlug = (state: AppState) => {\n const entry = selectRouteEntry(state);\n return getIn(entry, ['sys', 'slug'], null);\n};\n\nexport const selectRouteEntryID = (state: AppState) =>\n getIn(state, ['routing', 'entryID']);\n\nexport const selectCanonicalPath = (state: AppState) => {\n return getIn(state, ['routing', 'canonicalPath']);\n};\n\nexport const selectCurrentPath = (state: AppState) =>\n getIn(state, ['routing', 'currentPath']);\n\nexport const selectCurrentLocation = (state: AppState) =>\n getIn(state, ['routing', 'location']);\nexport const selectCurrentSearch = (state: AppState) =>\n getIn(state, ['routing', 'location', 'search']);\nexport const selectCurrentHash = (state: AppState) =>\n getIn(state, ['routing', 'location', 'hash']);\n\n// export const selectQueryStringAsObject = (state: AppState) =>\n// queryParams(selectCurrentSearch(state));\n\nexport const selectQueryStringAsObject = createSelector(\n [selectCurrentSearch],\n currentSearch => queryParams(currentSearch)\n);\n\nexport const selectCurrentProject = (state: AppState) =>\n getIn(state, ['routing', 'currentProject']);\nexport const selectIsNotFound = (state: AppState) =>\n getIn(state, ['routing', 'notFound']);\nexport const selectCurrentAncestors = (state: AppState) =>\n getIn(state, ['routing', 'currentNodeAncestors'], []);\nexport const selectCurrentSiblings = (state: AppState) =>\n getIn(state, ['routing', 'currentNodeSiblings'], []);\nexport const selectCurrentNode = (state: AppState, returnType?: StateType) =>\n getIn(state, ['routing', 'currentNode'], null, returnType);\nexport const selectCurrentNodeLanguage = (state: AppState) =>\n getIn(state, ['routing', 'currentNode', 'language'], null);\nexport const selectCurrentChildren = state =>\n getIn(state, ['routing', 'currentNode', 'children'], []);\n\n// export const selectBreadcrumb = (state: AppState) => {\n// return [...selectCurrentAncestors(state), selectCurrentNode(state)];\n// };\n\nexport const selectBreadcrumb = createSelector(\n [selectCurrentAncestors, selectCurrentNode],\n (currentAncestors, currentNode) => [...currentAncestors, currentNode]\n);\n\nexport const selectRouteErrorMessage = (state: AppState) => {\n const error = getIn(state, ['routing', 'error']);\n return getIn(error, ['data', 'message'], getIn(error, 'statusText'));\n};\nexport const selectRouteIsError = (state: AppState) =>\n getIn(state, ['routing', 'isError']);\nexport const selectRouteLoading = (state: AppState) =>\n getIn(state, ['routing', 'isLoading']);\nexport const selectRouteStatusCode = (state: AppState) =>\n getIn(state, ['routing', 'statusCode']);\nexport const selectStaticRoute = (\n state: AppState\n): MatchedRoute<string, StaticRoute> =>\n getIn(state, ['routing', 'staticRoute']);\n"],"names":["action","type","payload","getJS","state","stateKey","get","toJS","getImmutableOrJS","fallbackValue","returnType","globalThis","STATE_TYPE","_globalThis$immutable","_globalThis$immutable2","fromJS","immutable","fromJSOrdered","v","getIn","Array","isArray","result","jpath","join","undefined","ROUTING_PREFIX","GET_ENTRY","SET_ENTRY","SET_NODE","SET_ANCESTORS","SET_SIBLINGS","SET_ENTRY_ID","SET_SURROGATE_KEYS","SET_NAVIGATION_PATH","SET_TARGET_PROJECT","SET_ROUTE","UPDATE_LOADING_STATE","setNavigationPath","path","contentPath","location","staticRoute","withEvents","statePath","routes","ssr","setCurrentProject","project","allowedGroups","hostname","setRoute","setRouteEntry","entry","setSurrogateKeys","keys","url","status","ACTION_PREFIX","VALIDATE_USER","SET_AUTHENTICATION_STATE","LOGIN_USER","LOGIN_SUCCESSFUL","LOGIN_FAILED","LOGOUT_USER","REGISTER_USER","REGISTER_USER_SUCCESS","REGISTER_USER_FAILED","REQUEST_USER_PASSWORD_RESET","RESET_USER_PASSWORD","REQUEST_USER_PASSWORD_RESET_SENDING","REQUEST_USER_PASSWORD_RESET_SUCCESS","REQUEST_USER_PASSWORD_RESET_ERROR","RESET_USER_PASSWORD_SENDING","RESET_USER_PASSWORD_SUCCESS","RESET_USER_PASSWORD_ERROR","CHANGE_USER_PASSWORD","CHANGE_USER_PASSWORD_SENDING","CHANGE_USER_PASSWORD_SUCCESS","CHANGE_USER_PASSWORD_ERROR","defaultAuthenticationState","clientCredentials","errorMessage","isAuthenticated","isAuthenticationError","isError","isLoading","defaultPasswordResetRequestValues","isSending","sent","error","defaultResetPasswordValues","defaultChangePasswordValues","defaultRegistrationValues","success","initialUserState","authenticationState","passwordResetRequest","resetPassword","changePassword","groups","produce","_state","user","name","firstName","lastName","isZengentiStaff","email","includes","registration","queryParams","search","queryString","parse","window","selectRouteEntry","selectMappedEntry","selectSurrogateKeys","selectSsrApiCalls","selectCurrentHostname","selectSsrHostname","selectCurrentTreeID","selectRouteEntryEntryId","selectRouteEntryContentTypeId","selectRouteEntryLanguage","selectRouteEntryAvailableLanguages","selectRouteEntrySlug","selectRouteEntryID","selectCanonicalPath","selectCurrentPath","selectCurrentLocation","selectCurrentSearch","selectCurrentHash","selectQueryStringAsObject","createSelector","currentSearch","selectCurrentProject","selectIsNotFound","selectCurrentAncestors","selectCurrentSiblings","selectCurrentNode","selectCurrentNodeLanguage","selectCurrentChildren","selectBreadcrumb","currentAncestors","currentNode","selectRouteErrorMessage","selectRouteIsError","selectRouteLoading","selectRouteStatusCode","selectStaticRoute"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+ const selectLocales = state => state.i18n.locales;
4
+ const selectLocaleRoutes = state => state.i18n.routes;
5
+ const selectCurrentLanguage = state => state.i18n.currentLanguage;
6
+ const selectPrimaryLanguage = state => state.i18n.primaryLanguage;
7
+ const selectSupportedLanguages = state => state.i18n.supportedLanguages;
8
+ const selectDictionary = state => state.i18n.dictionary;
9
+ const selectDictionaryResolver = state => state.i18n.resolver;
10
+
11
+ exports.selectCurrentLanguage = selectCurrentLanguage;
12
+ exports.selectDictionary = selectDictionary;
13
+ exports.selectDictionaryResolver = selectDictionaryResolver;
14
+ exports.selectLocaleRoutes = selectLocaleRoutes;
15
+ exports.selectLocales = selectLocales;
16
+ exports.selectPrimaryLanguage = selectPrimaryLanguage;
17
+ exports.selectSupportedLanguages = selectSupportedLanguages;
18
+ //# sourceMappingURL=selectors-DAQR0uZa.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectors-DAQR0uZa.js","sources":["../src/i18n/redux/selectors.ts"],"sourcesContent":["import { AppState } from '~/models';\nimport { LocaleDictionary } from '~/models/Locales';\n\nexport const selectLocales = (state: AppState) => state.i18n.locales;\n\nexport const selectLocaleRoutes = (state: AppState) => state.i18n.routes;\n\nexport const selectCurrentLanguage = (state: AppState) =>\n state.i18n.currentLanguage;\n\nexport const selectPrimaryLanguage = (state: AppState) =>\n state.i18n.primaryLanguage;\n\nexport const selectSupportedLanguages = (state: AppState) =>\n state.i18n.supportedLanguages;\n\nexport const selectDictionary = <T extends LocaleDictionary = LocaleDictionary>(state: AppState) =>\n state.i18n.dictionary as T;\n\nexport const selectDictionaryResolver = (state: AppState) =>\n state.i18n.resolver;\n"],"names":["selectLocales","state","i18n","locales","selectLocaleRoutes","routes","selectCurrentLanguage","currentLanguage","selectPrimaryLanguage","primaryLanguage","selectSupportedLanguages","supportedLanguages","selectDictionary","dictionary","selectDictionaryResolver","resolver"],"mappings":";;AAGO,MAAMA,aAAa,GAAIC,KAAe,IAAKA,KAAK,CAACC,IAAI,CAACC;AAEtD,MAAMC,kBAAkB,GAAIH,KAAe,IAAKA,KAAK,CAACC,IAAI,CAACG;AAE3D,MAAMC,qBAAqB,GAAIL,KAAe,IACnDA,KAAK,CAACC,IAAI,CAACK;AAEN,MAAMC,qBAAqB,GAAIP,KAAe,IACnDA,KAAK,CAACC,IAAI,CAACO;AAEN,MAAMC,wBAAwB,GAAIT,KAAe,IACtDA,KAAK,CAACC,IAAI,CAACS;AAEN,MAAMC,gBAAgB,GAAmDX,KAAe,IAC7FA,KAAK,CAACC,IAAI,CAACW;AAEN,MAAMC,wBAAwB,GAAIb,KAAe,IACtDA,KAAK,CAACC,IAAI,CAACa;;;;;;;;;;"}
@@ -0,0 +1,69 @@
1
+ 'use strict';
2
+
3
+ var toolkit = require('@reduxjs/toolkit');
4
+
5
+ const i18nSlice = toolkit.createSlice({
6
+ name: 'i18n',
7
+ initialState: {
8
+ currentLanguage: '',
9
+ dictionary: {},
10
+ locales: {},
11
+ routes: {},
12
+ primaryLanguage: '',
13
+ supportedLanguages: [],
14
+ resolver: undefined,
15
+ error: undefined
16
+ },
17
+ reducers: {
18
+ GET_ENTRY_URI_ERROR(draft, {
19
+ payload
20
+ }) {
21
+ draft.error = payload;
22
+ },
23
+ INIT_LOCALES(draft, {
24
+ payload
25
+ }) {
26
+ draft.locales = payload.locales;
27
+ draft.routes = payload.routes;
28
+ draft.primaryLanguage = payload.primaryLanguage;
29
+ draft.supportedLanguages = payload.supportedLanguages;
30
+ if (payload.resolver) draft.resolver = payload.resolver;
31
+ },
32
+ SET_LANGUAGE(draft, {
33
+ payload
34
+ }) {
35
+ draft.currentLanguage = payload.language;
36
+ if (payload.dictionary) draft.dictionary = payload.dictionary;
37
+ },
38
+ SET_LOCALES(draft, {
39
+ payload
40
+ }) {
41
+ // Sort locales object by keys alphabetically
42
+ const sortedLocales = Object.keys(payload.locales || {}).sort().reduce((sorted, key) => {
43
+ sorted[key] = payload.locales[key];
44
+ return sorted;
45
+ }, {});
46
+ draft.locales = sortedLocales;
47
+ draft.primaryLanguage = payload.primaryLanguage;
48
+ draft.supportedLanguages = [...(payload.supportedLanguages || [])].sort();
49
+ if (payload.resolver) draft.resolver = payload.resolver;
50
+ },
51
+ /** UPDATE_LANGUAGE action triggers updateLanguage saga and ends with SET_LANGUAGE */
52
+ UPDATE_LANGUAGE(_draft, _) {}
53
+ }
54
+ });
55
+ const {
56
+ actions,
57
+ reducer,
58
+ getInitialState
59
+ } = i18nSlice;
60
+
61
+ // Alias some nicer named exports for the actions
62
+ const updateLanguage = actions.UPDATE_LANGUAGE;
63
+
64
+ exports.actions = actions;
65
+ exports.getInitialState = getInitialState;
66
+ exports.i18nSlice = i18nSlice;
67
+ exports.reducer = reducer;
68
+ exports.updateLanguage = updateLanguage;
69
+ //# sourceMappingURL=slice-5xJMH24n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slice-5xJMH24n.js","sources":["../src/i18n/redux/slice.ts"],"sourcesContent":["import { createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { I18nAppConfig } from '~/models/config/I18n';\nimport { LocaleDictionary, LocaleRoutes, Locales } from '~/models/Locales';\n\nexport type UpdateLanguageActionPayload = {\n language: string;\n redirect?: boolean | string;\n fallbackPath?: string;\n};\n\nconst i18nSlice = createSlice({\n name: 'i18n',\n initialState: {\n currentLanguage: '',\n dictionary: {} as LocaleDictionary,\n locales: {} as { [language: string]: any },\n routes: {} as LocaleRoutes,\n primaryLanguage: '',\n supportedLanguages: [] as string[],\n resolver: undefined as\n | ((language: string) => Promise<LocaleDictionary> | LocaleDictionary)\n | undefined,\n error: undefined as Error | undefined,\n },\n reducers: {\n GET_ENTRY_URI_ERROR(draft, { payload }: PayloadAction<Error>) {\n draft.error = payload;\n },\n INIT_LOCALES(\n draft,\n {\n payload,\n }: PayloadAction<\n {\n locales: Locales;\n routes: LocaleRoutes;\n } & I18nAppConfig\n >\n ) {\n draft.locales = payload.locales;\n draft.routes = payload.routes;\n draft.primaryLanguage = payload.primaryLanguage;\n draft.supportedLanguages = payload.supportedLanguages;\n if (payload.resolver) draft.resolver = payload.resolver;\n },\n SET_LANGUAGE(\n draft,\n {\n payload,\n }: PayloadAction<{\n language: string;\n dictionary: LocaleDictionary;\n redirect?: string;\n }>\n ) {\n draft.currentLanguage = payload.language;\n if (payload.dictionary) draft.dictionary = payload.dictionary;\n },\n SET_LOCALES(\n draft,\n {\n payload,\n }: PayloadAction<\n {\n locales: Locales;\n } & I18nAppConfig\n >\n ) {\n // Sort locales object by keys alphabetically\n const sortedLocales = Object.keys(payload.locales || {})\n .sort()\n .reduce((sorted, key) => {\n sorted[key] = payload.locales[key];\n return sorted;\n }, {});\n\n draft.locales = sortedLocales;\n draft.primaryLanguage = payload.primaryLanguage;\n draft.supportedLanguages = [...(payload.supportedLanguages || [])].sort();\n if (payload.resolver) draft.resolver = payload.resolver;\n },\n /** UPDATE_LANGUAGE action triggers updateLanguage saga and ends with SET_LANGUAGE */\n UPDATE_LANGUAGE(_draft, _: PayloadAction<UpdateLanguageActionPayload>) {},\n },\n});\n\nexport const { actions, reducer, getInitialState } = i18nSlice;\n\n// Alias some nicer named exports for the actions\nexport const updateLanguage = actions.UPDATE_LANGUAGE;\n\nexport default i18nSlice;\n"],"names":["i18nSlice","createSlice","name","initialState","currentLanguage","dictionary","locales","routes","primaryLanguage","supportedLanguages","resolver","undefined","error","reducers","GET_ENTRY_URI_ERROR","draft","payload","INIT_LOCALES","SET_LANGUAGE","language","SET_LOCALES","sortedLocales","Object","keys","sort","reduce","sorted","key","UPDATE_LANGUAGE","_draft","_","actions","reducer","getInitialState","updateLanguage"],"mappings":";;;;AAUA,MAAMA,SAAS,GAAGC,mBAAW,CAAC;AAC5BC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,YAAY,EAAE;AACZC,IAAAA,eAAe,EAAE,EAAE;IACnBC,UAAU,EAAE,EAAsB;IAClCC,OAAO,EAAE,EAAiC;IAC1CC,MAAM,EAAE,EAAkB;AAC1BC,IAAAA,eAAe,EAAE,EAAE;AACnBC,IAAAA,kBAAkB,EAAE,EAAc;AAClCC,IAAAA,QAAQ,EAAEC,SAEG;AACbC,IAAAA,KAAK,EAAED;GACR;AACDE,EAAAA,QAAQ,EAAE;IACRC,mBAAmBA,CAACC,KAAK,EAAE;AAAEC,MAAAA;AAA8B,KAAC,EAAE;MAC5DD,KAAK,CAACH,KAAK,GAAGI,OAAO;IACvB,CAAC;IACDC,YAAYA,CACVF,KAAK,EACL;AACEC,MAAAA;AAMF,KAAC,EACD;AACAD,MAAAA,KAAK,CAACT,OAAO,GAAGU,OAAO,CAACV,OAAO;AAC/BS,MAAAA,KAAK,CAACR,MAAM,GAAGS,OAAO,CAACT,MAAM;AAC7BQ,MAAAA,KAAK,CAACP,eAAe,GAAGQ,OAAO,CAACR,eAAe;AAC/CO,MAAAA,KAAK,CAACN,kBAAkB,GAAGO,OAAO,CAACP,kBAAkB;MACrD,IAAIO,OAAO,CAACN,QAAQ,EAAEK,KAAK,CAACL,QAAQ,GAAGM,OAAO,CAACN,QAAQ;IACzD,CAAC;IACDQ,YAAYA,CACVH,KAAK,EACL;AACEC,MAAAA;AAKD,KAAC,EACF;AACAD,MAAAA,KAAK,CAACX,eAAe,GAAGY,OAAO,CAACG,QAAQ;MACxC,IAAIH,OAAO,CAACX,UAAU,EAAEU,KAAK,CAACV,UAAU,GAAGW,OAAO,CAACX,UAAU;IAC/D,CAAC;IACDe,WAAWA,CACTL,KAAK,EACL;AACEC,MAAAA;AAKF,KAAC,EACD;AACA;MACA,MAAMK,aAAa,GAAGC,MAAM,CAACC,IAAI,CAACP,OAAO,CAACV,OAAO,IAAI,EAAE,CAAC,CACrDkB,IAAI,EAAE,CACNC,MAAM,CAAC,CAACC,MAAM,EAAEC,GAAG,KAAK;QACvBD,MAAM,CAACC,GAAG,CAAC,GAAGX,OAAO,CAACV,OAAO,CAACqB,GAAG,CAAC;AAClC,QAAA,OAAOD,MAAM;MACf,CAAC,EAAE,EAAE,CAAC;MAERX,KAAK,CAACT,OAAO,GAAGe,aAAa;AAC7BN,MAAAA,KAAK,CAACP,eAAe,GAAGQ,OAAO,CAACR,eAAe;AAC/CO,MAAAA,KAAK,CAACN,kBAAkB,GAAG,CAAC,IAAIO,OAAO,CAACP,kBAAkB,IAAI,EAAE,CAAC,CAAC,CAACe,IAAI,EAAE;MACzE,IAAIR,OAAO,CAACN,QAAQ,EAAEK,KAAK,CAACL,QAAQ,GAAGM,OAAO,CAACN,QAAQ;IACzD,CAAC;AACD;AACAkB,IAAAA,eAAeA,CAACC,MAAM,EAAEC,CAA6C,EAAE,CAAC;AAC1E;AACF,CAAC;AAEM,MAAM;EAAEC,OAAO;EAAEC,OAAO;AAAEC,EAAAA;AAAgB,CAAC,GAAGjC;;AAErD;AACO,MAAMkC,cAAc,GAAGH,OAAO,CAACH;;;;;;;;"}
@@ -4,8 +4,10 @@ var redux = require('redux');
4
4
  var reduxThunk = require('redux-thunk');
5
5
  var createSagaMiddleware = require('redux-saga');
6
6
  var reduxInjectors19 = require('redux-injectors-19');
7
+ var slice = require('./slice-5xJMH24n.js');
7
8
  var immer = require('immer');
8
- var selectors = require('./selectors-wCs5fHD4.js');
9
+ var selectors = require('./selectors-BrxJ8-F8.js');
10
+ var effects = require('@redux-saga/core/effects');
9
11
 
10
12
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
11
13
 
@@ -62,9 +64,11 @@ const initialState$1 = {
62
64
  error: undefined,
63
65
  isError: false,
64
66
  isLoading: false,
67
+ isLivePreview: false,
65
68
  location: {},
66
69
  mappedEntry: null,
67
70
  notFound: false,
71
+ ssrHostname: null,
68
72
  staticRoute: null,
69
73
  statusCode: 200,
70
74
  surrogateKeys: [],
@@ -113,7 +117,11 @@ var RoutingReducer = immer.produce((state, action) => {
113
117
  state.canonicalPath = entry.sys.uri || currentPath;
114
118
  if (mappedEntry && Object.keys(mappedEntry).length > 0) {
115
119
  state.mappedEntry = mappedEntry;
116
- state.entry = {
120
+ // Don't truncate the raw entry data when in live preview mode,
121
+ // as we want to be able to update it with new "patch" data coming
122
+ // passed in via the live preview iframe.
123
+ // In regular routes, the full entry data is not needed after mapping.
124
+ if (!state.isLivePreview) state.entry = {
117
125
  sys: entry.sys
118
126
  };
119
127
  }
@@ -171,6 +179,12 @@ var RoutingReducer = immer.produce((state, action) => {
171
179
  };
172
180
  }
173
181
  }
182
+ // The default value is false, but if we've activated live preview for this route,
183
+ // we want it to persist for the life of the session so we don't reset it back to
184
+ // false on subsequent CSR navigation.
185
+ if (action.location.search.includes('livePreview=true')) {
186
+ state.isLivePreview = true;
187
+ }
174
188
  return;
175
189
  }
176
190
  case selectors.SET_ROUTE:
@@ -202,6 +216,7 @@ var RoutingReducer = immer.produce((state, action) => {
202
216
  {
203
217
  state.currentProject = action.project;
204
218
  state.allowedGroups = action.allowedGroups;
219
+ state.ssrHostname = state.currentHostname || action.hostname;
205
220
  state.currentHostname = action.hostname;
206
221
  return;
207
222
  }
@@ -243,6 +258,13 @@ var VersionReducer = immer.produce((state, action) => {
243
258
  }
244
259
  }, initialState);
245
260
 
261
+ const wrapSagasInGenerator = function (sagas) {
262
+ if (Array.isArray(sagas)) return function* rootSaga() {
263
+ yield effects.all(sagas);
264
+ };
265
+ return sagas;
266
+ };
267
+
246
268
  /**
247
269
  * This middleware captures 'CALL_HISTORY_METHOD' actions to redirect to the
248
270
  * provided history object. This will prevent these actions from reaching your
@@ -262,6 +284,9 @@ const routerMiddleware = history => store => next => action => {
262
284
  history[method](...args);
263
285
  };
264
286
 
287
+ /** A no-op reducer to serve for server-rendered reducers
288
+ * that are re-injected client-side */
289
+ const stubReducer = (state = null) => state;
265
290
  exports.reduxStore = void 0;
266
291
  var createStore = async (featureReducers, initialState, history, stateType) => {
267
292
  let reduxDevToolsMiddleware = f => f;
@@ -270,6 +295,7 @@ var createStore = async (featureReducers, initialState, history, stateType) => {
270
295
  }
271
296
  const sagaMiddleware = createSagaMiddleware__default.default();
272
297
  const reducers = {
298
+ i18n: slice.i18nSlice.reducer,
273
299
  navigation: NavigationReducer,
274
300
  routing: RoutingReducer,
275
301
  user: selectors.UserReducer,
@@ -297,13 +323,45 @@ var createStore = async (featureReducers, initialState, history, stateType) => {
297
323
  };
298
324
  const store = initialState => {
299
325
  const runSaga = sagaMiddleware.run;
326
+
327
+ // Track the initial set of sagas here
328
+ const initialSagas = new Set();
329
+
330
+ // Patch the runSaga function to capture and track the sagas
331
+ // passed as a raw array of effects
332
+ const patchedRunSaga = sagas => {
333
+ // Only track the saga the first time it is run
334
+ if (Array.isArray(sagas)) {
335
+ for (const saga of sagas) if (!initialSagas.has(saga)) {
336
+ initialSagas.add(saga);
337
+ }
338
+ } else {
339
+ if (!initialSagas.has(sagas)) {
340
+ initialSagas.add(sagas);
341
+ }
342
+ }
343
+ const rootSaga = wrapSagasInGenerator(sagas);
344
+
345
+ // Run the saga as usual
346
+ return runSaga(rootSaga);
347
+ };
348
+
349
+ // Assign stub reducers for any missing reducers that have been
350
+ // injected server-side and will be re-injected client-side
351
+ const injectReducers = {};
352
+ for (const key of Object.keys(initialState || {})) {
353
+ if (!(key in reducers)) injectReducers[key] = stubReducer;
354
+ }
300
355
  const middleware = redux.compose(redux.applyMiddleware(reduxThunk.thunk, sagaMiddleware, routerMiddleware(history)), reduxInjectors19.createInjectorsEnhancer({
301
356
  createReducer,
357
+ // Assign patched runSaga to store
302
358
  runSaga
303
359
  }), reduxDevToolsMiddleware);
304
- const store = redux.createStore(createReducer(), initialState, middleware);
305
- store.runSaga = runSaga;
360
+ const store = redux.createStore(createReducer(injectReducers), initialState, middleware);
361
+ store.runSaga = patchedRunSaga; // Assign patched runSaga to the store
306
362
  store.close = () => store.dispatch(createSagaMiddleware.END);
363
+ store.initialSagas = initialSagas; // Store the initial sagas set
364
+
307
365
  return store;
308
366
  };
309
367
  exports.reduxStore = store(fromJS(initialState));
@@ -318,4 +376,5 @@ exports.SET_VERSION_STATUS = SET_VERSION_STATUS;
318
376
  exports.createStore = createStore;
319
377
  exports.navigation = navigation;
320
378
  exports.version = version;
321
- //# sourceMappingURL=store-D07FOXvM.js.map
379
+ exports.wrapSagasInGenerator = wrapSagasInGenerator;
380
+ //# sourceMappingURL=store-B7SJs5Hf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-B7SJs5Hf.js","sources":["../src/redux/types/navigation.js","../src/redux/reducers/navigation.ts","../src/routing/redux/reducers.ts","../src/redux/types/version.js","../src/redux/reducers/version.ts","../src/redux/store/injectors/util.ts","../src/redux/store/routerMiddleware.js","../src/redux/store/store.ts"],"sourcesContent":["const ACTION_PREFIX = '@NAVIGATION/';\nexport const GET_NODE_TREE = `${ACTION_PREFIX}_GET_NODE_TREE`;\nexport const SET_NODE_TREE = `${ACTION_PREFIX}_SET_NODE_TREE`;\nexport const GET_NODE_TREE_ERROR = `${ACTION_PREFIX}_GET_NODE_TREE_ERROR`;\n","import { Draft, produce } from 'immer';\nimport { SET_NODE_TREE, GET_NODE_TREE_ERROR } from '~/redux/types/navigation';\n\nconst initialState = {\n root: null,\n error: {\n isError: false,\n message: null,\n },\n isReady: false,\n};\n\nexport default produce((state: Draft<any>, action) => {\n switch (action.type) {\n case SET_NODE_TREE: {\n state.root = action.nodes;\n state.isReady = true;\n return;\n }\n case GET_NODE_TREE_ERROR: {\n state.error.isError = true;\n state.error.message = action.error || 'Unknown error occurred';\n return;\n }\n default:\n return;\n }\n}, initialState);\n","import { Draft, original, produce } from 'immer';\n\nimport {\n SET_ENTRY,\n SET_NAVIGATION_PATH,\n SET_ANCESTORS,\n SET_TARGET_PROJECT,\n SET_ROUTE,\n SET_SIBLINGS,\n SET_SURROGATE_KEYS,\n UPDATE_LOADING_STATE,\n} from './types';\n\nconst initialState = {\n canonicalPath: null,\n currentHostname: null,\n currentPath: '/',\n currentNode: {},\n currentNodeAncestors: [],\n currentProject: 'unknown',\n entryID: null,\n entry: null,\n error: undefined,\n isError: false,\n isLoading: false,\n isLivePreview: false,\n location: {},\n mappedEntry: null,\n notFound: false,\n ssrHostname: null,\n staticRoute: null,\n statusCode: 200,\n surrogateKeys: [],\n apiCalls: [],\n};\n\nexport default produce((state: Draft<any>, action) => {\n switch (action.type) {\n case SET_ANCESTORS: {\n state.currentNodeAncestors = action.ancestors;\n return;\n }\n case SET_ENTRY: {\n const {\n entry,\n error,\n mappedEntry,\n node = {},\n isError = false,\n isLoading = false,\n notFound = false,\n statusCode,\n currentPath,\n } = action;\n\n let defaultStatus = 200;\n if (notFound === true && isError === false) defaultStatus = 404;\n else if (isError === true) defaultStatus = statusCode || 500;\n\n if (!entry) {\n state.entryID = null;\n state.entry = null;\n state.error = error;\n state.mappedEntry = null;\n state.isError = isError;\n state.isLoading = isLoading;\n state.notFound = notFound;\n state.statusCode = statusCode || defaultStatus;\n state.canonicalPath = currentPath;\n } else {\n state.entryID = action.id;\n state.entry = entry;\n state.error = error;\n state.isError = isError;\n state.isLoading = isLoading;\n state.notFound = notFound;\n state.statusCode = statusCode || defaultStatus;\n state.canonicalPath = entry.sys.uri || currentPath;\n\n if (mappedEntry && Object.keys(mappedEntry).length > 0) {\n state.mappedEntry = mappedEntry;\n // Don't truncate the raw entry data when in live preview mode,\n // as we want to be able to update it with new \"patch\" data coming\n // passed in via the live preview iframe.\n // In regular routes, the full entry data is not needed after mapping.\n if (!state.isLivePreview) state.entry = { sys: entry.sys };\n }\n }\n\n if (!node) {\n state.currentNode = null;\n } else {\n // On Set Node, we reset all dependants.\n state.currentNode = node;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { entry, ...nodeWithoutEntry } = node; // We have the entry stored elsewhere, so lets not keep it twice.\n state.currentNode = nodeWithoutEntry;\n }\n\n return;\n }\n case UPDATE_LOADING_STATE: {\n state.isLoading = action.isLoading;\n return;\n }\n case SET_NAVIGATION_PATH: {\n let staticRoute = {} as any;\n if (action.staticRoute) {\n staticRoute = { ...action.staticRoute };\n }\n if (action.path) {\n // Don't run a path update on initial load as we allready should have it in redux\n const entryUri = state?.entry?.sys?.uri;\n if (entryUri !== action.path) {\n state.currentPath = action.path;\n state.location = action.location;\n state.staticRoute = {\n ...staticRoute,\n route: { ...staticRoute.route, element: null },\n };\n state.isLoading = typeof window !== 'undefined';\n } else {\n state.location = action.location;\n state.staticRoute = {\n ...staticRoute,\n route: { ...staticRoute.route, element: null },\n };\n }\n }\n // The default value is false, but if we've activated live preview for this route,\n // we want it to persist for the life of the session so we don't reset it back to\n // false on subsequent CSR navigation.\n if (action.location.search.includes('livePreview=true')) {\n state.isLivePreview = true;\n }\n return;\n }\n case SET_ROUTE: {\n state.nextPath = action.path;\n return;\n }\n case SET_SIBLINGS: {\n // Can be null in some cases like the homepage.\n let currentNodeSiblingParent = null;\n if (action.siblings && action.siblings.length > 0) {\n currentNodeSiblingParent = action.siblings[0].parentId;\n }\n\n state.currentNodeSiblings = action.siblings;\n state.currentNodeSiblingsParent = currentNodeSiblingParent;\n return;\n }\n case SET_SURROGATE_KEYS: {\n const newKeys = (action.keys || '').split(' ');\n const allKeys = [...original(state.surrogateKeys), ...newKeys];\n const uniqueKeys = [...new Set(allKeys)];\n state.surrogateKeys = uniqueKeys;\n\n state.apiCalls = [\n ...original(state.apiCalls),\n [action.status, newKeys.length, action.url],\n ];\n return;\n }\n case SET_TARGET_PROJECT: {\n state.currentProject = action.project;\n state.allowedGroups = action.allowedGroups;\n state.ssrHostname = state.currentHostname || action.hostname;\n state.currentHostname = action.hostname;\n return;\n }\n default:\n return state;\n }\n}, initialState);\n","const VERSION_PREFIX = '@VERSION/';\nexport const SET_VERSION = `${VERSION_PREFIX}SET_VERSION`;\nexport const SET_VERSION_STATUS = `${VERSION_PREFIX}SET_VERSION_STATUS`;\n","import { Draft, produce } from 'immer';\nimport { SET_VERSION, SET_VERSION_STATUS } from '~/redux/types/version';\n\nconst initialState = {\n commitRef: null,\n buildNo: null,\n contensisVersionStatus: null as 'latest' | 'published' | null,\n};\n\nexport default produce((state: Draft<any>, action) => {\n switch (action.type) {\n case SET_VERSION_STATUS: {\n state.contensisVersionStatus = action.status;\n return;\n }\n case SET_VERSION: {\n state.commitRef = action.commitRef;\n state.buildNo = action.buildNo;\n return;\n }\n default:\n return;\n }\n}, initialState);\n","import { all, Effect } from 'redux-saga/effects';\n\nexport const wrapSagasInGenerator = function (\n sagas: Effect[] | (() => Generator)\n) {\n if (Array.isArray(sagas))\n return function* rootSaga() {\n yield all(sagas);\n };\n return sagas;\n};\n","/**\n * This middleware captures 'CALL_HISTORY_METHOD' actions to redirect to the\n * provided history object. This will prevent these actions from reaching your\n * reducer or any middleware that comes after this one.\n */\n/* eslint-disable no-unused-vars */\nconst routerMiddleware = history => store => next => action => {\n if (action.type !== 'CALL_HISTORY_METHOD') {\n return next(action);\n }\n\n const {\n payload: { method, args },\n } = action;\n history[method](...args);\n};\n\nexport default routerMiddleware;\n","import { History, MemoryHistory } from 'history';\nimport {\n applyMiddleware,\n combineReducers,\n compose,\n createStore,\n Action,\n Store,\n StoreEnhancer,\n Reducer,\n} from 'redux';\nimport { thunk as thunkMiddleware } from 'redux-thunk';\nimport createSagaMiddleware, { END, Task } from 'redux-saga';\nimport { Effect } from 'redux-saga/effects';\nimport { createInjectorsEnhancer } from 'redux-injectors-19';\n\n// Core reducers\nimport i18nSlice from '~/i18n/redux/slice';\nimport NavigationReducer from '../reducers/navigation';\nimport RoutingReducer from '~/routing/redux/reducers';\nimport UserReducer from '~/user/redux/reducers';\nimport VersionReducer from '../reducers/version';\n\nimport { wrapSagasInGenerator } from './injectors/util';\nimport routerMiddleware from './routerMiddleware';\n\nimport { AppState, StateType } from '~/models';\n\ndeclare let window: Window &\n typeof globalThis & {\n __REDUX_DEVTOOLS_EXTENSION__: any;\n };\n\ntype ReduxAppStore = Store<AppState, Action>;\ntype PatchedRunSaga = (sagas: Effect[] | (() => Generator)) => Task;\n\ntype ReduxSagaAppStore = ReduxAppStore & {\n runSaga: PatchedRunSaga;\n close: () => void;\n initialSagas: Set<any>; // Track initial sagas\n injectedReducers: any;\n injectedSagas: any;\n createReducer: (injectedReducers?: any) => Reducer<AppState>;\n};\n\n/** A no-op reducer to serve for server-rendered reducers\n * that are re-injected client-side */\nexport const stubReducer = (state = null) => state;\n\nexport let reduxStore: ReduxSagaAppStore;\n\nexport default async (\n featureReducers: any,\n initialState: AppState,\n history: History | MemoryHistory,\n stateType: StateType\n) => {\n let reduxDevToolsMiddleware = f => f;\n\n if (typeof window != 'undefined') {\n reduxDevToolsMiddleware = window.__REDUX_DEVTOOLS_EXTENSION__\n ? window.__REDUX_DEVTOOLS_EXTENSION__()\n : f => f;\n }\n\n const sagaMiddleware = createSagaMiddleware();\n\n const reducers = {\n i18n: i18nSlice.reducer,\n navigation: NavigationReducer,\n routing: RoutingReducer,\n user: UserReducer,\n version: VersionReducer,\n ...featureReducers,\n };\n\n // Reassign the combiner and fromJS functions when\n // stateType is 'immutable' with dynamic imports\n let combiner = combineReducers;\n let fromJS = <T = any>(obj: T) => obj;\n globalThis.STATE_TYPE = stateType;\n\n if (stateType === 'immutable') {\n globalThis.immutable = await import(\n /* webpackChunkName: \"immutable\" */ 'immutable'\n );\n\n fromJS = (\n await import(/* webpackChunkName: \"from-js\" */ '~/util/fromJSLeaveImmer')\n ).default;\n\n combiner = (\n await import(/* webpackChunkName: \"redux-immutable\" */ 'redux-immutable')\n ).combineReducers;\n }\n\n const createReducer = (injectedReducers = {}) => {\n const rootReducer = combiner<AppState>({\n ...injectedReducers,\n // other non-injected reducers go here\n ...reducers,\n });\n\n return rootReducer;\n };\n\n const store = (initialState: AppState) => {\n const runSaga = sagaMiddleware.run;\n\n // Track the initial set of sagas here\n const initialSagas = new Set();\n\n // Patch the runSaga function to capture and track the sagas\n // passed as a raw array of effects\n const patchedRunSaga = (sagas: Effect[] | (() => Generator)) => {\n // Only track the saga the first time it is run\n if (Array.isArray(sagas)) {\n for (const saga of sagas)\n if (!initialSagas.has(saga)) {\n initialSagas.add(saga);\n }\n } else {\n if (!initialSagas.has(sagas)) {\n initialSagas.add(sagas);\n }\n }\n\n const rootSaga = wrapSagasInGenerator(sagas);\n\n // Run the saga as usual\n return runSaga(rootSaga);\n };\n\n // Assign stub reducers for any missing reducers that have been\n // injected server-side and will be re-injected client-side\n const injectReducers = {};\n for (const key of Object.keys(initialState || {})) {\n if (!(key in reducers)) injectReducers[key] = stubReducer;\n }\n\n const middleware: StoreEnhancer<{\n runSaga: PatchedRunSaga;\n close: () => void;\n initialSagas: Set<any>;\n injectedReducers: any;\n injectedSagas: any;\n }> = compose(\n applyMiddleware(\n thunkMiddleware,\n sagaMiddleware,\n routerMiddleware(history)\n ),\n createInjectorsEnhancer({\n createReducer,\n // Assign patched runSaga to store\n runSaga,\n }),\n reduxDevToolsMiddleware\n );\n\n const store = createStore(\n createReducer(injectReducers),\n initialState,\n middleware\n );\n\n store.runSaga = patchedRunSaga; // Assign patched runSaga to the store\n store.close = () => store.dispatch(END);\n store.initialSagas = initialSagas; // Store the initial sagas set\n\n return store;\n };\n\n reduxStore = store(fromJS(initialState)) as ReduxSagaAppStore;\n return reduxStore;\n};\n"],"names":["ACTION_PREFIX","GET_NODE_TREE","SET_NODE_TREE","GET_NODE_TREE_ERROR","initialState","root","error","isError","message","isReady","produce","state","action","type","nodes","canonicalPath","currentHostname","currentPath","currentNode","currentNodeAncestors","currentProject","entryID","entry","undefined","isLoading","isLivePreview","location","mappedEntry","notFound","ssrHostname","staticRoute","statusCode","surrogateKeys","apiCalls","SET_ANCESTORS","ancestors","SET_ENTRY","node","defaultStatus","id","sys","uri","Object","keys","length","nodeWithoutEntry","UPDATE_LOADING_STATE","SET_NAVIGATION_PATH","path","_state$entry","entryUri","route","element","window","search","includes","SET_ROUTE","nextPath","SET_SIBLINGS","currentNodeSiblingParent","siblings","parentId","currentNodeSiblings","currentNodeSiblingsParent","SET_SURROGATE_KEYS","newKeys","split","allKeys","original","uniqueKeys","Set","status","url","SET_TARGET_PROJECT","project","allowedGroups","hostname","VERSION_PREFIX","SET_VERSION","SET_VERSION_STATUS","commitRef","buildNo","contensisVersionStatus","wrapSagasInGenerator","sagas","Array","isArray","rootSaga","all","routerMiddleware","history","store","next","payload","method","args","stubReducer","reduxStore","featureReducers","stateType","reduxDevToolsMiddleware","f","__REDUX_DEVTOOLS_EXTENSION__","sagaMiddleware","createSagaMiddleware","reducers","i18n","i18nSlice","reducer","navigation","NavigationReducer","routing","RoutingReducer","user","UserReducer","version","VersionReducer","combiner","combineReducers","fromJS","obj","globalThis","STATE_TYPE","immutable","default","createReducer","injectedReducers","rootReducer","runSaga","run","initialSagas","patchedRunSaga","saga","has","add","injectReducers","key","middleware","compose","applyMiddleware","thunkMiddleware","createInjectorsEnhancer","createStore","close","dispatch","END"],"mappings":";;;;;;;;;;;;;;;AAAA,MAAMA,aAAa,GAAG,cAAc;AAC7B,MAAMC,aAAa,GAAG,CAAA,EAAGD,aAAa,CAAA,cAAA;AACtC,MAAME,aAAa,GAAG,CAAA,EAAGF,aAAa,CAAA,cAAA;AACtC,MAAMG,mBAAmB,GAAG,CAAA,EAAGH,aAAa,CAAA,oBAAA;;;;;;;;;ACAnD,MAAMI,cAAY,GAAG;AACnBC,EAAAA,IAAI,EAAE,IAAI;AACVC,EAAAA,KAAK,EAAE;AACLC,IAAAA,OAAO,EAAE,KAAK;AACdC,IAAAA,OAAO,EAAE;GACV;AACDC,EAAAA,OAAO,EAAE;AACX,CAAC;AAED,wBAAeC,aAAO,CAAC,CAACC,KAAiB,EAAEC,MAAM,KAAK;EACpD,QAAQA,MAAM,CAACC,IAAI;AACjB,IAAA,KAAKX,aAAa;AAAE,MAAA;AAClBS,QAAAA,KAAK,CAACN,IAAI,GAAGO,MAAM,CAACE,KAAK;QACzBH,KAAK,CAACF,OAAO,GAAG,IAAI;AACpB,QAAA;AACF,MAAA;AACA,IAAA,KAAKN,mBAAmB;AAAE,MAAA;AACxBQ,QAAAA,KAAK,CAACL,KAAK,CAACC,OAAO,GAAG,IAAI;QAC1BI,KAAK,CAACL,KAAK,CAACE,OAAO,GAAGI,MAAM,CAACN,KAAK,IAAI,wBAAwB;AAC9D,QAAA;AACF,MAAA;AACA,IAAA;AACE,MAAA;AACJ;AACF,CAAC,EAAEF,cAAY,CAAC;;ACdhB,MAAMA,cAAY,GAAG;AACnBW,EAAAA,aAAa,EAAE,IAAI;AACnBC,EAAAA,eAAe,EAAE,IAAI;AACrBC,EAAAA,WAAW,EAAE,GAAG;EAChBC,WAAW,EAAE,EAAE;AACfC,EAAAA,oBAAoB,EAAE,EAAE;AACxBC,EAAAA,cAAc,EAAE,SAAS;AACzBC,EAAAA,OAAO,EAAE,IAAI;AACbC,EAAAA,KAAK,EAAE,IAAI;AACXhB,EAAAA,KAAK,EAAEiB,SAAS;AAChBhB,EAAAA,OAAO,EAAE,KAAK;AACdiB,EAAAA,SAAS,EAAE,KAAK;AAChBC,EAAAA,aAAa,EAAE,KAAK;EACpBC,QAAQ,EAAE,EAAE;AACZC,EAAAA,WAAW,EAAE,IAAI;AACjBC,EAAAA,QAAQ,EAAE,KAAK;AACfC,EAAAA,WAAW,EAAE,IAAI;AACjBC,EAAAA,WAAW,EAAE,IAAI;AACjBC,EAAAA,UAAU,EAAE,GAAG;AACfC,EAAAA,aAAa,EAAE,EAAE;AACjBC,EAAAA,QAAQ,EAAE;AACZ,CAAC;AAED,qBAAevB,aAAO,CAAC,CAACC,KAAiB,EAAEC,MAAM,KAAK;EACpD,QAAQA,MAAM,CAACC,IAAI;AACjB,IAAA,KAAKqB,uBAAa;AAAE,MAAA;AAClBvB,QAAAA,KAAK,CAACQ,oBAAoB,GAAGP,MAAM,CAACuB,SAAS;AAC7C,QAAA;AACF,MAAA;AACA,IAAA,KAAKC,mBAAS;AAAE,MAAA;QACd,MAAM;UACJd,KAAK;UACLhB,KAAK;UACLqB,WAAW;UACXU,IAAI,GAAG,EAAE;AACT9B,UAAAA,OAAO,GAAG,KAAK;AACfiB,UAAAA,SAAS,GAAG,KAAK;AACjBI,UAAAA,QAAQ,GAAG,KAAK;UAChBG,UAAU;AACVd,UAAAA;AACF,SAAC,GAAGL,MAAM;QAEV,IAAI0B,aAAa,GAAG,GAAG;QACvB,IAAIV,QAAQ,KAAK,IAAI,IAAIrB,OAAO,KAAK,KAAK,EAAE+B,aAAa,GAAG,GAAG,CAAC,KAC3D,IAAI/B,OAAO,KAAK,IAAI,EAAE+B,aAAa,GAAGP,UAAU,IAAI,GAAG;QAE5D,IAAI,CAACT,KAAK,EAAE;UACVX,KAAK,CAACU,OAAO,GAAG,IAAI;UACpBV,KAAK,CAACW,KAAK,GAAG,IAAI;UAClBX,KAAK,CAACL,KAAK,GAAGA,KAAK;UACnBK,KAAK,CAACgB,WAAW,GAAG,IAAI;UACxBhB,KAAK,CAACJ,OAAO,GAAGA,OAAO;UACvBI,KAAK,CAACa,SAAS,GAAGA,SAAS;UAC3Bb,KAAK,CAACiB,QAAQ,GAAGA,QAAQ;AACzBjB,UAAAA,KAAK,CAACoB,UAAU,GAAGA,UAAU,IAAIO,aAAa;UAC9C3B,KAAK,CAACI,aAAa,GAAGE,WAAW;AACnC,QAAA,CAAC,MAAM;AACLN,UAAAA,KAAK,CAACU,OAAO,GAAGT,MAAM,CAAC2B,EAAE;UACzB5B,KAAK,CAACW,KAAK,GAAGA,KAAK;UACnBX,KAAK,CAACL,KAAK,GAAGA,KAAK;UACnBK,KAAK,CAACJ,OAAO,GAAGA,OAAO;UACvBI,KAAK,CAACa,SAAS,GAAGA,SAAS;UAC3Bb,KAAK,CAACiB,QAAQ,GAAGA,QAAQ;AACzBjB,UAAAA,KAAK,CAACoB,UAAU,GAAGA,UAAU,IAAIO,aAAa;UAC9C3B,KAAK,CAACI,aAAa,GAAGO,KAAK,CAACkB,GAAG,CAACC,GAAG,IAAIxB,WAAW;AAElD,UAAA,IAAIU,WAAW,IAAIe,MAAM,CAACC,IAAI,CAAChB,WAAW,CAAC,CAACiB,MAAM,GAAG,CAAC,EAAE;YACtDjC,KAAK,CAACgB,WAAW,GAAGA,WAAW;AAC/B;AACA;AACA;AACA;YACA,IAAI,CAAChB,KAAK,CAACc,aAAa,EAAEd,KAAK,CAACW,KAAK,GAAG;cAAEkB,GAAG,EAAElB,KAAK,CAACkB;aAAK;AAC5D,UAAA;AACF,QAAA;QAEA,IAAI,CAACH,IAAI,EAAE;UACT1B,KAAK,CAACO,WAAW,GAAG,IAAI;AAC1B,QAAA,CAAC,MAAM;AACL;UACAP,KAAK,CAACO,WAAW,GAAGmB,IAAI;AACxB;UACA,MAAM;YAAEf,KAAK;YAAE,GAAGuB;WAAkB,GAAGR,IAAI,CAAC;UAC5C1B,KAAK,CAACO,WAAW,GAAG2B,gBAAgB;AACtC,QAAA;AAEA,QAAA;AACF,MAAA;AACA,IAAA,KAAKC,8BAAoB;AAAE,MAAA;AACzBnC,QAAAA,KAAK,CAACa,SAAS,GAAGZ,MAAM,CAACY,SAAS;AAClC,QAAA;AACF,MAAA;AACA,IAAA,KAAKuB,6BAAmB;AAAE,MAAA;QACxB,IAAIjB,WAAW,GAAG,EAAS;QAC3B,IAAIlB,MAAM,CAACkB,WAAW,EAAE;AACtBA,UAAAA,WAAW,GAAG;AAAE,YAAA,GAAGlB,MAAM,CAACkB;WAAa;AACzC,QAAA;QACA,IAAIlB,MAAM,CAACoC,IAAI,EAAE;AAAA,UAAA,IAAAC,YAAA;AACf;UACA,MAAMC,QAAQ,GAAGvC,KAAK,KAAA,IAAA,IAALA,KAAK,gBAAAsC,YAAA,GAALtC,KAAK,CAAEW,KAAK,MAAA,IAAA,IAAA2B,YAAA,KAAA,MAAA,IAAA,CAAAA,YAAA,GAAZA,YAAA,CAAcT,GAAG,cAAAS,YAAA,KAAA,MAAA,GAAA,MAAA,GAAjBA,YAAA,CAAmBR,GAAG;AACvC,UAAA,IAAIS,QAAQ,KAAKtC,MAAM,CAACoC,IAAI,EAAE;AAC5BrC,YAAAA,KAAK,CAACM,WAAW,GAAGL,MAAM,CAACoC,IAAI;AAC/BrC,YAAAA,KAAK,CAACe,QAAQ,GAAGd,MAAM,CAACc,QAAQ;YAChCf,KAAK,CAACmB,WAAW,GAAG;AAClB,cAAA,GAAGA,WAAW;AACdqB,cAAAA,KAAK,EAAE;gBAAE,GAAGrB,WAAW,CAACqB,KAAK;AAAEC,gBAAAA,OAAO,EAAE;AAAK;aAC9C;AACDzC,YAAAA,KAAK,CAACa,SAAS,GAAG,OAAO6B,MAAM,KAAK,WAAW;AACjD,UAAA,CAAC,MAAM;AACL1C,YAAAA,KAAK,CAACe,QAAQ,GAAGd,MAAM,CAACc,QAAQ;YAChCf,KAAK,CAACmB,WAAW,GAAG;AAClB,cAAA,GAAGA,WAAW;AACdqB,cAAAA,KAAK,EAAE;gBAAE,GAAGrB,WAAW,CAACqB,KAAK;AAAEC,gBAAAA,OAAO,EAAE;AAAK;aAC9C;AACH,UAAA;AACF,QAAA;AACA;AACA;AACA;QACA,IAAIxC,MAAM,CAACc,QAAQ,CAAC4B,MAAM,CAACC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;UACvD5C,KAAK,CAACc,aAAa,GAAG,IAAI;AAC5B,QAAA;AACA,QAAA;AACF,MAAA;AACA,IAAA,KAAK+B,mBAAS;AAAE,MAAA;AACd7C,QAAAA,KAAK,CAAC8C,QAAQ,GAAG7C,MAAM,CAACoC,IAAI;AAC5B,QAAA;AACF,MAAA;AACA,IAAA,KAAKU,sBAAY;AAAE,MAAA;AACjB;QACA,IAAIC,wBAAwB,GAAG,IAAI;QACnC,IAAI/C,MAAM,CAACgD,QAAQ,IAAIhD,MAAM,CAACgD,QAAQ,CAAChB,MAAM,GAAG,CAAC,EAAE;UACjDe,wBAAwB,GAAG/C,MAAM,CAACgD,QAAQ,CAAC,CAAC,CAAC,CAACC,QAAQ;AACxD,QAAA;AAEAlD,QAAAA,KAAK,CAACmD,mBAAmB,GAAGlD,MAAM,CAACgD,QAAQ;QAC3CjD,KAAK,CAACoD,yBAAyB,GAAGJ,wBAAwB;AAC1D,QAAA;AACF,MAAA;AACA,IAAA,KAAKK,4BAAkB;AAAE,MAAA;AACvB,QAAA,MAAMC,OAAO,GAAG,CAACrD,MAAM,CAAC+B,IAAI,IAAI,EAAE,EAAEuB,KAAK,CAAC,GAAG,CAAC;AAC9C,QAAA,MAAMC,OAAO,GAAG,CAAC,GAAGC,cAAQ,CAACzD,KAAK,CAACqB,aAAa,CAAC,EAAE,GAAGiC,OAAO,CAAC;QAC9D,MAAMI,UAAU,GAAG,CAAC,GAAG,IAAIC,GAAG,CAACH,OAAO,CAAC,CAAC;QACxCxD,KAAK,CAACqB,aAAa,GAAGqC,UAAU;QAEhC1D,KAAK,CAACsB,QAAQ,GAAG,CACf,GAAGmC,cAAQ,CAACzD,KAAK,CAACsB,QAAQ,CAAC,EAC3B,CAACrB,MAAM,CAAC2D,MAAM,EAAEN,OAAO,CAACrB,MAAM,EAAEhC,MAAM,CAAC4D,GAAG,CAAC,CAC5C;AACD,QAAA;AACF,MAAA;AACA,IAAA,KAAKC,4BAAkB;AAAE,MAAA;AACvB9D,QAAAA,KAAK,CAACS,cAAc,GAAGR,MAAM,CAAC8D,OAAO;AACrC/D,QAAAA,KAAK,CAACgE,aAAa,GAAG/D,MAAM,CAAC+D,aAAa;QAC1ChE,KAAK,CAACkB,WAAW,GAAGlB,KAAK,CAACK,eAAe,IAAIJ,MAAM,CAACgE,QAAQ;AAC5DjE,QAAAA,KAAK,CAACK,eAAe,GAAGJ,MAAM,CAACgE,QAAQ;AACvC,QAAA;AACF,MAAA;AACA,IAAA;AACE,MAAA,OAAOjE,KAAK;AAChB;AACF,CAAC,EAAEP,cAAY,CAAC;;AC9KhB,MAAMyE,cAAc,GAAG,WAAW;AAC3B,MAAMC,WAAW,GAAG,CAAA,EAAGD,cAAc,CAAA,WAAA;AACrC,MAAME,kBAAkB,GAAG,CAAA,EAAGF,cAAc,CAAA,kBAAA;;;;;;;;ACCnD,MAAMzE,YAAY,GAAG;AACnB4E,EAAAA,SAAS,EAAE,IAAI;AACfC,EAAAA,OAAO,EAAE,IAAI;AACbC,EAAAA,sBAAsB,EAAE;AAC1B,CAAC;AAED,qBAAexE,aAAO,CAAC,CAACC,KAAiB,EAAEC,MAAM,KAAK;EACpD,QAAQA,MAAM,CAACC,IAAI;AACjB,IAAA,KAAKkE,kBAAkB;AAAE,MAAA;AACvBpE,QAAAA,KAAK,CAACuE,sBAAsB,GAAGtE,MAAM,CAAC2D,MAAM;AAC5C,QAAA;AACF,MAAA;AACA,IAAA,KAAKO,WAAW;AAAE,MAAA;AAChBnE,QAAAA,KAAK,CAACqE,SAAS,GAAGpE,MAAM,CAACoE,SAAS;AAClCrE,QAAAA,KAAK,CAACsE,OAAO,GAAGrE,MAAM,CAACqE,OAAO;AAC9B,QAAA;AACF,MAAA;AACA,IAAA;AACE,MAAA;AACJ;AACF,CAAC,EAAE7E,YAAY,CAAC;;MCrBH+E,oBAAoB,GAAG,UAClCC,KAAmC,EACnC;EACA,IAAIC,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EACtB,OAAO,UAAUG,QAAQA,GAAG;IAC1B,MAAMC,WAAG,CAACJ,KAAK,CAAC;EAClB,CAAC;AACH,EAAA,OAAOA,KAAK;AACd;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMK,gBAAgB,GAAGC,OAAO,IAAIC,KAAK,IAAIC,IAAI,IAAIhF,MAAM,IAAI;AAC7D,EAAA,IAAIA,MAAM,CAACC,IAAI,KAAK,qBAAqB,EAAE;IACzC,OAAO+E,IAAI,CAAChF,MAAM,CAAC;AACrB,EAAA;EAEA,MAAM;AACJiF,IAAAA,OAAO,EAAE;MAAEC,MAAM;AAAEC,MAAAA;AAAK;AAC1B,GAAC,GAAGnF,MAAM;AACV8E,EAAAA,OAAO,CAACI,MAAM,CAAC,CAAC,GAAGC,IAAI,CAAC;AAC1B,CAAC;;AC8BD;AACA;AACO,MAAMC,WAAW,GAAGA,CAACrF,KAAK,GAAG,IAAI,KAAKA,KAAK;AAEvCsF;AAEX,kBAAe,OACbC,eAAoB,EACpB9F,YAAsB,EACtBsF,OAAgC,EAChCS,SAAoB,KACjB;AACH,EAAA,IAAIC,uBAAuB,GAAGC,CAAC,IAAIA,CAAC;AAEpC,EAAA,IAAI,OAAOhD,MAAM,IAAI,WAAW,EAAE;AAChC+C,IAAAA,uBAAuB,GAAG/C,MAAM,CAACiD,4BAA4B,GACzDjD,MAAM,CAACiD,4BAA4B,EAAE,GACrCD,CAAC,IAAIA,CAAC;AACZ,EAAA;AAEA,EAAA,MAAME,cAAc,GAAGC,qCAAoB,EAAE;AAE7C,EAAA,MAAMC,QAAQ,GAAG;IACfC,IAAI,EAAEC,eAAS,CAACC,OAAO;AACvBC,IAAAA,UAAU,EAAEC,iBAAiB;AAC7BC,IAAAA,OAAO,EAAEC,cAAc;AACvBC,IAAAA,IAAI,EAAEC,qBAAW;AACjBC,IAAAA,OAAO,EAAEC,cAAc;IACvB,GAAGlB;GACJ;;AAED;AACA;EACA,IAAImB,QAAQ,GAAGC,qBAAe;AAC9B,EAAA,IAAIC,MAAM,GAAaC,GAAM,IAAKA,GAAG;EACrCC,UAAU,CAACC,UAAU,GAAGvB,SAAS;EAEjC,IAAIA,SAAS,KAAK,WAAW,EAAE;IAC7BsB,UAAU,CAACE,SAAS,GAAG,MAAM,0CACS,WACtC,CAAC;IAEDJ,MAAM,GAAG,CACP,MAAM,oDAAO,iCAAA,gCAA2D,KAAC,EACzEK,OAAO;IAETP,QAAQ,GAAG,CACT,MAAM,gDAAiD,iBAAiB,CAAC,EACzEC,eAAe;AACnB,EAAA;AAEA,EAAA,MAAMO,aAAa,GAAGA,CAACC,gBAAgB,GAAG,EAAE,KAAK;IAC/C,MAAMC,WAAW,GAAGV,QAAQ,CAAW;AACrC,MAAA,GAAGS,gBAAgB;AACnB;MACA,GAAGrB;AACL,KAAC,CAAC;AAEF,IAAA,OAAOsB,WAAW;EACpB,CAAC;EAED,MAAMpC,KAAK,GAAIvF,YAAsB,IAAK;AACxC,IAAA,MAAM4H,OAAO,GAAGzB,cAAc,CAAC0B,GAAG;;AAElC;AACA,IAAA,MAAMC,YAAY,GAAG,IAAI5D,GAAG,EAAE;;AAE9B;AACA;IACA,MAAM6D,cAAc,GAAI/C,KAAmC,IAAK;AAC9D;AACA,MAAA,IAAIC,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EAAE;AACxB,QAAA,KAAK,MAAMgD,IAAI,IAAIhD,KAAK,EACtB,IAAI,CAAC8C,YAAY,CAACG,GAAG,CAACD,IAAI,CAAC,EAAE;AAC3BF,UAAAA,YAAY,CAACI,GAAG,CAACF,IAAI,CAAC;AACxB,QAAA;AACJ,MAAA,CAAC,MAAM;AACL,QAAA,IAAI,CAACF,YAAY,CAACG,GAAG,CAACjD,KAAK,CAAC,EAAE;AAC5B8C,UAAAA,YAAY,CAACI,GAAG,CAAClD,KAAK,CAAC;AACzB,QAAA;AACF,MAAA;AAEA,MAAA,MAAMG,QAAQ,GAAGJ,oBAAoB,CAACC,KAAK,CAAC;;AAE5C;MACA,OAAO4C,OAAO,CAACzC,QAAQ,CAAC;IAC1B,CAAC;;AAED;AACA;IACA,MAAMgD,cAAc,GAAG,EAAE;AACzB,IAAA,KAAK,MAAMC,GAAG,IAAI9F,MAAM,CAACC,IAAI,CAACvC,YAAY,IAAI,EAAE,CAAC,EAAE;MACjD,IAAI,EAAEoI,GAAG,IAAI/B,QAAQ,CAAC,EAAE8B,cAAc,CAACC,GAAG,CAAC,GAAGxC,WAAW;AAC3D,IAAA;AAEA,IAAA,MAAMyC,UAMJ,GAAGC,aAAO,CACVC,qBAAe,CACbC,gBAAe,EACfrC,cAAc,EACdd,gBAAgB,CAACC,OAAO,CAC1B,CAAC,EACDmD,wCAAuB,CAAC;MACtBhB,aAAa;AACb;AACAG,MAAAA;KACD,CAAC,EACF5B,uBACF,CAAC;AAED,IAAA,MAAMT,KAAK,GAAGmD,iBAAW,CACvBjB,aAAa,CAACU,cAAc,CAAC,EAC7BnI,YAAY,EACZqI,UACF,CAAC;AAED9C,IAAAA,KAAK,CAACqC,OAAO,GAAGG,cAAc,CAAC;IAC/BxC,KAAK,CAACoD,KAAK,GAAG,MAAMpD,KAAK,CAACqD,QAAQ,CAACC,wBAAG,CAAC;AACvCtD,IAAAA,KAAK,CAACuC,YAAY,GAAGA,YAAY,CAAC;;AAElC,IAAA,OAAOvC,KAAK;EACd,CAAC;AAEDM,EAAAA,kBAAU,GAAGN,KAAK,CAAC4B,MAAM,CAACnH,YAAY,CAAC,CAAsB;AAC7D,EAAA,OAAO6F,kBAAU;AACnB,CAAC;;;;;;;;;;;;"}
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ const setCachingHeaders = (response, {
4
+ cacheControl = 'private',
5
+ surrogateControl = '3600'
6
+ }, method = 'header') => {
7
+ if (cacheControl) response[method]('Cache-Control', cacheControl);
8
+ if (surrogateControl) response[method]('Surrogate-Control', `max-age=${surrogateControl.toString()}`);
9
+ };
10
+
11
+ const urls = (alias, project) => {
12
+ const projectAndAlias = project && project.toLowerCase() !== 'website' ? `${project.toLowerCase()}-${alias}` : alias;
13
+ return {
14
+ api: `https://api-${alias}.cloud.contensis.com`,
15
+ cms: `https://cms-${alias}.cloud.contensis.com`,
16
+ liveWeb: `https://live-${projectAndAlias}.cloud.contensis.com`,
17
+ previewWeb: `https://preview-${projectAndAlias}.cloud.contensis.com`,
18
+ iisWeb: `https://iis-live-${projectAndAlias}.cloud.contensis.com`,
19
+ iisPreviewWeb: `https://iis-preview-${projectAndAlias}.cloud.contensis.com`
20
+ };
21
+ };
22
+
23
+ exports.setCachingHeaders = setCachingHeaders;
24
+ exports.urls = urls;
25
+ //# sourceMappingURL=urls-DGZlAs0y.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"urls-DGZlAs0y.js","sources":["../src/server/features/caching/setCachingHeaders.ts","../src/util/urls.ts"],"sourcesContent":["import { Response } from 'express';\n\nconst setCachingHeaders = (\n response: Response,\n { cacheControl = 'private', surrogateControl = '3600' },\n method = 'header'\n) => {\n if (cacheControl) response[method]('Cache-Control', cacheControl);\n if (surrogateControl)\n response[method](\n 'Surrogate-Control',\n `max-age=${surrogateControl.toString()}`\n );\n};\n\nexport default setCachingHeaders;\n","export const urls = (alias: string, project: string) => {\n const projectAndAlias =\n project && project.toLowerCase() !== 'website'\n ? `${project.toLowerCase()}-${alias}`\n : alias;\n return {\n api: `https://api-${alias}.cloud.contensis.com`,\n cms: `https://cms-${alias}.cloud.contensis.com`,\n liveWeb: `https://live-${projectAndAlias}.cloud.contensis.com`,\n previewWeb: `https://preview-${projectAndAlias}.cloud.contensis.com`,\n iisWeb: `https://iis-live-${projectAndAlias}.cloud.contensis.com`,\n iisPreviewWeb: `https://iis-preview-${projectAndAlias}.cloud.contensis.com`,\n };\n};\n"],"names":["setCachingHeaders","response","cacheControl","surrogateControl","method","toString","urls","alias","project","projectAndAlias","toLowerCase","api","cms","liveWeb","previewWeb","iisWeb","iisPreviewWeb"],"mappings":";;AAEA,MAAMA,iBAAiB,GAAGA,CACxBC,QAAkB,EAClB;AAAEC,EAAAA,YAAY,GAAG,SAAS;AAAEC,EAAAA,gBAAgB,GAAG;AAAO,CAAC,EACvDC,MAAM,GAAG,QAAQ,KACd;EACH,IAAIF,YAAY,EAAED,QAAQ,CAACG,MAAM,CAAC,CAAC,eAAe,EAAEF,YAAY,CAAC;AACjE,EAAA,IAAIC,gBAAgB,EAClBF,QAAQ,CAACG,MAAM,CAAC,CACd,mBAAmB,EACnB,CAAA,QAAA,EAAWD,gBAAgB,CAACE,QAAQ,EAAE,EACxC,CAAC;AACL;;MCbaC,IAAI,GAAGA,CAACC,KAAa,EAAEC,OAAe,KAAK;EACtD,MAAMC,eAAe,GACnBD,OAAO,IAAIA,OAAO,CAACE,WAAW,EAAE,KAAK,SAAS,GAC1C,CAAA,EAAGF,OAAO,CAACE,WAAW,EAAE,CAAA,CAAA,EAAIH,KAAK,CAAA,CAAE,GACnCA,KAAK;EACX,OAAO;IACLI,GAAG,EAAE,CAAA,YAAA,EAAeJ,KAAK,CAAA,oBAAA,CAAsB;IAC/CK,GAAG,EAAE,CAAA,YAAA,EAAeL,KAAK,CAAA,oBAAA,CAAsB;IAC/CM,OAAO,EAAE,CAAA,aAAA,EAAgBJ,eAAe,CAAA,oBAAA,CAAsB;IAC9DK,UAAU,EAAE,CAAA,gBAAA,EAAmBL,eAAe,CAAA,oBAAA,CAAsB;IACpEM,MAAM,EAAE,CAAA,iBAAA,EAAoBN,eAAe,CAAA,oBAAA,CAAsB;IACjEO,aAAa,EAAE,uBAAuBP,eAAe,CAAA,oBAAA;GACtD;AACH;;;;;"}
package/cjs/user.js CHANGED
@@ -1,16 +1,19 @@
1
1
  'use strict';
2
2
 
3
- var ChangePassword_container = require('./ChangePassword.container-ECjEXixF.js');
3
+ var ChangePassword_container = require('./ChangePassword.container-C4Du3Wb1.js');
4
4
  var React = require('react');
5
5
  var reactCookie = require('react-cookie');
6
6
  var reactRedux = require('react-redux');
7
- var ToJs = require('./ToJs-C9jwV7YB.js');
8
- var CookieHelper_class = require('./CookieHelper.class-C3Eqoze9.js');
9
- var selectors = require('./selectors-wCs5fHD4.js');
7
+ var matchGroups = require('./matchGroups-dqONU-vY.js');
8
+ var CookieHelper_class = require('./CookieHelper.class-Det3qfdU.js');
9
+ var ToJs = require('./ToJs-BsWqWjdm.js');
10
+ var selectors = require('./selectors-BrxJ8-F8.js');
10
11
  require('@redux-saga/core/effects');
11
12
  require('jsonpath-mapper');
12
13
  require('await-to-js');
14
+ require('./CookieConstants-DfPiWCRZ.js');
13
15
  require('immer');
16
+ require('reselect');
14
17
  require('query-string');
15
18
 
16
19
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
@@ -23,16 +26,16 @@ const getDisplayName$1 = WrappedComponent => {
23
26
  const withLogin = WrappedComponent => {
24
27
  const mapStateToProps = state => {
25
28
  return {
26
- errorMessage: ToJs.selectUserErrorMessage(state),
27
- isAuthenticated: ToJs.selectUserIsAuthenticated(state),
28
- isAuthenticationError: ToJs.selectUserIsAuthenticationError(state),
29
- isError: ToJs.selectUserIsError(state),
30
- isLoading: ToJs.selectUserIsLoading(state),
31
- user: ToJs.selectUser(state),
29
+ errorMessage: matchGroups.selectUserErrorMessage(state),
30
+ isAuthenticated: matchGroups.selectUserIsAuthenticated(state),
31
+ isAuthenticationError: matchGroups.selectUserIsAuthenticationError(state),
32
+ isError: matchGroups.selectUserIsError(state),
33
+ isLoading: matchGroups.selectUserIsLoading(state),
34
+ user: matchGroups.selectUser(state),
32
35
  // DEPRECATED: authenticationError is deprecated use isAuthenticationError instead
33
- authenticationError: ToJs.selectUserIsAuthenticationError(state),
36
+ authenticationError: matchGroups.selectUserIsAuthenticationError(state),
34
37
  // DEPRECATED: error is deprecated use isError instead
35
- error: ToJs.selectUserIsError(state)
38
+ error: matchGroups.selectUserIsError(state)
36
39
  };
37
40
  };
38
41
  const ConnectedComponent = () => {
@@ -55,10 +58,10 @@ const getDisplayName = WrappedComponent => {
55
58
  const withRegistration = WrappedComponent => {
56
59
  const mapStateToProps = state => {
57
60
  return {
58
- error: ToJs.selectUserRegistrationError(state),
59
- isLoading: ToJs.selectUserRegistrationIsLoading(state),
60
- isSuccess: ToJs.selectUserRegistrationIsSuccess(state),
61
- user: ToJs.selectUserRegistration(state)
61
+ error: matchGroups.selectUserRegistrationError(state),
62
+ isLoading: matchGroups.selectUserRegistrationIsLoading(state),
63
+ isSuccess: matchGroups.selectUserRegistrationIsSuccess(state),
64
+ user: matchGroups.selectUserRegistration(state)
62
65
  };
63
66
  };
64
67
  const mapDispatchToProps = {
@@ -81,7 +84,7 @@ exports.useChangePassword = ChangePassword_container.useChangePassword;
81
84
  exports.useForgotPassword = ChangePassword_container.useForgotPassword;
82
85
  exports.useLogin = ChangePassword_container.useLogin;
83
86
  exports.useRegistration = ChangePassword_container.useRegistration;
84
- exports.selectors = ToJs.selectors;
87
+ exports.selectors = matchGroups.selectors;
85
88
  exports.initialUserState = selectors.initialUserState;
86
89
  exports.reducer = selectors.UserReducer;
87
90
  exports.types = selectors.types;
package/cjs/user.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sources":["../src/user/hocs/withLogin.tsx","../src/user/hocs/withRegistration.js"],"sourcesContent":["import React from 'react';\nimport { useCookies } from 'react-cookie';\nimport { connect } from 'react-redux';\nimport { loginUser, logoutUser } from '../redux/actions';\nimport {\n selectUser,\n selectUserErrorMessage,\n selectUserIsAuthenticationError,\n selectUserIsError,\n selectUserIsAuthenticated,\n selectUserIsLoading,\n} from '../redux/selectors';\nimport { CookieHelper } from '../util/CookieHelper.class';\nimport { toJS } from '~/util/ToJs';\nimport { AppState } from '~/models';\n\nconst getDisplayName = (WrappedComponent: React.ComponentType) => {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n};\n\nconst withLogin = (WrappedComponent: React.ComponentType) => {\n const mapStateToProps = (state: AppState) => {\n return {\n errorMessage: selectUserErrorMessage(state),\n isAuthenticated: selectUserIsAuthenticated(state),\n isAuthenticationError: selectUserIsAuthenticationError(state),\n isError: selectUserIsError(state),\n isLoading: selectUserIsLoading(state),\n user: selectUser(state),\n // DEPRECATED: authenticationError is deprecated use isAuthenticationError instead\n authenticationError: selectUserIsAuthenticationError(state),\n // DEPRECATED: error is deprecated use isError instead\n error: selectUserIsError(state),\n };\n };\n\n const ConnectedComponent = () => {\n const cookies = new CookieHelper(...useCookies());\n\n const mapDispatchToProps = {\n loginUser: (username: string, password: string) =>\n loginUser(username, password, cookies),\n logoutUser: (redirectPath?: string) => logoutUser(redirectPath, cookies),\n };\n\n const FinalComponent = connect(\n mapStateToProps,\n mapDispatchToProps\n )(toJS(WrappedComponent));\n\n return <FinalComponent />;\n };\n\n ConnectedComponent.displayName = `${getDisplayName(WrappedComponent)}`;\n ConnectedComponent.WrappedComponent = WrappedComponent;\n\n return ConnectedComponent;\n};\n\nexport default withLogin;\n","import { connect } from 'react-redux';\nimport { registerUser } from '../redux/actions';\nimport {\n selectUserRegistration,\n selectUserRegistrationError,\n selectUserRegistrationIsLoading,\n selectUserRegistrationIsSuccess,\n} from '../redux/selectors';\nimport { toJS } from '~/util/ToJs';\n\nconst getDisplayName = WrappedComponent => {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n};\n\nconst withRegistration = WrappedComponent => {\n const mapStateToProps = state => {\n return {\n error: selectUserRegistrationError(state),\n isLoading: selectUserRegistrationIsLoading(state),\n isSuccess: selectUserRegistrationIsSuccess(state),\n user: selectUserRegistration(state),\n };\n };\n\n const mapDispatchToProps = {\n registerUser,\n };\n\n const ConnectedComponent = connect(\n mapStateToProps,\n mapDispatchToProps\n )(toJS(WrappedComponent));\n\n ConnectedComponent.displayName = `${getDisplayName(WrappedComponent)}`;\n\n return ConnectedComponent;\n};\n\nexport default withRegistration;\n"],"names":["getDisplayName","WrappedComponent","displayName","name","withLogin","mapStateToProps","state","errorMessage","selectUserErrorMessage","isAuthenticated","selectUserIsAuthenticated","isAuthenticationError","selectUserIsAuthenticationError","isError","selectUserIsError","isLoading","selectUserIsLoading","user","selectUser","authenticationError","error","ConnectedComponent","cookies","CookieHelper","useCookies","mapDispatchToProps","loginUser","username","password","logoutUser","redirectPath","FinalComponent","connect","toJS","React","createElement","withRegistration","selectUserRegistrationError","selectUserRegistrationIsLoading","isSuccess","selectUserRegistrationIsSuccess","selectUserRegistration","registerUser"],"mappings":";;;;;;;;;;;;;;;;;;;AAgBA,MAAMA,gBAAc,GAAIC,gBAAqC,IAAK;EAChE,OAAOA,gBAAgB,CAACC,WAAW,IAAID,gBAAgB,CAACE,IAAI,IAAI,WAAW;AAC7E,CAAC;AAED,MAAMC,SAAS,GAAIH,gBAAqC,IAAK;EAC3D,MAAMI,eAAe,GAAIC,KAAe,IAAK;IAC3C,OAAO;AACLC,MAAAA,YAAY,EAAEC,2BAAsB,CAACF,KAAK,CAAC;AAC3CG,MAAAA,eAAe,EAAEC,8BAAyB,CAACJ,KAAK,CAAC;AACjDK,MAAAA,qBAAqB,EAAEC,oCAA+B,CAACN,KAAK,CAAC;AAC7DO,MAAAA,OAAO,EAAEC,sBAAiB,CAACR,KAAK,CAAC;AACjCS,MAAAA,SAAS,EAAEC,wBAAmB,CAACV,KAAK,CAAC;AACrCW,MAAAA,IAAI,EAAEC,eAAU,CAACZ,KAAK,CAAC;AACvB;AACAa,MAAAA,mBAAmB,EAAEP,oCAA+B,CAACN,KAAK,CAAC;AAC3D;MACAc,KAAK,EAAEN,sBAAiB,CAACR,KAAK;KAC/B;EACH,CAAC;EAED,MAAMe,kBAAkB,GAAGA,MAAM;IAC/B,MAAMC,OAAO,GAAG,IAAIC,+BAAY,CAAC,GAAGC,sBAAU,EAAE,CAAC;AAEjD,IAAA,MAAMC,kBAAkB,GAAG;AACzBC,MAAAA,SAAS,EAAEA,CAACC,QAAgB,EAAEC,QAAgB,KAC5CF,kCAAS,CAACC,QAAQ,EAAEC,QAAQ,EAAEN,OAAO,CAAC;AACxCO,MAAAA,UAAU,EAAGC,YAAqB,IAAKD,mCAAU,CAACC,YAAY,EAAER,OAAO;KACxE;AAED,IAAA,MAAMS,cAAc,GAAGC,kBAAO,CAC5B3B,eAAe,EACfoB,kBACF,CAAC,CAACQ,SAAI,CAAChC,gBAAgB,CAAC,CAAC;AAEzB,IAAA,oBAAOiC,sBAAA,CAAAC,aAAA,CAACJ,cAAc,MAAE,CAAC;EAC3B,CAAC;EAEDV,kBAAkB,CAACnB,WAAW,GAAG,CAAA,EAAGF,gBAAc,CAACC,gBAAgB,CAAC,CAAA,CAAE;EACtEoB,kBAAkB,CAACpB,gBAAgB,GAAGA,gBAAgB;AAEtD,EAAA,OAAOoB,kBAAkB;AAC3B;;AC/CA,MAAMrB,cAAc,GAAGC,gBAAgB,IAAI;EACzC,OAAOA,gBAAgB,CAACC,WAAW,IAAID,gBAAgB,CAACE,IAAI,IAAI,WAAW;AAC7E,CAAC;AAED,MAAMiC,gBAAgB,GAAGnC,gBAAgB,IAAI;EAC3C,MAAMI,eAAe,GAAGC,KAAK,IAAI;IAC/B,OAAO;AACLc,MAAAA,KAAK,EAAEiB,gCAA2B,CAAC/B,KAAK,CAAC;AACzCS,MAAAA,SAAS,EAAEuB,oCAA+B,CAAChC,KAAK,CAAC;AACjDiC,MAAAA,SAAS,EAAEC,oCAA+B,CAAClC,KAAK,CAAC;MACjDW,IAAI,EAAEwB,2BAAsB,CAACnC,KAAK;KACnC;EACH,CAAC;AAED,EAAA,MAAMmB,kBAAkB,GAAG;AACzBiB,kBAAAA;GACD;AAED,EAAA,MAAMrB,kBAAkB,GAAGW,kBAAO,CAChC3B,eAAe,EACfoB,kBACF,CAAC,CAACQ,SAAI,CAAChC,gBAAgB,CAAC,CAAC;EAEzBoB,kBAAkB,CAACnB,WAAW,GAAG,CAAA,EAAGF,cAAc,CAACC,gBAAgB,CAAC,CAAA,CAAE;AAEtE,EAAA,OAAOoB,kBAAkB;AAC3B;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"user.js","sources":["../src/user/hocs/withLogin.tsx","../src/user/hocs/withRegistration.js"],"sourcesContent":["import React from 'react';\nimport { useCookies } from 'react-cookie';\nimport { connect } from 'react-redux';\nimport { loginUser, logoutUser } from '../redux/actions';\nimport {\n selectUser,\n selectUserErrorMessage,\n selectUserIsAuthenticationError,\n selectUserIsError,\n selectUserIsAuthenticated,\n selectUserIsLoading,\n} from '../redux/selectors';\nimport { CookieHelper } from '../util/CookieHelper.class';\nimport { toJS } from '~/util/ToJs';\nimport { AppState } from '~/models';\n\nconst getDisplayName = (WrappedComponent: React.ComponentType) => {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n};\n\nconst withLogin = (WrappedComponent: React.ComponentType) => {\n const mapStateToProps = (state: AppState) => {\n return {\n errorMessage: selectUserErrorMessage(state),\n isAuthenticated: selectUserIsAuthenticated(state),\n isAuthenticationError: selectUserIsAuthenticationError(state),\n isError: selectUserIsError(state),\n isLoading: selectUserIsLoading(state),\n user: selectUser(state),\n // DEPRECATED: authenticationError is deprecated use isAuthenticationError instead\n authenticationError: selectUserIsAuthenticationError(state),\n // DEPRECATED: error is deprecated use isError instead\n error: selectUserIsError(state),\n };\n };\n\n const ConnectedComponent = () => {\n const cookies = new CookieHelper(...useCookies());\n\n const mapDispatchToProps = {\n loginUser: (username: string, password: string) =>\n loginUser(username, password, cookies),\n logoutUser: (redirectPath?: string) => logoutUser(redirectPath, cookies),\n };\n\n const FinalComponent = connect(\n mapStateToProps,\n mapDispatchToProps\n )(toJS(WrappedComponent));\n\n return <FinalComponent />;\n };\n\n ConnectedComponent.displayName = `${getDisplayName(WrappedComponent)}`;\n ConnectedComponent.WrappedComponent = WrappedComponent;\n\n return ConnectedComponent;\n};\n\nexport default withLogin;\n","import { connect } from 'react-redux';\nimport { registerUser } from '../redux/actions';\nimport {\n selectUserRegistration,\n selectUserRegistrationError,\n selectUserRegistrationIsLoading,\n selectUserRegistrationIsSuccess,\n} from '../redux/selectors';\nimport { toJS } from '~/util/ToJs';\n\nconst getDisplayName = WrappedComponent => {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n};\n\nconst withRegistration = WrappedComponent => {\n const mapStateToProps = state => {\n return {\n error: selectUserRegistrationError(state),\n isLoading: selectUserRegistrationIsLoading(state),\n isSuccess: selectUserRegistrationIsSuccess(state),\n user: selectUserRegistration(state),\n };\n };\n\n const mapDispatchToProps = {\n registerUser,\n };\n\n const ConnectedComponent = connect(\n mapStateToProps,\n mapDispatchToProps\n )(toJS(WrappedComponent));\n\n ConnectedComponent.displayName = `${getDisplayName(WrappedComponent)}`;\n\n return ConnectedComponent;\n};\n\nexport default withRegistration;\n"],"names":["getDisplayName","WrappedComponent","displayName","name","withLogin","mapStateToProps","state","errorMessage","selectUserErrorMessage","isAuthenticated","selectUserIsAuthenticated","isAuthenticationError","selectUserIsAuthenticationError","isError","selectUserIsError","isLoading","selectUserIsLoading","user","selectUser","authenticationError","error","ConnectedComponent","cookies","CookieHelper","useCookies","mapDispatchToProps","loginUser","username","password","logoutUser","redirectPath","FinalComponent","connect","toJS","React","createElement","withRegistration","selectUserRegistrationError","selectUserRegistrationIsLoading","isSuccess","selectUserRegistrationIsSuccess","selectUserRegistration","registerUser"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAgBA,MAAMA,gBAAc,GAAIC,gBAAqC,IAAK;EAChE,OAAOA,gBAAgB,CAACC,WAAW,IAAID,gBAAgB,CAACE,IAAI,IAAI,WAAW;AAC7E,CAAC;AAED,MAAMC,SAAS,GAAIH,gBAAqC,IAAK;EAC3D,MAAMI,eAAe,GAAIC,KAAe,IAAK;IAC3C,OAAO;AACLC,MAAAA,YAAY,EAAEC,kCAAsB,CAACF,KAAK,CAAC;AAC3CG,MAAAA,eAAe,EAAEC,qCAAyB,CAACJ,KAAK,CAAC;AACjDK,MAAAA,qBAAqB,EAAEC,2CAA+B,CAACN,KAAK,CAAC;AAC7DO,MAAAA,OAAO,EAAEC,6BAAiB,CAACR,KAAK,CAAC;AACjCS,MAAAA,SAAS,EAAEC,+BAAmB,CAACV,KAAK,CAAC;AACrCW,MAAAA,IAAI,EAAEC,sBAAU,CAACZ,KAAK,CAAC;AACvB;AACAa,MAAAA,mBAAmB,EAAEP,2CAA+B,CAACN,KAAK,CAAC;AAC3D;MACAc,KAAK,EAAEN,6BAAiB,CAACR,KAAK;KAC/B;EACH,CAAC;EAED,MAAMe,kBAAkB,GAAGA,MAAM;IAC/B,MAAMC,OAAO,GAAG,IAAIC,+BAAY,CAAC,GAAGC,sBAAU,EAAE,CAAC;AAEjD,IAAA,MAAMC,kBAAkB,GAAG;AACzBC,MAAAA,SAAS,EAAEA,CAACC,QAAgB,EAAEC,QAAgB,KAC5CF,kCAAS,CAACC,QAAQ,EAAEC,QAAQ,EAAEN,OAAO,CAAC;AACxCO,MAAAA,UAAU,EAAGC,YAAqB,IAAKD,mCAAU,CAACC,YAAY,EAAER,OAAO;KACxE;AAED,IAAA,MAAMS,cAAc,GAAGC,kBAAO,CAC5B3B,eAAe,EACfoB,kBACF,CAAC,CAACQ,SAAI,CAAChC,gBAAgB,CAAC,CAAC;AAEzB,IAAA,oBAAOiC,sBAAA,CAAAC,aAAA,CAACJ,cAAc,MAAE,CAAC;EAC3B,CAAC;EAEDV,kBAAkB,CAACnB,WAAW,GAAG,CAAA,EAAGF,gBAAc,CAACC,gBAAgB,CAAC,CAAA,CAAE;EACtEoB,kBAAkB,CAACpB,gBAAgB,GAAGA,gBAAgB;AAEtD,EAAA,OAAOoB,kBAAkB;AAC3B;;AC/CA,MAAMrB,cAAc,GAAGC,gBAAgB,IAAI;EACzC,OAAOA,gBAAgB,CAACC,WAAW,IAAID,gBAAgB,CAACE,IAAI,IAAI,WAAW;AAC7E,CAAC;AAED,MAAMiC,gBAAgB,GAAGnC,gBAAgB,IAAI;EAC3C,MAAMI,eAAe,GAAGC,KAAK,IAAI;IAC/B,OAAO;AACLc,MAAAA,KAAK,EAAEiB,uCAA2B,CAAC/B,KAAK,CAAC;AACzCS,MAAAA,SAAS,EAAEuB,2CAA+B,CAAChC,KAAK,CAAC;AACjDiC,MAAAA,SAAS,EAAEC,2CAA+B,CAAClC,KAAK,CAAC;MACjDW,IAAI,EAAEwB,kCAAsB,CAACnC,KAAK;KACnC;EACH,CAAC;AAED,EAAA,MAAMmB,kBAAkB,GAAG;AACzBiB,kBAAAA;GACD;AAED,EAAA,MAAMrB,kBAAkB,GAAGW,kBAAO,CAChC3B,eAAe,EACfoB,kBACF,CAAC,CAACQ,SAAI,CAAChC,gBAAgB,CAAC,CAAC;EAEzBoB,kBAAkB,CAACnB,WAAW,GAAG,CAAA,EAAGF,cAAc,CAACC,gBAAgB,CAAC,CAAA,CAAE;AAEtE,EAAA,OAAOoB,kBAAkB;AAC3B;;;;;;;;;;;;;;;;;;;;;"}