@zengenti/contensis-react-base 4.0.0-beta.55 → 4.0.0-beta.58
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.
- package/cjs/{App-QnCN3CvZ.js → App-C5hfqiyz.js} +27 -17
- package/cjs/App-C5hfqiyz.js.map +1 -0
- package/cjs/{ChangePassword.container-BWh4R32r.js → ChangePassword.container-C4Du3Wb1.js} +3 -3
- package/cjs/{ChangePassword.container-BWh4R32r.js.map → ChangePassword.container-C4Du3Wb1.js.map} +1 -1
- package/cjs/{ContensisDeliveryApi-DBaziPG9.js → ContensisDeliveryApi-gN3_MHEl.js} +3 -3
- package/cjs/{ContensisDeliveryApi-DBaziPG9.js.map → ContensisDeliveryApi-gN3_MHEl.js.map} +1 -1
- package/cjs/{RouteLoader-B-sjh6ha.js → RouteLoader-Bbt-nG3v.js} +9 -5
- package/cjs/RouteLoader-Bbt-nG3v.js.map +1 -0
- package/cjs/{SSRContext-Cayonmg4.js → SSRContext-DotLlTQc.js} +48 -3
- package/cjs/SSRContext-DotLlTQc.js.map +1 -0
- package/cjs/{VersionInfo-CTPtw_Xd.js → VersionInfo-zFPsvS8q.js} +3 -3
- package/cjs/{VersionInfo-CTPtw_Xd.js.map → VersionInfo-zFPsvS8q.js.map} +1 -1
- package/cjs/client.js +13 -13
- package/cjs/contensis-react-base.js +62 -28
- package/cjs/contensis-react-base.js.map +1 -1
- package/cjs/{matchGroups-CxRa9Ej9.js → matchGroups-dqONU-vY.js} +2 -2
- package/cjs/{matchGroups-CxRa9Ej9.js.map → matchGroups-dqONU-vY.js.map} +1 -1
- package/cjs/redux.js +4 -4
- package/cjs/routing.js +8 -8
- package/cjs/{sagas-BhtMwNPv.js → sagas-OfBUtx74.js} +5 -5
- package/cjs/{sagas-BhtMwNPv.js.map → sagas-OfBUtx74.js.map} +1 -1
- package/cjs/search.js +6 -6
- package/cjs/{selectors-C1CqEUmL.js → selectors-BrxJ8-F8.js} +5 -2
- package/cjs/selectors-BrxJ8-F8.js.map +1 -0
- package/cjs/{store-DxuhGQ7p.js → store-Dn7vP6G0.js} +4 -2
- package/cjs/store-Dn7vP6G0.js.map +1 -0
- package/cjs/user.js +3 -3
- package/cjs/{util-CFAjDCA0.js → util-wQwG9vit.js} +2 -2
- package/cjs/{util-CFAjDCA0.js.map → util-wQwG9vit.js.map} +1 -1
- package/cjs/util.js +7 -6
- package/cjs/util.js.map +1 -1
- package/cjs/{version-B9moFk8k.js → version-2FamXHhj.js} +3 -3
- package/cjs/{version-B9moFk8k.js.map → version-2FamXHhj.js.map} +1 -1
- package/cjs/{version-CukCz8zL.js → version-rFG9Y6_B.js} +2 -2
- package/cjs/{version-CukCz8zL.js.map → version-rFG9Y6_B.js.map} +1 -1
- package/esm/{App-BdJAKTT9.js → App-BVdAv4vL.js} +27 -17
- package/esm/App-BVdAv4vL.js.map +1 -0
- package/esm/{ChangePassword.container-giznBLAf.js → ChangePassword.container-CUBtn82K.js} +3 -3
- package/esm/{ChangePassword.container-giznBLAf.js.map → ChangePassword.container-CUBtn82K.js.map} +1 -1
- package/esm/{ContensisDeliveryApi-CqPcnP_R.js → ContensisDeliveryApi-CvEoOLCl.js} +4 -4
- package/esm/{ContensisDeliveryApi-CqPcnP_R.js.map → ContensisDeliveryApi-CvEoOLCl.js.map} +1 -1
- package/esm/{RouteLoader-yDf3uwGr.js → RouteLoader-BpHhiAlL.js} +9 -5
- package/esm/RouteLoader-BpHhiAlL.js.map +1 -0
- package/esm/SSRContext-CYxBWky3.js +106 -0
- package/esm/SSRContext-CYxBWky3.js.map +1 -0
- package/esm/{VersionInfo-BMAAda1K.js → VersionInfo-By2ZCZOh.js} +3 -3
- package/esm/{VersionInfo-BMAAda1K.js.map → VersionInfo-By2ZCZOh.js.map} +1 -1
- package/esm/client.js +14 -14
- package/esm/contensis-react-base.js +61 -29
- package/esm/contensis-react-base.js.map +1 -1
- package/esm/{matchGroups-DT-RunAc.js → matchGroups-_w8BwzCC.js} +2 -2
- package/esm/{matchGroups-DT-RunAc.js.map → matchGroups-_w8BwzCC.js.map} +1 -1
- package/esm/redux.js +7 -7
- package/esm/routing.js +8 -8
- package/esm/{sagas-BroWtJz8.js → sagas-BZWjx5by.js} +5 -5
- package/esm/{sagas-BroWtJz8.js.map → sagas-BZWjx5by.js.map} +1 -1
- package/esm/search.js +8 -8
- package/esm/{selectors-PJo8AWy0.js → selectors-8ROQrTd7.js} +5 -2
- package/esm/selectors-8ROQrTd7.js.map +1 -0
- package/esm/{store-BvW6_C0H.js → store-DSjRYsM2.js} +4 -2
- package/esm/store-DSjRYsM2.js.map +1 -0
- package/esm/user.js +5 -5
- package/esm/{util-BuAZdfcq.js → util-BafFLYzn.js} +2 -2
- package/esm/{util-BuAZdfcq.js.map → util-BafFLYzn.js.map} +1 -1
- package/esm/util.js +6 -6
- package/esm/{version-DIHIOZQD.js → version-B75wA6Te.js} +3 -3
- package/esm/{version-DIHIOZQD.js.map → version-B75wA6Te.js.map} +1 -1
- package/esm/{version-DlaBPQ7d.js → version-BQAL8sQO.js} +2 -2
- package/esm/{version-DlaBPQ7d.js.map → version-BQAL8sQO.js.map} +1 -1
- package/models/index.d.ts +1 -0
- package/models/models/SSRContext.d.ts +2 -0
- package/models/models/config/ServerConfig.d.ts +3 -0
- package/models/routing/components/RouteLoader.d.ts +1 -1
- package/models/routing/redux/actions.d.ts +1 -1
- package/models/routing/redux/selectors.d.ts +1 -0
- package/models/server/features/static-assets/index.d.ts +2 -1
- package/models/server/middleware/subsiteDebug.d.ts +11 -0
- package/models/util/index.d.ts +1 -0
- package/models/util/subsite.d.ts +12 -0
- package/package.json +1 -1
- package/cjs/App-QnCN3CvZ.js.map +0 -1
- package/cjs/RouteLoader-B-sjh6ha.js.map +0 -1
- package/cjs/SSRContext-Cayonmg4.js.map +0 -1
- package/cjs/selectors-C1CqEUmL.js.map +0 -1
- package/cjs/store-DxuhGQ7p.js.map +0 -1
- package/esm/App-BdJAKTT9.js.map +0 -1
- package/esm/RouteLoader-yDf3uwGr.js.map +0 -1
- package/esm/SSRContext-BIlCBNCQ.js +0 -63
- package/esm/SSRContext-BIlCBNCQ.js.map +0 -1
- package/esm/selectors-PJo8AWy0.js.map +0 -1
- package/esm/store-BvW6_C0H.js.map +0 -1
package/cjs/search.js
CHANGED
|
@@ -3,21 +3,21 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var reactRedux = require('react-redux');
|
|
5
5
|
var ToJs = require('./ToJs-BsWqWjdm.js');
|
|
6
|
-
var sagas = require('./sagas-
|
|
6
|
+
var sagas = require('./sagas-OfBUtx74.js');
|
|
7
7
|
var reselect = require('reselect');
|
|
8
8
|
var immer = require('immer');
|
|
9
9
|
var equals = require('deep-equal');
|
|
10
10
|
var merge = require('deepmerge');
|
|
11
|
-
var util = require('./util-
|
|
11
|
+
var util = require('./util-wQwG9vit.js');
|
|
12
12
|
require('loglevel');
|
|
13
13
|
require('@redux-saga/core/effects');
|
|
14
|
-
require('./version-
|
|
15
|
-
require('./selectors-
|
|
14
|
+
require('./version-rFG9Y6_B.js');
|
|
15
|
+
require('./selectors-BrxJ8-F8.js');
|
|
16
16
|
require('jsonpath-mapper');
|
|
17
17
|
require('query-string');
|
|
18
|
-
require('./ContensisDeliveryApi-
|
|
18
|
+
require('./ContensisDeliveryApi-gN3_MHEl.js');
|
|
19
19
|
require('contensis-delivery-api');
|
|
20
|
-
require('./store-
|
|
20
|
+
require('./store-Dn7vP6G0.js');
|
|
21
21
|
require('redux');
|
|
22
22
|
require('redux-thunk');
|
|
23
23
|
require('redux-saga');
|
|
@@ -66,8 +66,9 @@ var routing$2 = /*#__PURE__*/Object.freeze({
|
|
|
66
66
|
UPDATE_LOADING_STATE: UPDATE_LOADING_STATE
|
|
67
67
|
});
|
|
68
68
|
|
|
69
|
-
const setNavigationPath = (path, location, staticRoute, withEvents, statePath, routes, ssr) => action(SET_NAVIGATION_PATH, {
|
|
69
|
+
const setNavigationPath = (path, contentPath, location, staticRoute, withEvents, statePath, routes, ssr) => action(SET_NAVIGATION_PATH, {
|
|
70
70
|
path,
|
|
71
|
+
contentPath,
|
|
71
72
|
location,
|
|
72
73
|
staticRoute,
|
|
73
74
|
withEvents,
|
|
@@ -325,6 +326,7 @@ const selectSsrApiCalls = state => {
|
|
|
325
326
|
return getImmutableOrJS(state, ['routing', 'apiCalls'], [], 'js');
|
|
326
327
|
};
|
|
327
328
|
const selectCurrentHostname = state => getImmutableOrJS(state, ['routing', 'currentHostname']);
|
|
329
|
+
const selectSsrHostname = state => getImmutableOrJS(state, ['routing', 'ssrHostname']);
|
|
328
330
|
const selectCurrentTreeID = state => getImmutableOrJS(state, ['routing', 'currentHostname']);
|
|
329
331
|
const selectRouteEntryEntryId = state => getImmutableOrJS(state, ['routing', 'entry', 'sys', 'id'], null);
|
|
330
332
|
const selectRouteEntryContentTypeId = state => {
|
|
@@ -409,6 +411,7 @@ var routing = /*#__PURE__*/Object.freeze({
|
|
|
409
411
|
selectRouteLoading: selectRouteLoading,
|
|
410
412
|
selectRouteStatusCode: selectRouteStatusCode,
|
|
411
413
|
selectSsrApiCalls: selectSsrApiCalls,
|
|
414
|
+
selectSsrHostname: selectSsrHostname,
|
|
412
415
|
selectStaticRoute: selectStaticRoute,
|
|
413
416
|
selectSurrogateKeys: selectSurrogateKeys
|
|
414
417
|
});
|
|
@@ -475,4 +478,4 @@ exports.setNavigationPath = setNavigationPath;
|
|
|
475
478
|
exports.setRoute = setRoute;
|
|
476
479
|
exports.setSurrogateKeys = setSurrogateKeys;
|
|
477
480
|
exports.types = types;
|
|
478
|
-
//# sourceMappingURL=selectors-
|
|
481
|
+
//# sourceMappingURL=selectors-BrxJ8-F8.js.map
|
|
@@ -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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"}
|
|
@@ -6,7 +6,7 @@ var createSagaMiddleware = require('redux-saga');
|
|
|
6
6
|
var reduxInjectors19 = require('redux-injectors-19');
|
|
7
7
|
var slice = require('./slice-5xJMH24n.js');
|
|
8
8
|
var immer = require('immer');
|
|
9
|
-
var selectors = require('./selectors-
|
|
9
|
+
var selectors = require('./selectors-BrxJ8-F8.js');
|
|
10
10
|
var effects = require('@redux-saga/core/effects');
|
|
11
11
|
|
|
12
12
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -67,6 +67,7 @@ const initialState$1 = {
|
|
|
67
67
|
location: {},
|
|
68
68
|
mappedEntry: null,
|
|
69
69
|
notFound: false,
|
|
70
|
+
ssrHostname: null,
|
|
70
71
|
staticRoute: null,
|
|
71
72
|
statusCode: 200,
|
|
72
73
|
surrogateKeys: [],
|
|
@@ -204,6 +205,7 @@ var RoutingReducer = immer.produce((state, action) => {
|
|
|
204
205
|
{
|
|
205
206
|
state.currentProject = action.project;
|
|
206
207
|
state.allowedGroups = action.allowedGroups;
|
|
208
|
+
state.ssrHostname = state.currentHostname || action.hostname;
|
|
207
209
|
state.currentHostname = action.hostname;
|
|
208
210
|
return;
|
|
209
211
|
}
|
|
@@ -364,4 +366,4 @@ exports.createStore = createStore;
|
|
|
364
366
|
exports.navigation = navigation;
|
|
365
367
|
exports.version = version;
|
|
366
368
|
exports.wrapSagasInGenerator = wrapSagasInGenerator;
|
|
367
|
-
//# sourceMappingURL=store-
|
|
369
|
+
//# sourceMappingURL=store-Dn7vP6G0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-Dn7vP6G0.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 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 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 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","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","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":"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"}
|
package/cjs/user.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var ChangePassword_container = require('./ChangePassword.container-
|
|
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 matchGroups = require('./matchGroups-
|
|
7
|
+
var matchGroups = require('./matchGroups-dqONU-vY.js');
|
|
8
8
|
var CookieHelper_class = require('./CookieHelper.class-Det3qfdU.js');
|
|
9
9
|
var ToJs = require('./ToJs-BsWqWjdm.js');
|
|
10
|
-
var selectors = require('./selectors-
|
|
10
|
+
var selectors = require('./selectors-BrxJ8-F8.js');
|
|
11
11
|
require('@redux-saga/core/effects');
|
|
12
12
|
require('jsonpath-mapper');
|
|
13
13
|
require('await-to-js');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var queryString = require('query-string');
|
|
4
|
-
var ContensisDeliveryApi = require('./ContensisDeliveryApi-
|
|
4
|
+
var ContensisDeliveryApi = require('./ContensisDeliveryApi-gN3_MHEl.js');
|
|
5
5
|
|
|
6
6
|
const now = () => {
|
|
7
7
|
if (typeof window == 'undefined') {
|
|
@@ -145,4 +145,4 @@ exports.removeEmptyAttributes = removeEmptyAttributes;
|
|
|
145
145
|
exports.routeParams = routeParams;
|
|
146
146
|
exports.timedSearch = timedSearch;
|
|
147
147
|
exports.toArray = toArray;
|
|
148
|
-
//# sourceMappingURL=util-
|
|
148
|
+
//# sourceMappingURL=util-wQwG9vit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util-CFAjDCA0.js","sources":["../src/search/search/performance.ts","../src/search/search/util.ts"],"sourcesContent":["export const now = () => {\n if (typeof window == 'undefined') {\n return Date.now();\n }\n return window.performance.now();\n};\n","import { parse, stringify } from 'query-string';\nimport { now } from './performance';\n\nimport { Entry } from 'contensis-delivery-api/lib/models';\nimport { PagedList, Query } from 'contensis-core-api';\nimport { CustomApi } from '../models/Search';\nimport { TimedSearchResponse } from '../models/SearchUtil';\nimport { SearchParams } from '../models/SearchActions';\nimport { CachedSearch, cachedSearch } from '~/util/ContensisDeliveryApi';\n\nexport function fixFreeTextForElastic(s: string): string {\n const illegalChars = [\n '>',\n '<',\n '=',\n '|',\n '!',\n '{',\n '}',\n '[',\n ']',\n '^',\n '~',\n '*',\n '?',\n ':',\n '\\\\',\n '/',\n ];\n\n const illegalRegEx = new RegExp(\n illegalChars.map(c => '\\\\' + c).join('|'),\n 'g'\n );\n s = s.replace(illegalRegEx, '');\n // s = s.replace(encodedRegEx, ''); // (m) => '\\\\\\\\' + m);\n\n return s;\n}\n/** `convertKeyForAggregation` and `parseKeyForAggregation` exists to prevent an\n * auto-generated aggregation using a reserved keyword because Elasticsearch has a list of\n * reserved keywords when it parses the response:\n * `'location' is one of the reserved aggregation keywords we use a heuristics based\n * response parser and using these reserved keywords could throw its heuristics off\n * course. We are working on a solution in Elasticsearch itself to make the response\n * parseable. For now these are all the reserved keywords: after_key, _as_string,\n * bg_count, bottom_right, bounds, buckets, count, doc_count, doc_count_error_upper_bound,\n * fields, from, top, type, from_as_string, hits, key, key_as_string, keys, location,\n * max_score, meta, min, min_length, score, sum_other_doc_count, to, to_as_string, top_left,\n * total, value, value_as_string, values, geometry, properties`\n */\nexport const convertKeyForAggregation = (key: string) => `sf_${key}`;\nexport const parseKeyForAggregation = (key: string) =>\n key.startsWith(`sf_`) ? key.slice(3) : key;\nexport const cleanseFieldIdForAggregation = (fieldId: string) =>\n fieldId.replaceAll('[]', '');\n\nexport const timedSearch = async (\n query: Query,\n linkDepth = 0,\n projectId?: string,\n // get api instance from SSR context that is connected to the current request in SSR,\n // fall back to the imported cachedSearch api that is not connected to the current SSR context\n ssr: { api: CachedSearch } = { api: cachedSearch }\n): Promise<null | TimedSearchResponse> => {\n if (!query) return null;\n\n let duration = 0;\n\n const start = now();\n const payload = (await ssr.api.search(\n query,\n linkDepth,\n projectId\n )) as PagedList<Entry>;\n const end = now();\n\n duration = Number((end - start).toFixed(2));\n\n return { duration, payload };\n};\n\nexport const getItemsFromResult = (result?: {\n duration: number;\n payload: PagedList<Entry> | any[];\n}): Entry[] => {\n const { payload } = result || {};\n if (payload) {\n if (Array.isArray(payload)) return payload;\n if (Array.isArray(payload.items)) return payload.items;\n return payload as any;\n }\n return [];\n};\n\nexport const extractQuotedPhrases = (searchTerm: string): string[] => {\n const pattern = new RegExp(\n /(?=[\"'])(?:\"[^\"\\\\]*(?:\\\\[\\s\\S][^\"\\\\]*)*\"|'[^'\\\\]*(?:\\\\[\\s\\S][^'\\\\]*)*')/gm\n );\n\n return (searchTerm.match(pattern) || []).map(match =>\n match.replace(/\"/g, '')\n );\n};\n\nexport const buildUrl = (route: string, params: SearchParams): string => {\n const qs = stringify(params) as string;\n const path = qs ? `${route}${route.includes('?') ? '&' : '?'}${qs}` : route;\n return path;\n};\n\n/**\n * Returns all params from the current route query string or static route\n * Supply static route argument if reading parameters from the route path\n * Supply location argument for the params to be read in SSR\n * @param staticRoute Matched static route from react-router 5 or 6\n * @param location location object containing at least pathname and search\n * @returns Keyed params object\n */\nexport const routeParams = (\n staticRoute?: any,\n location?: {\n [key: string]: any;\n pathname: string;\n search: string;\n hash?: string;\n }\n) => {\n // match.params is react-router-config/react-router@5 style\n // params is supplied with RouteObject in react-router@6\n const pathParams = staticRoute?.match?.params || staticRoute?.params || {};\n const queryParams = parse(\n typeof window !== 'undefined'\n ? window.location.search\n : location?.search || ''\n );\n return {\n ...pathParams,\n ...queryParams,\n };\n};\n\nexport const callCustomApi = async <T>(\n customApi: CustomApi,\n filters: SearchParams,\n // get api instance from SSR context that is connected to the current request in SSR,\n // fall back to the imported cachedSearch api that is not connected to the current SSR context\n ssr: { api: CachedSearch } = { api: cachedSearch }\n): Promise<T> => {\n const apiUri = customApi.uri || '';\n let uri = buildUrl(apiUri, filters);\n if (!uri) throw new Error('uri is required to use customApi');\n if (typeof window == 'undefined') {\n if (!uri.startsWith('http')) uri = `http://localhost:3001${uri}`;\n const response = await fetch(uri);\n return (await response.json()) as T;\n }\n const response = await ssr.api.fetch(uri);\n return (await response.clone().json()) as T;\n};\n\nexport const removeEmptyAttributes = (obj: any) => {\n Object.entries(obj).forEach(\n ([key, val]) =>\n (val && typeof val === 'object' && removeEmptyAttributes(val)) ||\n ((typeof val === 'undefined' || val === null || val === '') &&\n delete obj[key])\n );\n return obj;\n};\n\nexport const toArray = (obj: string | null, seperator = ',') =>\n typeof obj === 'undefined' || obj === null\n ? obj\n : Array.isArray(obj)\n ? (obj as string[])\n : obj.split(seperator);\n\n// assumes array elements are primitive types\nexport const areArraysEqualSets = (a1: any[], a2: any[]) => {\n const superSet = {} as { [key: string]: any };\n for (const ai of a1) {\n const e = ai + typeof ai;\n superSet[e] = 1;\n }\n\n for (const ai of a2) {\n const e = ai + typeof ai;\n if (!superSet[e]) {\n return false;\n }\n superSet[e] = 2;\n }\n\n for (const e in superSet) {\n if (superSet[e] === 1) {\n return false;\n }\n }\n\n return true;\n};\n"],"names":["now","window","Date","performance","fixFreeTextForElastic","s","illegalChars","illegalRegEx","RegExp","map","c","join","replace","convertKeyForAggregation","key","cleanseFieldIdForAggregation","fieldId","replaceAll","timedSearch","query","linkDepth","projectId","ssr","api","cachedSearch","duration","start","payload","search","end","Number","toFixed","getItemsFromResult","result","Array","isArray","items","extractQuotedPhrases","searchTerm","pattern","match","buildUrl","route","params","qs","stringify","path","includes","routeParams","staticRoute","location","_staticRoute$match","pathParams","queryParams","parse","callCustomApi","customApi","filters","apiUri","uri","Error","startsWith","response","fetch","json","clone","removeEmptyAttributes","obj","Object","entries","forEach","val","toArray","seperator","split","areArraysEqualSets","a1","a2","superSet","ai","e"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"util-wQwG9vit.js","sources":["../src/search/search/performance.ts","../src/search/search/util.ts"],"sourcesContent":["export const now = () => {\n if (typeof window == 'undefined') {\n return Date.now();\n }\n return window.performance.now();\n};\n","import { parse, stringify } from 'query-string';\nimport { now } from './performance';\n\nimport { Entry } from 'contensis-delivery-api/lib/models';\nimport { PagedList, Query } from 'contensis-core-api';\nimport { CustomApi } from '../models/Search';\nimport { TimedSearchResponse } from '../models/SearchUtil';\nimport { SearchParams } from '../models/SearchActions';\nimport { CachedSearch, cachedSearch } from '~/util/ContensisDeliveryApi';\n\nexport function fixFreeTextForElastic(s: string): string {\n const illegalChars = [\n '>',\n '<',\n '=',\n '|',\n '!',\n '{',\n '}',\n '[',\n ']',\n '^',\n '~',\n '*',\n '?',\n ':',\n '\\\\',\n '/',\n ];\n\n const illegalRegEx = new RegExp(\n illegalChars.map(c => '\\\\' + c).join('|'),\n 'g'\n );\n s = s.replace(illegalRegEx, '');\n // s = s.replace(encodedRegEx, ''); // (m) => '\\\\\\\\' + m);\n\n return s;\n}\n/** `convertKeyForAggregation` and `parseKeyForAggregation` exists to prevent an\n * auto-generated aggregation using a reserved keyword because Elasticsearch has a list of\n * reserved keywords when it parses the response:\n * `'location' is one of the reserved aggregation keywords we use a heuristics based\n * response parser and using these reserved keywords could throw its heuristics off\n * course. We are working on a solution in Elasticsearch itself to make the response\n * parseable. For now these are all the reserved keywords: after_key, _as_string,\n * bg_count, bottom_right, bounds, buckets, count, doc_count, doc_count_error_upper_bound,\n * fields, from, top, type, from_as_string, hits, key, key_as_string, keys, location,\n * max_score, meta, min, min_length, score, sum_other_doc_count, to, to_as_string, top_left,\n * total, value, value_as_string, values, geometry, properties`\n */\nexport const convertKeyForAggregation = (key: string) => `sf_${key}`;\nexport const parseKeyForAggregation = (key: string) =>\n key.startsWith(`sf_`) ? key.slice(3) : key;\nexport const cleanseFieldIdForAggregation = (fieldId: string) =>\n fieldId.replaceAll('[]', '');\n\nexport const timedSearch = async (\n query: Query,\n linkDepth = 0,\n projectId?: string,\n // get api instance from SSR context that is connected to the current request in SSR,\n // fall back to the imported cachedSearch api that is not connected to the current SSR context\n ssr: { api: CachedSearch } = { api: cachedSearch }\n): Promise<null | TimedSearchResponse> => {\n if (!query) return null;\n\n let duration = 0;\n\n const start = now();\n const payload = (await ssr.api.search(\n query,\n linkDepth,\n projectId\n )) as PagedList<Entry>;\n const end = now();\n\n duration = Number((end - start).toFixed(2));\n\n return { duration, payload };\n};\n\nexport const getItemsFromResult = (result?: {\n duration: number;\n payload: PagedList<Entry> | any[];\n}): Entry[] => {\n const { payload } = result || {};\n if (payload) {\n if (Array.isArray(payload)) return payload;\n if (Array.isArray(payload.items)) return payload.items;\n return payload as any;\n }\n return [];\n};\n\nexport const extractQuotedPhrases = (searchTerm: string): string[] => {\n const pattern = new RegExp(\n /(?=[\"'])(?:\"[^\"\\\\]*(?:\\\\[\\s\\S][^\"\\\\]*)*\"|'[^'\\\\]*(?:\\\\[\\s\\S][^'\\\\]*)*')/gm\n );\n\n return (searchTerm.match(pattern) || []).map(match =>\n match.replace(/\"/g, '')\n );\n};\n\nexport const buildUrl = (route: string, params: SearchParams): string => {\n const qs = stringify(params) as string;\n const path = qs ? `${route}${route.includes('?') ? '&' : '?'}${qs}` : route;\n return path;\n};\n\n/**\n * Returns all params from the current route query string or static route\n * Supply static route argument if reading parameters from the route path\n * Supply location argument for the params to be read in SSR\n * @param staticRoute Matched static route from react-router 5 or 6\n * @param location location object containing at least pathname and search\n * @returns Keyed params object\n */\nexport const routeParams = (\n staticRoute?: any,\n location?: {\n [key: string]: any;\n pathname: string;\n search: string;\n hash?: string;\n }\n) => {\n // match.params is react-router-config/react-router@5 style\n // params is supplied with RouteObject in react-router@6\n const pathParams = staticRoute?.match?.params || staticRoute?.params || {};\n const queryParams = parse(\n typeof window !== 'undefined'\n ? window.location.search\n : location?.search || ''\n );\n return {\n ...pathParams,\n ...queryParams,\n };\n};\n\nexport const callCustomApi = async <T>(\n customApi: CustomApi,\n filters: SearchParams,\n // get api instance from SSR context that is connected to the current request in SSR,\n // fall back to the imported cachedSearch api that is not connected to the current SSR context\n ssr: { api: CachedSearch } = { api: cachedSearch }\n): Promise<T> => {\n const apiUri = customApi.uri || '';\n let uri = buildUrl(apiUri, filters);\n if (!uri) throw new Error('uri is required to use customApi');\n if (typeof window == 'undefined') {\n if (!uri.startsWith('http')) uri = `http://localhost:3001${uri}`;\n const response = await fetch(uri);\n return (await response.json()) as T;\n }\n const response = await ssr.api.fetch(uri);\n return (await response.clone().json()) as T;\n};\n\nexport const removeEmptyAttributes = (obj: any) => {\n Object.entries(obj).forEach(\n ([key, val]) =>\n (val && typeof val === 'object' && removeEmptyAttributes(val)) ||\n ((typeof val === 'undefined' || val === null || val === '') &&\n delete obj[key])\n );\n return obj;\n};\n\nexport const toArray = (obj: string | null, seperator = ',') =>\n typeof obj === 'undefined' || obj === null\n ? obj\n : Array.isArray(obj)\n ? (obj as string[])\n : obj.split(seperator);\n\n// assumes array elements are primitive types\nexport const areArraysEqualSets = (a1: any[], a2: any[]) => {\n const superSet = {} as { [key: string]: any };\n for (const ai of a1) {\n const e = ai + typeof ai;\n superSet[e] = 1;\n }\n\n for (const ai of a2) {\n const e = ai + typeof ai;\n if (!superSet[e]) {\n return false;\n }\n superSet[e] = 2;\n }\n\n for (const e in superSet) {\n if (superSet[e] === 1) {\n return false;\n }\n }\n\n return true;\n};\n"],"names":["now","window","Date","performance","fixFreeTextForElastic","s","illegalChars","illegalRegEx","RegExp","map","c","join","replace","convertKeyForAggregation","key","cleanseFieldIdForAggregation","fieldId","replaceAll","timedSearch","query","linkDepth","projectId","ssr","api","cachedSearch","duration","start","payload","search","end","Number","toFixed","getItemsFromResult","result","Array","isArray","items","extractQuotedPhrases","searchTerm","pattern","match","buildUrl","route","params","qs","stringify","path","includes","routeParams","staticRoute","location","_staticRoute$match","pathParams","queryParams","parse","callCustomApi","customApi","filters","apiUri","uri","Error","startsWith","response","fetch","json","clone","removeEmptyAttributes","obj","Object","entries","forEach","val","toArray","seperator","split","areArraysEqualSets","a1","a2","superSet","ai","e"],"mappings":"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"}
|
package/cjs/util.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var urls = require('./urls-DVIwGZmd.js');
|
|
4
|
-
var ContensisDeliveryApi = require('./ContensisDeliveryApi-
|
|
5
|
-
var SSRContext = require('./SSRContext-
|
|
6
|
-
var VersionInfo = require('./VersionInfo-
|
|
4
|
+
var ContensisDeliveryApi = require('./ContensisDeliveryApi-gN3_MHEl.js');
|
|
5
|
+
var SSRContext = require('./SSRContext-DotLlTQc.js');
|
|
6
|
+
var VersionInfo = require('./VersionInfo-zFPsvS8q.js');
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var mapJson = require('jsonpath-mapper');
|
|
9
9
|
var reactRouterDom = require('react-router-dom');
|
|
10
10
|
require('contensis-delivery-api');
|
|
11
11
|
require('query-string');
|
|
12
|
-
require('./selectors-
|
|
12
|
+
require('./selectors-BrxJ8-F8.js');
|
|
13
13
|
require('immer');
|
|
14
14
|
require('reselect');
|
|
15
|
-
require('./store-
|
|
15
|
+
require('./store-Dn7vP6G0.js');
|
|
16
16
|
require('redux');
|
|
17
17
|
require('redux-thunk');
|
|
18
18
|
require('redux-saga');
|
|
@@ -25,7 +25,7 @@ require('react-cookie');
|
|
|
25
25
|
require('react-redux');
|
|
26
26
|
require('./CookieHelper.class-Det3qfdU.js');
|
|
27
27
|
require('./_commonjsHelpers-BJu3ubxk.js');
|
|
28
|
-
require('./version-
|
|
28
|
+
require('./version-rFG9Y6_B.js');
|
|
29
29
|
require('styled-components');
|
|
30
30
|
|
|
31
31
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -199,6 +199,7 @@ exports.deliveryApi = ContensisDeliveryApi.deliveryApi;
|
|
|
199
199
|
exports.deliveryApiWithCookies = ContensisDeliveryApi.deliveryApiWithCookies;
|
|
200
200
|
exports.getClientConfig = ContensisDeliveryApi.getClientConfig;
|
|
201
201
|
exports.SSRContextProvider = SSRContext.SSRContextProvider;
|
|
202
|
+
exports.getSubsitePath = SSRContext.getSubsitePath;
|
|
202
203
|
exports.useDeliveryApi = SSRContext.useDeliveryApi;
|
|
203
204
|
exports.useSSRContext = SSRContext.useSSRContext;
|
|
204
205
|
exports.VersionInfo = VersionInfo.VersionInfo;
|
package/cjs/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sources":["../src/util/json-mapper.ts","../src/util/useIsClient.ts","../src/util/NoSSR.tsx","../src/util/donotuse_useHistory.ts"],"sourcesContent":["import { Entry } from 'contensis-delivery-api/lib/models';\nimport mapJson, { jpath } from 'jsonpath-mapper';\nimport {\n MappingTemplate,\n PureJsFunction,\n} from 'jsonpath-mapper';\nimport { AppState, EntryMapper, RouteNode } from '~/models';\n\nexport { default as mapJson, jpath } from 'jsonpath-mapper';\n\ntype Mappers<S> = { [contentTypeId: string]: MappingTemplate<S> };\n\n/**\n *\n * @param {object} json The source object we wish to transform\n * @param {object} template The mapping template we wish to apply to the source\n * object to generate the intended target object\n */\nexport const useMapper = <T, S>(json: S, template: MappingTemplate<S>) => {\n return template ? (mapJson((json || {}) as S, template) as T) : json;\n};\n\nconst chooseMapperByFieldValue = <S, T extends Mappers<S>>(\n entry: S,\n mappers: T,\n field = 'sys.contentTypeId'\n) => {\n const fieldValue = jpath(field, entry || {}) as string;\n return (mappers[fieldValue] || mappers.default || {}) as T[keyof T];\n};\n\n/**\n * useEntriesMapper hook to take a list of entries from Delivery API along\n * with mappers for each contentTypeId and return an array of mapped objects\n * @param {any} entry The source entry we wish to transform\n * @param {object} mappers Object with keys containing mapper templates,\n * the key name matching sys.contentTypeId\n * @param {string} field Only include if we need to match content based on\n * a field other than sys.contentTypeId in the source data\n * @returns {object} Object transformed using a matched content type or\n * a default mapper template, returns an empty object if no mapper template\n * couild be applied.\n */\nexport const useEntriesMapper = <S, T extends Mappers<S>>(\n entry: S,\n mappers: T,\n field = 'sys.contentTypeId'\n) => {\n const mapper = chooseMapperByFieldValue(entry, mappers, field);\n return useMapper(entry, mapper);\n};\n\n/**\n * Deprecated: due to misleading name, use the hook useEntriesMapper instead\n */\nexport const useEntryMapper = useEntriesMapper;\n\n/**\n * mapEntries mapping function to take a list of entries from Delivery API along\n * with mappers for each contentTypeId and return an array of mapped objects\n * @param {any} entry The source entry we wish to transform\n * @param {object} mappers Object with keys containing mapper templates,\n * the key name matching sys.contentTypeId\n * @param {string} field Only include if we need to match content based on\n * a field other than sys.contentTypeId in the source data\n * @returns {object} Object transformed using a matched content type or\n * a default mapper template, returns an empty object if no mapper template\n * couild be applied.\n */\nexport const mapEntries = <\n S,\n Mappers extends { [contentTypeId: string]: MappingTemplate<S> }\n>(\n entries: S[],\n mappers: Mappers,\n field = 'sys.contentTypeId'\n) =>\n entries.map(entry => {\n const mapper = chooseMapperByFieldValue(entry, mappers, field);\n return mapper ? mapJson((entry || {}) as S, mapper) : entry;\n });\n\n/**\n * mapComposer mapping function to take a composer field from Delivery API along\n * with mappers for each Composer Item \"type\" and return an array of mapped components\n * @param {array} composer Composer field array of Composer Items\n * @param {object} mappers A keyed object with each key matching the Composer Item \"type\"\n * @returns {array} Array of mapped objects transformed using a matched Composer Item \"type\" mapping\n * or null. Injects a \"_type\" property into each transformed object in the array to indicate\n * where the mapping originated and for what component the mapped object is representing\n */\nexport const mapComposer = <\n S extends { type: string; value: any },\n T extends Mappers<S>\n>(\n composer: S[],\n mappers: T\n) =>\n Array.isArray(composer)\n ? composer.map((composerItem, index) => {\n const itemValue = composerItem.value;\n const mapper = mappers[composerItem.type] || mappers.default;\n if (mapper) {\n // Add some fields into the composer item mapper and return object\n const addedFields = {\n _type: composerItem.type,\n _index: index,\n };\n\n // Add fields and $root item into the composer item source object\n // for use inside each item mapping, for arrays we inject the added fields\n // into the first array item. This is useful if we require any of\n // composerItem.type, composerItem index/position and composer $root\n // in scope to influence any composer item's mapping logic\n const sourceObject =\n itemValue && Array.isArray(itemValue)\n ? itemValue.map((iv, idx) =>\n idx !== 0\n ? iv\n : typeof iv === 'object'\n ? { ...addedFields, ...iv, $root: composer }\n : iv\n )\n : typeof itemValue === 'object'\n ? { ...addedFields, ...itemValue, $root: composer }\n : itemValue || {};\n\n // Apply the composer item mapping\n const mappedFields = mapJson(sourceObject, mapper) as any;\n\n // Add the extra fields in with the return object\n return mappedFields && typeof mappedFields === 'object'\n ? { ...mappedFields, ...addedFields }\n : mappedFields;\n } else return {};\n })\n : composer || [];\n\n/**\n * useComposerMapper hook to take a composer field from Delivery API along\n * with mappers for each Composer Item \"type\" and return an array of mapped components\n * @param {array} composer Composer field array of Composer Items\n * @param {object} mappers A keyed object with each key matching the Composer Item \"type\"\n * @returns {array} Array of mapped objects transformed using a matched Composer Item \"type\" mapping\n * or null. Injects a \"_type\" property into each transformed object in the array to indicate\n * where the mapping originated and for what component the mapped object is representing\n */\nexport const useComposerMapper = <\n S extends { type: string; value: any },\n T extends Mappers<S>\n>(\n composer: S[] = [],\n mappers: T\n) => mapComposer(composer, mappers);\n\n/**\n * entryMapper will return a function to satisfy an entryMapper when defining app route\n * this is essentially a shorthand function to prevent boilerplate repetition inside your routes file\n * you do not need to use this function should you wish to map your entry via raw JS functions\n * @param mapping the jsonpath-mapper mapping template to apply when the route is resolved\n * @returns {mappedEntry}\n */\nexport const entryMapper =\n (\n mapping:\n | MappingTemplate<RouteNode & Entry & { state?: AppState }>\n | PureJsFunction<RouteNode & Entry & { state?: AppState }>\n ): EntryMapper =>\n (node, state) =>\n mapJson({ ...node, ...(node.entry || ({} as Entry)), state }, mapping);\n\nexport default mapJson;\n","// hooks/useIsClient.ts\nimport { useEffect, useState } from 'react';\n/**\n * A hook that returns true only when the component has mounted in the browser client\n * Used to prevent SSR render and defer rendering to client-side to safely refernce\n * browser-only apis or avoid React Hydration errors\n */\nexport const useIsClient = () => {\n const [isClient, setIsClient] = useState(false);\n useEffect(() => setIsClient(true), []);\n return isClient;\n};\n","import React from 'react';\nimport { useIsClient } from './useIsClient';\n\n/**\n * NoSSR component to prevent children from rendering on the server.\n * Renders children only after component has mounted in the browser.\n */\nexport const NoSSR: React.FC<React.PropsWithChildren> = ({ children }) => {\n const isClient = useIsClient();\n\n if (!isClient) return null;\n\n return <>{children}</>;\n};\n","import { useNavigate } from 'react-router-dom';\nimport { useLocation } from 'react-router-dom';\n\n/** @deprecated ponyfill for useHistory hook in react-router v5 removed in v6 */\nexport const useHistory = () => {\n const navigate = useNavigate();\n const location = useLocation();\n\n return {\n push: navigate,\n replace: navigate,\n location,\n };\n};\n"],"names":["useMapper","json","template","mapJson","chooseMapperByFieldValue","entry","mappers","field","fieldValue","jpath","default","useEntriesMapper","mapper","useEntryMapper","mapEntries","entries","map","mapComposer","composer","Array","isArray","composerItem","index","itemValue","value","type","addedFields","_type","_index","sourceObject","iv","idx","$root","mappedFields","useComposerMapper","entryMapper","mapping","node","state","useIsClient","isClient","setIsClient","useState","useEffect","NoSSR","children","React","createElement","Fragment","useHistory","navigate","useNavigate","location","useLocation","push","replace"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"util.js","sources":["../src/util/json-mapper.ts","../src/util/useIsClient.ts","../src/util/NoSSR.tsx","../src/util/donotuse_useHistory.ts"],"sourcesContent":["import { Entry } from 'contensis-delivery-api/lib/models';\nimport mapJson, { jpath } from 'jsonpath-mapper';\nimport {\n MappingTemplate,\n PureJsFunction,\n} from 'jsonpath-mapper';\nimport { AppState, EntryMapper, RouteNode } from '~/models';\n\nexport { default as mapJson, jpath } from 'jsonpath-mapper';\n\ntype Mappers<S> = { [contentTypeId: string]: MappingTemplate<S> };\n\n/**\n *\n * @param {object} json The source object we wish to transform\n * @param {object} template The mapping template we wish to apply to the source\n * object to generate the intended target object\n */\nexport const useMapper = <T, S>(json: S, template: MappingTemplate<S>) => {\n return template ? (mapJson((json || {}) as S, template) as T) : json;\n};\n\nconst chooseMapperByFieldValue = <S, T extends Mappers<S>>(\n entry: S,\n mappers: T,\n field = 'sys.contentTypeId'\n) => {\n const fieldValue = jpath(field, entry || {}) as string;\n return (mappers[fieldValue] || mappers.default || {}) as T[keyof T];\n};\n\n/**\n * useEntriesMapper hook to take a list of entries from Delivery API along\n * with mappers for each contentTypeId and return an array of mapped objects\n * @param {any} entry The source entry we wish to transform\n * @param {object} mappers Object with keys containing mapper templates,\n * the key name matching sys.contentTypeId\n * @param {string} field Only include if we need to match content based on\n * a field other than sys.contentTypeId in the source data\n * @returns {object} Object transformed using a matched content type or\n * a default mapper template, returns an empty object if no mapper template\n * couild be applied.\n */\nexport const useEntriesMapper = <S, T extends Mappers<S>>(\n entry: S,\n mappers: T,\n field = 'sys.contentTypeId'\n) => {\n const mapper = chooseMapperByFieldValue(entry, mappers, field);\n return useMapper(entry, mapper);\n};\n\n/**\n * Deprecated: due to misleading name, use the hook useEntriesMapper instead\n */\nexport const useEntryMapper = useEntriesMapper;\n\n/**\n * mapEntries mapping function to take a list of entries from Delivery API along\n * with mappers for each contentTypeId and return an array of mapped objects\n * @param {any} entry The source entry we wish to transform\n * @param {object} mappers Object with keys containing mapper templates,\n * the key name matching sys.contentTypeId\n * @param {string} field Only include if we need to match content based on\n * a field other than sys.contentTypeId in the source data\n * @returns {object} Object transformed using a matched content type or\n * a default mapper template, returns an empty object if no mapper template\n * couild be applied.\n */\nexport const mapEntries = <\n S,\n Mappers extends { [contentTypeId: string]: MappingTemplate<S> }\n>(\n entries: S[],\n mappers: Mappers,\n field = 'sys.contentTypeId'\n) =>\n entries.map(entry => {\n const mapper = chooseMapperByFieldValue(entry, mappers, field);\n return mapper ? mapJson((entry || {}) as S, mapper) : entry;\n });\n\n/**\n * mapComposer mapping function to take a composer field from Delivery API along\n * with mappers for each Composer Item \"type\" and return an array of mapped components\n * @param {array} composer Composer field array of Composer Items\n * @param {object} mappers A keyed object with each key matching the Composer Item \"type\"\n * @returns {array} Array of mapped objects transformed using a matched Composer Item \"type\" mapping\n * or null. Injects a \"_type\" property into each transformed object in the array to indicate\n * where the mapping originated and for what component the mapped object is representing\n */\nexport const mapComposer = <\n S extends { type: string; value: any },\n T extends Mappers<S>\n>(\n composer: S[],\n mappers: T\n) =>\n Array.isArray(composer)\n ? composer.map((composerItem, index) => {\n const itemValue = composerItem.value;\n const mapper = mappers[composerItem.type] || mappers.default;\n if (mapper) {\n // Add some fields into the composer item mapper and return object\n const addedFields = {\n _type: composerItem.type,\n _index: index,\n };\n\n // Add fields and $root item into the composer item source object\n // for use inside each item mapping, for arrays we inject the added fields\n // into the first array item. This is useful if we require any of\n // composerItem.type, composerItem index/position and composer $root\n // in scope to influence any composer item's mapping logic\n const sourceObject =\n itemValue && Array.isArray(itemValue)\n ? itemValue.map((iv, idx) =>\n idx !== 0\n ? iv\n : typeof iv === 'object'\n ? { ...addedFields, ...iv, $root: composer }\n : iv\n )\n : typeof itemValue === 'object'\n ? { ...addedFields, ...itemValue, $root: composer }\n : itemValue || {};\n\n // Apply the composer item mapping\n const mappedFields = mapJson(sourceObject, mapper) as any;\n\n // Add the extra fields in with the return object\n return mappedFields && typeof mappedFields === 'object'\n ? { ...mappedFields, ...addedFields }\n : mappedFields;\n } else return {};\n })\n : composer || [];\n\n/**\n * useComposerMapper hook to take a composer field from Delivery API along\n * with mappers for each Composer Item \"type\" and return an array of mapped components\n * @param {array} composer Composer field array of Composer Items\n * @param {object} mappers A keyed object with each key matching the Composer Item \"type\"\n * @returns {array} Array of mapped objects transformed using a matched Composer Item \"type\" mapping\n * or null. Injects a \"_type\" property into each transformed object in the array to indicate\n * where the mapping originated and for what component the mapped object is representing\n */\nexport const useComposerMapper = <\n S extends { type: string; value: any },\n T extends Mappers<S>\n>(\n composer: S[] = [],\n mappers: T\n) => mapComposer(composer, mappers);\n\n/**\n * entryMapper will return a function to satisfy an entryMapper when defining app route\n * this is essentially a shorthand function to prevent boilerplate repetition inside your routes file\n * you do not need to use this function should you wish to map your entry via raw JS functions\n * @param mapping the jsonpath-mapper mapping template to apply when the route is resolved\n * @returns {mappedEntry}\n */\nexport const entryMapper =\n (\n mapping:\n | MappingTemplate<RouteNode & Entry & { state?: AppState }>\n | PureJsFunction<RouteNode & Entry & { state?: AppState }>\n ): EntryMapper =>\n (node, state) =>\n mapJson({ ...node, ...(node.entry || ({} as Entry)), state }, mapping);\n\nexport default mapJson;\n","// hooks/useIsClient.ts\nimport { useEffect, useState } from 'react';\n/**\n * A hook that returns true only when the component has mounted in the browser client\n * Used to prevent SSR render and defer rendering to client-side to safely refernce\n * browser-only apis or avoid React Hydration errors\n */\nexport const useIsClient = () => {\n const [isClient, setIsClient] = useState(false);\n useEffect(() => setIsClient(true), []);\n return isClient;\n};\n","import React from 'react';\nimport { useIsClient } from './useIsClient';\n\n/**\n * NoSSR component to prevent children from rendering on the server.\n * Renders children only after component has mounted in the browser.\n */\nexport const NoSSR: React.FC<React.PropsWithChildren> = ({ children }) => {\n const isClient = useIsClient();\n\n if (!isClient) return null;\n\n return <>{children}</>;\n};\n","import { useNavigate } from 'react-router-dom';\nimport { useLocation } from 'react-router-dom';\n\n/** @deprecated ponyfill for useHistory hook in react-router v5 removed in v6 */\nexport const useHistory = () => {\n const navigate = useNavigate();\n const location = useLocation();\n\n return {\n push: navigate,\n replace: navigate,\n location,\n };\n};\n"],"names":["useMapper","json","template","mapJson","chooseMapperByFieldValue","entry","mappers","field","fieldValue","jpath","default","useEntriesMapper","mapper","useEntryMapper","mapEntries","entries","map","mapComposer","composer","Array","isArray","composerItem","index","itemValue","value","type","addedFields","_type","_index","sourceObject","iv","idx","$root","mappedFields","useComposerMapper","entryMapper","mapping","node","state","useIsClient","isClient","setIsClient","useState","useEffect","NoSSR","children","React","createElement","Fragment","useHistory","navigate","useNavigate","location","useLocation","push","replace"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var selectors = require('./selectors-
|
|
4
|
-
var store = require('./store-
|
|
3
|
+
var selectors = require('./selectors-BrxJ8-F8.js');
|
|
4
|
+
var store = require('./store-Dn7vP6G0.js');
|
|
5
5
|
|
|
6
6
|
const hasNavigationTree = state => selectors.getImmutableOrJS(state, ['navigation', 'isReady']);
|
|
7
7
|
const selectNavigationRoot = state => selectors.getImmutableOrJS(state, ['navigation', 'root']);
|
|
@@ -94,4 +94,4 @@ exports.setVersion = setVersion;
|
|
|
94
94
|
exports.setVersionStatus = setVersionStatus;
|
|
95
95
|
exports.useInjectRedux = useInjectRedux;
|
|
96
96
|
exports.version = version;
|
|
97
|
-
//# sourceMappingURL=version-
|
|
97
|
+
//# sourceMappingURL=version-2FamXHhj.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-
|
|
1
|
+
{"version":3,"file":"version-2FamXHhj.js","sources":["../src/redux/selectors/navigation.js","../src/redux/store/injectors/inject.ts","../src/redux/store/injectors/index.ts","../src/redux/actions/version.js"],"sourcesContent":["import { getImmutableOrJS as getIn } from '~/redux/util';\n\nexport const hasNavigationTree = state =>\n getIn(state, ['navigation', 'isReady']);\n\nexport const selectNavigationRoot = state =>\n getIn(state, ['navigation', 'root']);\n\nexport const selectNavigationChildren = state =>\n getIn(state, ['navigation', 'root', 'children']);\n\nexport const selectNavigationDepends = () => [];\n","import { Reducer } from 'redux';\nimport { Effect } from 'redux-saga/effects';\nimport { reduxStore as DefaultStore } from '../store';\nimport { wrapSagasInGenerator } from './util';\n\nexport const injectReducer = (\n { key, reducer }: { key: string; reducer: Reducer },\n store = DefaultStore\n) => {\n if (\n Reflect.has(store.injectedReducers, key) &&\n store.injectedReducers[key] === reducer\n )\n return;\n store.injectedReducers[key] = reducer;\n\n store.replaceReducer(store.createReducer(store.injectedReducers));\n};\n\nexport const injectSaga = (\n { key, saga }: { key: string; saga: Effect[] },\n store = DefaultStore\n) => {\n // Proceed with the injection as usual if it's not a duplicate\n let hasSaga = Reflect.has(store.injectedSagas, key);\n\n if (process.env.NODE_ENV !== 'production') {\n const oldDescriptor = store.injectedSagas[key]; // enable hot reloading of daemon and once-till-unmount sagas\n\n if (hasSaga && oldDescriptor.saga !== saga) {\n oldDescriptor.task.cancel();\n hasSaga = false;\n }\n }\n\n if (!hasSaga) {\n // Check if the saga has already been added in the initial sagas\n const injectEffects: Effect[] = [];\n for (const effect of saga) {\n // Inject this saga effect if it's not already present\n if (!store.initialSagas.has(effect)) injectEffects.push(effect);\n }\n const rootSaga = wrapSagasInGenerator(injectEffects);\n store.injectedSagas[key] = {\n key,\n saga: saga,\n task: store.runSaga(rootSaga),\n };\n }\n};\n","import { Reducer } from 'redux';\nimport { Effect } from 'redux-saga/effects';\nimport { reduxStore as DefaultStore } from '../store';\nimport { injectReducer, injectSaga } from './inject';\n\nexport const injectRedux = (\n { key, reducer, saga }: { key: string; reducer?: Reducer; saga?: Effect[] },\n store = DefaultStore\n) => {\n // console.info('injectRedux, key: ', key);\n if (reducer) injectReducer({ key, reducer }, store);\n if (saga) injectSaga({ key, saga }, store);\n};\n\nexport const useInjectRedux = injectRedux;\n","import { action } from '../util';\nimport { SET_VERSION, SET_VERSION_STATUS } from '../types/version';\n\nexport const setVersion = (commitRef, buildNo) =>\n action(SET_VERSION, { commitRef, buildNo });\n\nexport const setVersionStatus = status =>\n action(SET_VERSION_STATUS, { status });\n"],"names":["hasNavigationTree","state","getIn","selectNavigationRoot","selectNavigationChildren","selectNavigationDepends","injectReducer","key","reducer","store","DefaultStore","Reflect","has","injectedReducers","replaceReducer","createReducer","injectSaga","saga","hasSaga","injectedSagas","process","env","NODE_ENV","oldDescriptor","task","cancel","injectEffects","effect","initialSagas","push","rootSaga","wrapSagasInGenerator","runSaga","injectRedux","useInjectRedux","setVersion","commitRef","buildNo","action","SET_VERSION","setVersionStatus","status","SET_VERSION_STATUS"],"mappings":";;;;;AAEO,MAAMA,iBAAiB,GAAGC,KAAK,IACpCC,0BAAK,CAACD,KAAK,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;AAEjC,MAAME,oBAAoB,GAAGF,KAAK,IACvCC,0BAAK,CAACD,KAAK,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AAE/B,MAAMG,wBAAwB,GAAGH,KAAK,IAC3CC,0BAAK,CAACD,KAAK,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAE3C,MAAMI,uBAAuB,GAAGA,MAAM,EAAE;;;;;;;;;;ACNxC,MAAMC,aAAa,GAAGA,CAC3B;EAAEC,GAAG;AAAEC,EAAAA;AAA2C,CAAC,EACnDC,OAAK,GAAGC,gBAAY,KACjB;AACH,EAAA,IACEC,OAAO,CAACC,GAAG,CAACH,OAAK,CAACI,gBAAgB,EAAEN,GAAG,CAAC,IACxCE,OAAK,CAACI,gBAAgB,CAACN,GAAG,CAAC,KAAKC,OAAO,EAEvC;AACFC,EAAAA,OAAK,CAACI,gBAAgB,CAACN,GAAG,CAAC,GAAGC,OAAO;EAErCC,OAAK,CAACK,cAAc,CAACL,OAAK,CAACM,aAAa,CAACN,OAAK,CAACI,gBAAgB,CAAC,CAAC;AACnE;AAEO,MAAMG,UAAU,GAAGA,CACxB;EAAET,GAAG;AAAEU,EAAAA;AAAsC,CAAC,EAC9CR,OAAK,GAAGC,gBAAY,KACjB;AACH;EACA,IAAIQ,OAAO,GAAGP,OAAO,CAACC,GAAG,CAACH,OAAK,CAACU,aAAa,EAAEZ,GAAG,CAAC;AAEnD,EAAA,IAAIa,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACzC,MAAMC,aAAa,GAAGd,OAAK,CAACU,aAAa,CAACZ,GAAG,CAAC,CAAC;;AAE/C,IAAA,IAAIW,OAAO,IAAIK,aAAa,CAACN,IAAI,KAAKA,IAAI,EAAE;AAC1CM,MAAAA,aAAa,CAACC,IAAI,CAACC,MAAM,EAAE;AAC3BP,MAAAA,OAAO,GAAG,KAAK;AACjB,IAAA;AACF,EAAA;EAEA,IAAI,CAACA,OAAO,EAAE;AACZ;IACA,MAAMQ,aAAuB,GAAG,EAAE;AAClC,IAAA,KAAK,MAAMC,MAAM,IAAIV,IAAI,EAAE;AACzB;AACA,MAAA,IAAI,CAACR,OAAK,CAACmB,YAAY,CAAChB,GAAG,CAACe,MAAM,CAAC,EAAED,aAAa,CAACG,IAAI,CAACF,MAAM,CAAC;AACjE,IAAA;AACA,IAAA,MAAMG,QAAQ,GAAGC,0BAAoB,CAACL,aAAa,CAAC;AACpDjB,IAAAA,OAAK,CAACU,aAAa,CAACZ,GAAG,CAAC,GAAG;MACzBA,GAAG;AACHU,MAAAA,IAAI,EAAEA,IAAI;AACVO,MAAAA,IAAI,EAAEf,OAAK,CAACuB,OAAO,CAACF,QAAQ;KAC7B;AACH,EAAA;AACF;;AC5CO,MAAMG,WAAW,GAAGA,CACzB;EAAE1B,GAAG;EAAEC,OAAO;AAAES,EAAAA;AAA0D,CAAC,EAC3ER,OAAK,GAAGC,gBAAY,KACjB;AACH;EACA,IAAIF,OAAO,EAAEF,aAAa,CAAC;IAAEC,GAAG;AAAEC,IAAAA;GAAS,EAAEC,OAAK,CAAC;EACnD,IAAIQ,IAAI,EAAED,UAAU,CAAC;IAAET,GAAG;AAAEU,IAAAA;GAAM,EAAER,OAAK,CAAC;AAC5C;AAEO,MAAMyB,cAAc,GAAGD;;ACXvB,MAAME,UAAU,GAAGA,CAACC,SAAS,EAAEC,OAAO,KAC3CC,gBAAM,CAACC,iBAAW,EAAE;EAAEH,SAAS;AAAEC,EAAAA;AAAQ,CAAC;AAErC,MAAMG,gBAAgB,GAAGC,MAAM,IACpCH,gBAAM,CAACI,wBAAkB,EAAE;AAAED,EAAAA;AAAO,CAAC;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var selectors = require('./selectors-
|
|
3
|
+
var selectors = require('./selectors-BrxJ8-F8.js');
|
|
4
4
|
|
|
5
5
|
const selectCommitRef = state => selectors.getImmutableOrJS(state, ['version', 'commitRef']);
|
|
6
6
|
const selectBuildNumber = state => selectors.getImmutableOrJS(state, ['version', 'buildNo']);
|
|
@@ -17,4 +17,4 @@ exports.selectBuildNumber = selectBuildNumber;
|
|
|
17
17
|
exports.selectCommitRef = selectCommitRef;
|
|
18
18
|
exports.selectVersionStatus = selectVersionStatus;
|
|
19
19
|
exports.version = version;
|
|
20
|
-
//# sourceMappingURL=version-
|
|
20
|
+
//# sourceMappingURL=version-rFG9Y6_B.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-
|
|
1
|
+
{"version":3,"file":"version-rFG9Y6_B.js","sources":["../src/redux/selectors/version.js"],"sourcesContent":["import { getImmutableOrJS as getIn } from '~/redux/util';\n\nexport const selectCommitRef = state => getIn(state, ['version', 'commitRef']);\n\nexport const selectBuildNumber = state => getIn(state, ['version', 'buildNo']);\n\nexport const selectVersionStatus = state =>\n getIn(state, ['version', 'contensisVersionStatus']);\n"],"names":["selectCommitRef","state","getIn","selectBuildNumber","selectVersionStatus"],"mappings":";;;;AAEO,MAAMA,eAAe,GAAGC,KAAK,IAAIC,0BAAK,CAACD,KAAK,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;AAEtE,MAAME,iBAAiB,GAAGF,KAAK,IAAIC,0BAAK,CAACD,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;AAEtE,MAAMG,mBAAmB,GAAGH,KAAK,IACtCC,0BAAK,CAACD,KAAK,EAAE,CAAC,SAAS,EAAE,wBAAwB,CAAC;;;;;;;;;;;;;;"}
|