@zengenti/contensis-react-base 3.0.0-beta.8 → 3.0.0-beta.80

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 (166) hide show
  1. package/README.md +1 -1
  2. package/cjs/{App-e3200f18.js → App-5a34ea98.js} +228 -181
  3. package/cjs/App-5a34ea98.js.map +1 -0
  4. package/cjs/{RouteLoader-df3de0cb.js → RouteLoader-2675e1c9.js} +31 -23
  5. package/cjs/RouteLoader-2675e1c9.js.map +1 -0
  6. package/cjs/{ToJs-697ace9f.js → ToJs-a9a8522b.js} +39 -34
  7. package/cjs/ToJs-a9a8522b.js.map +1 -0
  8. package/cjs/{actions-a24bf46e.js → actions-8dc9e8de.js} +5 -4
  9. package/cjs/actions-8dc9e8de.js.map +1 -0
  10. package/cjs/client.js +22 -44
  11. package/cjs/client.js.map +1 -1
  12. package/cjs/contensis-react-base.js +3955 -135
  13. package/cjs/contensis-react-base.js.map +1 -1
  14. package/cjs/forms.js +547 -580
  15. package/cjs/forms.js.map +1 -1
  16. package/cjs/{fromJSLeaveImmer-c00d597f.js → fromJSLeaveImmer-e74c673c.js} +2 -16
  17. package/cjs/fromJSLeaveImmer-e74c673c.js.map +1 -0
  18. package/cjs/{login-bc55ee33.js → login-6b9de6a1.js} +92 -55
  19. package/cjs/login-6b9de6a1.js.map +1 -0
  20. package/cjs/{reducers-fde41d6b.js → reducers-3a4f8971.js} +26 -25
  21. package/cjs/reducers-3a4f8971.js.map +1 -0
  22. package/cjs/redux.js +6 -5
  23. package/cjs/redux.js.map +1 -1
  24. package/cjs/routing.js +5 -4
  25. package/cjs/routing.js.map +1 -1
  26. package/cjs/sagas-594b5ecd.js +2090 -0
  27. package/cjs/sagas-594b5ecd.js.map +1 -0
  28. package/cjs/search.js +296 -1915
  29. package/cjs/search.js.map +1 -1
  30. package/cjs/{selectors-0ec95076.js → selectors-656da4b7.js} +8 -3
  31. package/cjs/selectors-656da4b7.js.map +1 -0
  32. package/cjs/setCachingHeaders-ee619bdf.js +12 -0
  33. package/cjs/setCachingHeaders-ee619bdf.js.map +1 -0
  34. package/cjs/user.js +21 -12
  35. package/cjs/user.js.map +1 -1
  36. package/cjs/util.js +17 -17
  37. package/cjs/util.js.map +1 -1
  38. package/cjs/{version-4f0f5fa6.js → version-330551f5.js} +34 -22
  39. package/cjs/version-330551f5.js.map +1 -0
  40. package/cjs/{version-be0c7b7a.js → version-eba6d09b.js} +2 -2
  41. package/{esm/version-ad2ec52c.js.map → cjs/version-eba6d09b.js.map} +1 -1
  42. package/esm/{App-f9e7d03b.js → App-a973f962.js} +228 -182
  43. package/esm/App-a973f962.js.map +1 -0
  44. package/esm/{RouteLoader-027215f2.js → RouteLoader-f607a134.js} +31 -23
  45. package/esm/RouteLoader-f607a134.js.map +1 -0
  46. package/esm/{ToJs-46761960.js → ToJs-4e02a04d.js} +38 -32
  47. package/esm/ToJs-4e02a04d.js.map +1 -0
  48. package/esm/{actions-b949ef5c.js → actions-180948dd.js} +5 -4
  49. package/esm/actions-180948dd.js.map +1 -0
  50. package/esm/client.js +24 -27
  51. package/esm/client.js.map +1 -1
  52. package/esm/contensis-react-base.js +3953 -134
  53. package/esm/contensis-react-base.js.map +1 -1
  54. package/esm/forms.js +547 -583
  55. package/esm/forms.js.map +1 -1
  56. package/esm/{fromJSLeaveImmer-392af4e3.js → fromJSLeaveImmer-0114ffcf.js} +2 -16
  57. package/esm/fromJSLeaveImmer-0114ffcf.js.map +1 -0
  58. package/esm/{login-6eab4c94.js → login-508cac0f.js} +92 -55
  59. package/esm/login-508cac0f.js.map +1 -0
  60. package/esm/{reducers-d6c0edb1.js → reducers-8e5d6232.js} +26 -25
  61. package/esm/reducers-8e5d6232.js.map +1 -0
  62. package/esm/redux.js +8 -7
  63. package/esm/redux.js.map +1 -1
  64. package/esm/routing.js +5 -4
  65. package/esm/routing.js.map +1 -1
  66. package/esm/sagas-1f2b2aa0.js +2000 -0
  67. package/esm/sagas-1f2b2aa0.js.map +1 -0
  68. package/esm/search.js +252 -1856
  69. package/esm/search.js.map +1 -1
  70. package/esm/{selectors-8fca7fb2.js → selectors-a5e5835b.js} +9 -6
  71. package/esm/selectors-a5e5835b.js.map +1 -0
  72. package/esm/setCachingHeaders-d49060e1.js +10 -0
  73. package/esm/setCachingHeaders-d49060e1.js.map +1 -0
  74. package/esm/user.js +23 -14
  75. package/esm/user.js.map +1 -1
  76. package/esm/util.js +17 -17
  77. package/esm/util.js.map +1 -1
  78. package/esm/{version-ad2ec52c.js → version-2485e2fb.js} +2 -2
  79. package/{cjs/version-be0c7b7a.js.map → esm/version-2485e2fb.js.map} +1 -1
  80. package/esm/{version-612d9ef0.js → version-c776a92b.js} +33 -22
  81. package/esm/version-c776a92b.js.map +1 -0
  82. package/models/app/pages/VersionInfo/components/VersionInfo.d.ts +1 -1
  83. package/models/forms/index.d.ts +3 -1
  84. package/models/index.d.ts +1 -0
  85. package/models/redux/appstate.d.ts +5 -10
  86. package/models/redux/sagas/navigation.d.ts +1 -1
  87. package/models/redux/selectors/navigation.d.ts +2 -1
  88. package/models/routing/components/RouteLoader.d.ts +2 -19
  89. package/models/routing/redux/actions.d.ts +1 -1
  90. package/models/routing/redux/selectors.d.ts +1 -1
  91. package/models/routing/routes.d.ts +9 -3
  92. package/models/routing/util/expressions.d.ts +3 -2
  93. package/models/routing/util/queries.d.ts +1 -1
  94. package/models/search/containers/withListing.d.ts +1 -1
  95. package/models/search/containers/withSearch.d.ts +1 -1
  96. package/models/search/hooks/useFacets.hook.d.ts +3 -0
  97. package/models/search/hooks/useListing.hook.d.ts +3 -0
  98. package/models/search/hooks/useMinilist.hook.d.ts +2 -9
  99. package/models/search/index.d.ts +6 -2
  100. package/models/search/models/Queries.d.ts +8 -5
  101. package/models/search/models/Search.d.ts +60 -28
  102. package/models/search/models/SearchActions.d.ts +9 -5
  103. package/models/search/models/SearchProps.d.ts +52 -7
  104. package/models/search/models/SearchState.d.ts +5 -1
  105. package/models/search/models/index.d.ts +3 -1
  106. package/models/search/redux/actions.d.ts +5 -2
  107. package/models/search/redux/reducers.d.ts +230 -314
  108. package/models/search/redux/sagas.d.ts +11 -7
  109. package/models/search/redux/selectors.d.ts +21 -24
  110. package/models/search/redux/util.d.ts +1 -0
  111. package/models/search/search/ContensisDeliveryApi.d.ts +1 -0
  112. package/models/search/search/expressions.d.ts +5 -8
  113. package/models/search/{redux → search}/queries.d.ts +0 -0
  114. package/models/search/search/util.d.ts +14 -0
  115. package/models/search/transformations/entry-to-filteritem.mapper.d.ts +2 -1
  116. package/models/search/transformations/filter-to-filterexpression.mapper.d.ts +6 -0
  117. package/models/search/transformations/filters-to-filterexpressions.mapper.d.ts +3 -0
  118. package/models/search/transformations/index.d.ts +3 -0
  119. package/models/search/transformations/queryParams-to-customapi.mapper.d.ts +3 -0
  120. package/models/search/transformations/state-to-searchuri.d.ts +2 -13
  121. package/models/server/features/linkdepth-api/LinkDepthSearchService.d.ts +24 -0
  122. package/models/server/features/linkdepth-api/QueryLevelResults.d.ts +50 -0
  123. package/models/server/features/linkdepth-api/api.d.ts +12 -0
  124. package/models/server/features/linkdepth-api/events-api.config.d.ts +37 -0
  125. package/models/server/features/linkdepth-api/search.d.ts +31 -0
  126. package/models/server/features/linkdepth-api/util.d.ts +11 -0
  127. package/models/server/middleware/bundleManipulation.d.ts +2 -1
  128. package/models/server/util/bundles.d.ts +17 -21
  129. package/models/server/util/getVersionInfo.d.ts +1 -0
  130. package/models/server/util/headers.d.ts +3 -2
  131. package/models/user/components/Login.d.ts +1 -2
  132. package/models/user/components/LoginForm.d.ts +1 -2
  133. package/models/user/hocs/withLogin.d.ts +4 -2
  134. package/models/user/hocs/withRegistration.d.ts +2 -0
  135. package/models/user/hooks/useLogin.d.ts +5 -3
  136. package/models/user/redux/reducers.d.ts +4 -5
  137. package/models/user/redux/sagas/login.d.ts +11 -8
  138. package/models/user/redux/selectors.d.ts +12 -6
  139. package/models/user/util/LoginHelper.class.d.ts +4 -3
  140. package/models/util/ContensisDeliveryApi.d.ts +4 -4
  141. package/models/util/json-mapper.d.ts +9 -3
  142. package/models/util/merge.d.ts +1 -0
  143. package/package.json +60 -55
  144. package/CHANGELOG.md +0 -293
  145. package/cjs/App-e3200f18.js.map +0 -1
  146. package/cjs/RouteLoader-df3de0cb.js.map +0 -1
  147. package/cjs/ToJs-697ace9f.js.map +0 -1
  148. package/cjs/actions-a24bf46e.js.map +0 -1
  149. package/cjs/fromJSLeaveImmer-c00d597f.js.map +0 -1
  150. package/cjs/login-bc55ee33.js.map +0 -1
  151. package/cjs/reducers-fde41d6b.js.map +0 -1
  152. package/cjs/selectors-0ec95076.js.map +0 -1
  153. package/cjs/version-4f0f5fa6.js.map +0 -1
  154. package/esm/App-f9e7d03b.js.map +0 -1
  155. package/esm/RouteLoader-027215f2.js.map +0 -1
  156. package/esm/ToJs-46761960.js.map +0 -1
  157. package/esm/actions-b949ef5c.js.map +0 -1
  158. package/esm/fromJSLeaveImmer-392af4e3.js.map +0 -1
  159. package/esm/login-6eab4c94.js.map +0 -1
  160. package/esm/reducers-d6c0edb1.js.map +0 -1
  161. package/esm/selectors-8fca7fb2.js.map +0 -1
  162. package/esm/version-612d9ef0.js.map +0 -1
  163. package/models/search/transformations/filters-to-filterexpression.d.ts +0 -1
  164. package/models/search/transformations/filters-to-filterexpression.mapper.d.ts +0 -2
  165. package/models/server/features/caching/cacheHashing.d.ts +0 -1
  166. package/package-lock.json +0 -14093
@@ -47,7 +47,10 @@ function queryParams(search) {
47
47
 
48
48
  const selectRouteEntry = (state, returnType) => getImmutableOrJS(state, ['routing', 'entry'], {}, returnType);
49
49
  const selectMappedEntry = (state, returnType) => getImmutableOrJS(state, ['routing', 'mappedEntry'], null, returnType);
50
- const selectNodeDepends = state => getImmutableOrJS(state, ['routing', 'nodeDepends'], []);
50
+ const selectSurrogateKeys = state => {
51
+ const keys = getImmutableOrJS(state, ['routing', 'surrogateKeys'], [], 'js');
52
+ return keys.join(' ');
53
+ };
51
54
  const selectCurrentHostname = state => getImmutableOrJS(state, ['routing', 'currentHostname']);
52
55
  const selectCurrentTreeID = state => getImmutableOrJS(state, ['routing', 'currentHostname']);
53
56
  const selectRouteEntryEntryId = state => getImmutableOrJS(state, ['routing', 'entry', 'sys', 'id'], null);
@@ -91,7 +94,7 @@ var routing = /*#__PURE__*/Object.freeze({
91
94
  __proto__: null,
92
95
  selectRouteEntry: selectRouteEntry,
93
96
  selectMappedEntry: selectMappedEntry,
94
- selectNodeDepends: selectNodeDepends,
97
+ selectSurrogateKeys: selectSurrogateKeys,
95
98
  selectCurrentHostname: selectCurrentHostname,
96
99
  selectCurrentTreeID: selectCurrentTreeID,
97
100
  selectRouteEntryEntryId: selectRouteEntryEntryId,
@@ -128,6 +131,7 @@ exports.selectCurrentNode = selectCurrentNode;
128
131
  exports.selectCurrentPath = selectCurrentPath;
129
132
  exports.selectCurrentProject = selectCurrentProject;
130
133
  exports.selectCurrentSearch = selectCurrentSearch;
134
+ exports.selectCurrentSiblings = selectCurrentSiblings;
131
135
  exports.selectIsNotFound = selectIsNotFound;
132
136
  exports.selectMappedEntry = selectMappedEntry;
133
137
  exports.selectRouteEntry = selectRouteEntry;
@@ -138,4 +142,5 @@ exports.selectRouteErrorMessage = selectRouteErrorMessage;
138
142
  exports.selectRouteIsError = selectRouteIsError;
139
143
  exports.selectRouteLoading = selectRouteLoading;
140
144
  exports.selectRouteStatusCode = selectRouteStatusCode;
141
- //# sourceMappingURL=selectors-0ec95076.js.map
145
+ exports.selectSurrogateKeys = selectSurrogateKeys;
146
+ //# sourceMappingURL=selectors-656da4b7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectors-656da4b7.js","sources":["../src/redux/util.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","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/lib/models';\nimport { StateType } from '~/config';\nimport { AppState } from '~/redux/appstate';\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.join(' ');\n};\nexport const selectCurrentHostname = (state: AppState) =>\n getIn(state, ['routing', 'currentHostname']);\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 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 selectCurrentPath = (state: AppState) =>\n getIn(state, ['routing', 'currentPath']);\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']);\nexport const selectQueryStringAsObject = (state: AppState) =>\n queryParams(selectCurrentSearch(state));\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 selectCurrentChildren = state =>\n getIn(state, ['routing', 'currentNode', 'children'], []);\n\nexport const selectBreadcrumb = (state: AppState) => {\n return selectCurrentAncestors(state).push(selectCurrentNode(state));\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 = (state: AppState) =>\n getIn(state, ['routing', 'staticRoute']);\n"],"names":["action","type","payload","getJS","state","stateKey","get","toJS","getImmutableOrJS","fallbackValue","returnType","globalThis","STATE_TYPE","fromJS","immutable","fromJSOrdered","v","getIn","Array","isArray","result","jpath","join","undefined","queryParams","search","queryString","parse","window","location","selectRouteEntry","selectMappedEntry","selectSurrogateKeys","keys","selectCurrentHostname","selectCurrentTreeID","selectRouteEntryEntryId","selectRouteEntryContentTypeId","entry","selectRouteEntryLanguage","selectRouteEntrySlug","selectRouteEntryID","selectCurrentPath","selectCurrentLocation","selectCurrentSearch","selectCurrentHash","selectQueryStringAsObject","selectCurrentProject","selectIsNotFound","selectCurrentAncestors","selectCurrentSiblings","selectCurrentNode","selectCurrentChildren","selectBreadcrumb","push","selectRouteErrorMessage","error","selectRouteIsError","selectRouteLoading","selectRouteStatusCode","selectStaticRoute"],"mappings":";;;;;;;;;AAEO,MAAMA,MAAM,GAAG,CAACC,IAAD,EAAeC,OAAY,GAAG,EAA9B,MAAsC;AAC1DD,EAAAA,IAD0D;AAE1D,EAAGC,GAAAA,OAAAA;AAFuD,CAAtC,EAAf;MAKMC,KAAK,GAAG,CACnBC,KADmB,EAEnBC,QAFmB,KAGhB;AACH,EAAA,IACE,SAASD,KAAT,IACA,OAAOA,KAAK,CAACE,GAAb,KAAqB,UADrB,IAEA,MAAUF,IAAAA,KAFV,IAGA,OAAOA,KAAK,CAACG,IAAb,KAAsB,UAJxB,EAKE;AACA,IAAA,OAAOH,KAAK,CAACE,GAAN,CAAUD,QAAV,CAAP,CAAA;AACD,GAAA;;AACD,EAAOD,OAAAA,KAAK,CAACC,QAAD,CAAZ,CAAA;AACD,EAbM;AAeMG,MAAAA,gBAAgB,GAAG,CAI9BJ,KAJ8B,EAK9BC,QAL8B,EAM9BI,aAN8B,EAO9BC,UAA8B,GAAGC,UAAU,CAACC,UAPd,KAQ3B;AAAA,EAAA,IAAA,qBAAA,EAAA,sBAAA,CAAA;;AACH;AACA;AACA,EAAMC,MAAAA,MAAM,GACVH,UAAU,KAAK,WAAf,GACI,CAAA,CAAA,qBAAA,GAAAC,UAAU,CAACG,SAAX,MAAA,IAAA,IAAA,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,qBAAA,CAAsBC,aAAtB,MAAuCJ,CAAAA,sBAAAA,GAAAA,UAAU,CAACG,SAAlD,MAAuC,IAAA,IAAA,sBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAAsBD,MAA7D,CADJ,GAEIG,CAAC,IAAIA,CAHX,CAAA;;AAKA,EAAA,IACEZ,KAAK,IACL,KAASA,IAAAA,KADT,IAEA,OAAOA,KAAK,CAACE,GAAb,KAAqB,UAFrB,IAGA,WAAWF,KAHX,IAIA,OAAOA,KAAK,CAACa,KAAb,KAAuB,UAJvB,IAKA,MAAUb,IAAAA,KALV,IAMA,OAAOA,KAAK,CAACG,IAAb,KAAsB,UAPxB,EAQE;AACA,IAAA,IAAIW,KAAK,CAACC,OAAN,CAAcd,QAAd,CAAJ,EACE,OAAOQ,MAAM,CAACT,KAAK,CAACa,KAAN,CAAYZ,QAAZ,EAAsBI,aAAtB,CAAD,CAAb,CAAA;AACF,IAAOI,OAAAA,MAAM,CAACT,KAAK,CAACE,GAAN,CAAUD,QAAV,EAAoBI,aAApB,CAAD,CAAb,CAAA;AACD,GAAA;;AAED,EAAA,IAAIS,KAAK,CAACC,OAAN,CAAcd,QAAd,CAAA,IAA2BD,KAA3B,IAAoC,OAAOA,KAAP,KAAiB,QAAzD,EAAmE;AACjE,IAAA,MAAMgB,MAAM,GAAGC,aAAK,CAAChB,QAAQ,CAACiB,IAAT,CAAc,GAAd,CAAD,EAAqBlB,KAArB,CAApB,CAAA;AACA,IAAA,IAAI,OAAOgB,MAAP,KAAkB,WAAtB,EAAmC,OAAOX,aAAP,CAAA;AACnC,IAAA,OAAOW,MAAP,CAAA;AACD,GAAA;;AAED,EAAA,MAAMA,MAAM,GACVhB,KAAK,IAAI,OAAOA,KAAP,KAAiB,QAA1B,GAAqCA,KAAK,CAACC,QAAD,CAA1C,GAAiEkB,SADnE,CAAA;AAEA,EAAA,IAAI,OAAOH,MAAP,KAAkB,WAAtB,EAAmC,OAAOX,aAAP,CAAA;AACnC,EAAA,OAAOW,MAAP,CAAA;AACD;;AC5DM,SAASI,WAAT,CAAqBC,MAArB,EAA6B;AAClC,EAAA,OAAOC,+BAAW,CAACC,KAAZ,CACL,OAAOC,MAAP,IAAiB,WAAjB,GAA+BA,MAAM,CAACC,QAAP,CAAgBJ,MAA/C,GAAwDA,MADnD,CAAP,CAAA;AAGD;;ACAM,MAAMK,gBAAgB,GAAG,CAAC1B,KAAD,EAAkBM,UAAlB,KAC9BO,gBAAK,CAACb,KAAD,EAAQ,CAAC,SAAD,EAAY,OAAZ,CAAR,EAA8B,EAA9B,EAA2CM,UAA3C,EADA;AAGA,MAAMqB,iBAAiB,GAAG,CAAC3B,KAAD,EAAkBM,UAAlB,KAC/BO,gBAAK,CAACb,KAAD,EAAQ,CAAC,SAAD,EAAY,aAAZ,CAAR,EAAoC,IAApC,EAA0CM,UAA1C,EADA;AAGMsB,MAAAA,mBAAmB,GAAI5B,KAAD,IAAqB;AACtD,EAAA,MAAM6B,IAAI,GAAGhB,gBAAK,CAACb,KAAD,EAAQ,CAAC,SAAD,EAAY,eAAZ,CAAR,EAAsC,EAAtC,EAA0C,IAA1C,CAAlB,CAAA;AACA,EAAA,OAAO6B,IAAI,CAACX,IAAL,CAAU,GAAV,CAAP,CAAA;AACD,EAHM;AAIA,MAAMY,qBAAqB,GAAI9B,KAAD,IACnCa,gBAAK,CAACb,KAAD,EAAQ,CAAC,SAAD,EAAY,iBAAZ,CAAR,CADA,CAAA;AAGA,MAAM+B,mBAAmB,GAAI/B,KAAD,IACjCa,gBAAK,CAACb,KAAD,EAAQ,CAAC,SAAD,EAAY,iBAAZ,CAAR,CADA,CAAA;AAGA,MAAMgC,uBAAuB,GAAIhC,KAAD,IACrCa,gBAAK,CAACb,KAAD,EAAQ,CAAC,SAAD,EAAY,OAAZ,EAAqB,KAArB,EAA4B,IAA5B,CAAR,EAA2C,IAA3C,EADA;AAGMiC,MAAAA,6BAA6B,GAAIjC,KAAD,IAAqB;AAChE,EAAA,MAAMkC,KAAK,GAAGR,gBAAgB,CAAC1B,KAAD,CAA9B,CAAA;AACA,EAAOa,OAAAA,gBAAK,CAACqB,KAAD,EAAQ,CAAC,KAAD,EAAQ,eAAR,CAAR,EAAkC,IAAlC,CAAZ,CAAA;AACD,EAHM;AAKMC,MAAAA,wBAAwB,GAAInC,KAAD,IAAqB;AAC3D,EAAA,MAAMkC,KAAK,GAAGR,gBAAgB,CAAC1B,KAAD,CAA9B,CAAA;AACA,EAAOa,OAAAA,gBAAK,CAACqB,KAAD,EAAQ,CAAC,KAAD,EAAQ,UAAR,CAAR,EAA6B,IAA7B,CAAZ,CAAA;AACD,EAHM;AAKA,MAAME,oBAAoB,GAAIpC,KAAD,IAAqB;AACvD,EAAA,MAAMkC,KAAK,GAAGR,gBAAgB,CAAC1B,KAAD,CAA9B,CAAA;AACA,EAAOa,OAAAA,gBAAK,CAACqB,KAAD,EAAQ,CAAC,KAAD,EAAQ,MAAR,CAAR,EAAyB,IAAzB,CAAZ,CAAA;AACD,CAHM,CAAA;AAKA,MAAMG,kBAAkB,GAAIrC,KAAD,IAChCa,gBAAK,CAACb,KAAD,EAAQ,CAAC,SAAD,EAAY,SAAZ,CAAR,CADA,CAAA;AAGMsC,MAAAA,iBAAiB,GAAItC,KAAD,IAC/Ba,gBAAK,CAACb,KAAD,EAAQ,CAAC,SAAD,EAAY,aAAZ,CAAR,EADA;AAEA,MAAMuC,qBAAqB,GAAIvC,KAAD,IACnCa,gBAAK,CAACb,KAAD,EAAQ,CAAC,SAAD,EAAY,UAAZ,CAAR,CADA,CAAA;MAEMwC,mBAAmB,GAAIxC,KAAD,IACjCa,gBAAK,CAACb,KAAD,EAAQ,CAAC,SAAD,EAAY,UAAZ,EAAwB,QAAxB,CAAR,EADA;AAEA,MAAMyC,iBAAiB,GAAIzC,KAAD,IAC/Ba,gBAAK,CAACb,KAAD,EAAQ,CAAC,SAAD,EAAY,UAAZ,EAAwB,MAAxB,CAAR,CADA,CAAA;AAEA,MAAM0C,yBAAyB,GAAI1C,KAAD,IACvCoB,WAAW,CAACoB,mBAAmB,CAACxC,KAAD,CAApB,CADN,CAAA;AAEM2C,MAAAA,oBAAoB,GAAI3C,KAAD,IAClCa,gBAAK,CAACb,KAAD,EAAQ,CAAC,SAAD,EAAY,gBAAZ,CAAR,EADA;AAEM4C,MAAAA,gBAAgB,GAAI5C,KAAD,IAC9Ba,gBAAK,CAACb,KAAD,EAAQ,CAAC,SAAD,EAAY,UAAZ,CAAR,EADA;MAEM6C,sBAAsB,GAAI7C,KAAD,IACpCa,gBAAK,CAACb,KAAD,EAAQ,CAAC,SAAD,EAAY,sBAAZ,CAAR,EAA6C,EAA7C,EADA;MAEM8C,qBAAqB,GAAI9C,KAAD,IACnCa,gBAAK,CAACb,KAAD,EAAQ,CAAC,SAAD,EAAY,qBAAZ,CAAR,EAA4C,EAA5C,EADA;AAEA,MAAM+C,iBAAiB,GAAG,CAAC/C,KAAD,EAAkBM,UAAlB,KAC/BO,gBAAK,CAACb,KAAD,EAAQ,CAAC,SAAD,EAAY,aAAZ,CAAR,EAAoC,IAApC,EAA0CM,UAA1C,EADA;AAEA,MAAM0C,qBAAqB,GAAGhD,KAAK,IACxCa,gBAAK,CAACb,KAAD,EAAQ,CAAC,SAAD,EAAY,aAAZ,EAA2B,UAA3B,CAAR,EAAgD,EAAhD,CADA,CAAA;AAGA,MAAMiD,gBAAgB,GAAIjD,KAAD,IAAqB;AACnD,EAAO6C,OAAAA,sBAAsB,CAAC7C,KAAD,CAAtB,CAA8BkD,IAA9B,CAAmCH,iBAAiB,CAAC/C,KAAD,CAApD,CAAP,CAAA;AACD,CAFM,CAAA;AAGMmD,MAAAA,uBAAuB,GAAInD,KAAD,IAAqB;AAC1D,EAAMoD,MAAAA,KAAK,GAAGvC,gBAAK,CAACb,KAAD,EAAQ,CAAC,SAAD,EAAY,OAAZ,CAAR,CAAnB,CAAA;AACA,EAAA,OAAOa,gBAAK,CAACuC,KAAD,EAAQ,CAAC,MAAD,EAAS,SAAT,CAAR,EAA6BvC,gBAAK,CAACuC,KAAD,EAAQ,YAAR,CAAlC,CAAZ,CAAA;AACD,EAHM;AAIMC,MAAAA,kBAAkB,GAAIrD,KAAD,IAChCa,gBAAK,CAACb,KAAD,EAAQ,CAAC,SAAD,EAAY,SAAZ,CAAR,EADA;AAEMsD,MAAAA,kBAAkB,GAAItD,KAAD,IAChCa,gBAAK,CAACb,KAAD,EAAQ,CAAC,SAAD,EAAY,WAAZ,CAAR,EADA;AAEMuD,MAAAA,qBAAqB,GAAIvD,KAAD,IACnCa,gBAAK,CAACb,KAAD,EAAQ,CAAC,SAAD,EAAY,YAAZ,CAAR,EADA;AAEA,MAAMwD,iBAAiB,GAAIxD,KAAD,IAC/Ba,gBAAK,CAACb,KAAD,EAAQ,CAAC,SAAD,EAAY,aAAZ,CAAR,CADA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,12 @@
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
+ exports.setCachingHeaders = setCachingHeaders;
12
+ //# sourceMappingURL=setCachingHeaders-ee619bdf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setCachingHeaders-ee619bdf.js","sources":["../src/server/features/caching/setCachingHeaders.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"],"names":["setCachingHeaders","response","cacheControl","surrogateControl","method","toString"],"mappings":";;AAEA,MAAMA,iBAAiB,GAAG,CACxBC,QADwB,EAExB;AAAEC,EAAAA,YAAY,GAAG,SAAjB;AAA4BC,EAAAA,gBAAgB,GAAG,MAAA;AAA/C,CAFwB,EAGxBC,MAAM,GAAG,QAHe,KAIrB;AACH,EAAIF,IAAAA,YAAJ,EAAkBD,QAAQ,CAACG,MAAD,CAAR,CAAiB,eAAjB,EAAkCF,YAAlC,CAAA,CAAA;AAClB,EAAA,IAAIC,gBAAJ,EACEF,QAAQ,CAACG,MAAD,CAAR,CACE,mBADF,EAEG,CAAUD,QAAAA,EAAAA,gBAAgB,CAACE,QAAjB,EAA4B,CAFzC,CAAA,CAAA,CAAA;AAIH;;;;"}
package/cjs/user.js CHANGED
@@ -2,13 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var login = require('./login-bc55ee33.js');
5
+ var login = require('./login-6b9de6a1.js');
6
6
  var reactRedux = require('react-redux');
7
- var selectors = require('./selectors-0ec95076.js');
8
- var reducers = require('./reducers-fde41d6b.js');
9
- var ToJs = require('./ToJs-697ace9f.js');
7
+ var selectors = require('./selectors-656da4b7.js');
8
+ var reducers = require('./reducers-3a4f8971.js');
9
+ var ToJs = require('./ToJs-a9a8522b.js');
10
10
  require('@redux-saga/core/effects');
11
- require('./actions-a24bf46e.js');
11
+ require('./actions-8dc9e8de.js');
12
12
  require('jsonpath-mapper');
13
13
  require('await-to-js');
14
14
  require('js-cookie');
@@ -55,13 +55,18 @@ const useLogin = () => {
55
55
  return {
56
56
  loginUser: (username, password) => dispatch(loginUser(username, password)),
57
57
  logoutUser: redirectPath => dispatch(logoutUser(redirectPath)),
58
- authenticationError: select(ToJs.selectUserAuthenticationError),
59
- authenticationErrorMessage: select(ToJs.selectUserAuthenticationErrorMessage),
60
- error: select(ToJs.selectUserError),
61
58
  errorMessage: select(ToJs.selectUserErrorMessage),
62
59
  isAuthenticated: select(ToJs.selectUserIsAuthenticated),
60
+ isAuthenticationError: select(ToJs.selectUserIsAuthenticationError),
61
+ isError: select(ToJs.selectUserIsError),
63
62
  isLoading: select(ToJs.selectUserIsLoading),
64
- user: select(ToJs.selectUser)
63
+ user: select(ToJs.selectUser),
64
+ // DEPRECATED: authenticationError is deprecated use isAuthenticationError instead
65
+ authenticationError: select(ToJs.selectUserIsAuthenticationError),
66
+ // DEPRECATED: authenticationErrorMessage is deprecated use errorMessage instead
67
+ authenticationErrorMessage: select(ToJs.selectUserErrorMessage),
68
+ // DEPRECATED: error is deprecated use isError instead
69
+ error: select(ToJs.selectUserIsError)
65
70
  };
66
71
  };
67
72
 
@@ -159,11 +164,15 @@ const getDisplayName$1 = WrappedComponent => {
159
164
  const withLogin = WrappedComponent => {
160
165
  const mapStateToProps = state => {
161
166
  return {
162
- authenticationError: ToJs.selectUserAuthenticationError(state),
163
- error: ToJs.selectUserError(state),
164
167
  isAuthenticated: ToJs.selectUserIsAuthenticated(state),
168
+ isAuthenticationError: ToJs.selectUserIsAuthenticationError(state),
169
+ isError: ToJs.selectUserIsError(state),
165
170
  isLoading: ToJs.selectUserIsLoading(state),
166
- user: ToJs.selectUser(state)
171
+ user: ToJs.selectUser(state),
172
+ // DEPRECATED: authenticationError is deprecated use isAuthenticationError instead
173
+ authenticationError: ToJs.selectUserIsAuthenticationError(state),
174
+ // DEPRECATED: error is deprecated use isError instead
175
+ error: ToJs.selectUserIsError(state)
167
176
  };
168
177
  };
169
178
 
package/cjs/user.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sources":["../src/user/redux/actions.js","../src/user/hooks/useLogin.js","../src/user/containers/Login.container.js","../src/user/hooks/useRegistration.js","../src/user/containers/Registration.container.js","../src/user/hooks/useForgotPassword.js","../src/user/containers/ForgotPassword.container.js","../src/user/hooks/useChangePassword.js","../src/user/containers/ChangePassword.container.js","../src/user/hocs/withLogin.js","../src/user/hocs/withRegistration.js"],"sourcesContent":["import { action } from '~/redux/util';\nimport {\n CHANGE_USER_PASSWORD,\n LOGIN_USER,\n LOGOUT_USER,\n REGISTER_USER,\n REQUEST_USER_PASSWORD_RESET,\n RESET_USER_PASSWORD,\n} from './types';\n\nexport const loginUser = (username, password) =>\n action(LOGIN_USER, { username, password });\n\nexport const logoutUser = redirectPath => action(LOGOUT_USER, { redirectPath });\n\nexport const registerUser = (user, mappers) =>\n action(REGISTER_USER, {\n user,\n mappers,\n });\n\nexport const requestPasswordReset = userEmailObject =>\n action(REQUEST_USER_PASSWORD_RESET, { userEmailObject });\n\nexport const resetPassword = resetPasswordObject =>\n action(RESET_USER_PASSWORD, { resetPasswordObject });\n\nexport const changePassword = (userId, currentPassword, newPassword) =>\n action(CHANGE_USER_PASSWORD, { userId, currentPassword, newPassword });\n","import { useDispatch, useSelector } from 'react-redux';\nimport { loginUser, logoutUser } from '../redux/actions';\nimport {\n selectUser,\n selectUserAuthenticationError,\n selectUserAuthenticationErrorMessage,\n selectUserError,\n selectUserErrorMessage,\n selectUserIsAuthenticated,\n selectUserIsLoading,\n} from '../redux/selectors';\n\nconst useLogin = () => {\n const dispatch = useDispatch();\n const select = useSelector;\n\n return {\n loginUser: (username, password) => dispatch(loginUser(username, password)),\n logoutUser: redirectPath => dispatch(logoutUser(redirectPath)),\n authenticationError: select(selectUserAuthenticationError),\n authenticationErrorMessage: select(selectUserAuthenticationErrorMessage),\n error: select(selectUserError),\n errorMessage: select(selectUserErrorMessage),\n isAuthenticated: select(selectUserIsAuthenticated),\n isLoading: select(selectUserIsLoading),\n user: select(selectUser),\n };\n};\n\nexport default useLogin;\n","import useLogin from '../hooks/useLogin';\nimport { toJS } from '~/util/ToJs';\n\nconst LoginContainer = ({ children, ...props }) => {\n const userProps = useLogin(props);\n return children(userProps);\n};\n\nLoginContainer.propTypes = {};\n\nexport default toJS(LoginContainer);\n","import { useDispatch, useSelector } from 'react-redux';\nimport { registerUser } from '../redux/actions';\nimport {\n selectUserRegistration,\n selectUserRegistrationError,\n selectUserRegistrationIsLoading,\n selectUserRegistrationIsSuccess,\n} from '../redux/selectors';\n\nconst useRegistration = () => {\n const dispatch = useDispatch();\n const select = useSelector;\n\n return {\n registerUser: (user, mappers) => dispatch(registerUser(user, mappers)),\n error: select(selectUserRegistrationError),\n isLoading: select(selectUserRegistrationIsLoading),\n isSuccess: select(selectUserRegistrationIsSuccess),\n user: select(selectUserRegistration),\n };\n};\n\nexport default useRegistration;\n","import useRegistration from '../hooks/useRegistration';\nimport { toJS } from '~/util/ToJs';\n\nconst RegistrationContainer = ({ children, ...props }) => {\n const userProps = useRegistration(props);\n return children(userProps);\n};\n\nRegistrationContainer.propTypes = {};\n\nexport default toJS(RegistrationContainer);\n","import { useDispatch, useSelector } from 'react-redux';\nimport { requestPasswordReset, resetPassword } from '../redux/actions';\nimport {\n selectPasswordResetRequestError,\n selectPasswordResetRequestSending,\n selectPasswordResetRequestSent,\n selectResetPasswordSending,\n selectResetPasswordSent,\n selectResetPasswordError,\n} from '../redux/selectors';\nimport { selectCurrentSearch } from '~/routing/redux/selectors';\n\nconst useForgotPassword = () => {\n const dispatch = useDispatch();\n const select = useSelector;\n\n return {\n isLoading: select(selectPasswordResetRequestSending),\n isSuccess: select(selectPasswordResetRequestSent),\n error: select(selectPasswordResetRequestError),\n requestPasswordReset: userEmailObject =>\n dispatch(requestPasswordReset(userEmailObject)),\n\n setNewPassword: {\n queryString: select(selectCurrentSearch),\n isLoading: select(selectResetPasswordSending),\n isSuccess: select(selectResetPasswordSent),\n error: select(selectResetPasswordError),\n submit: resetPasswordObject =>\n dispatch(resetPassword(resetPasswordObject)),\n },\n };\n};\n\nexport default useForgotPassword;\n","import useForgotPassword from '../hooks/useForgotPassword';\nimport { toJS } from '~/util/ToJs';\n\nconst ForgotPasswordContainer = ({ children, ...props }) => {\n const userProps = useForgotPassword(props);\n return children(userProps);\n};\n\nForgotPasswordContainer.propTypes = {};\n\nexport default toJS(ForgotPasswordContainer);\n","import { useDispatch, useSelector } from 'react-redux';\nimport { changePassword } from '../redux/actions';\nimport {\n selectChangePasswordSending,\n selectChangePasswordSent,\n selectChangePasswordError,\n selectUserIsAuthenticated,\n selectUserGuid,\n} from '../redux/selectors';\n\nconst useChangePassword = () => {\n const dispatch = useDispatch();\n const select = useSelector;\n\n return {\n isLoading: select(selectChangePasswordSending),\n isSuccess: select(selectChangePasswordSent),\n userId: select(selectUserGuid),\n isLoggedIn: select(selectUserIsAuthenticated),\n error: select(selectChangePasswordError),\n changePassword: (userId, currentPassword, newPassword) =>\n dispatch(changePassword(userId, currentPassword, newPassword)),\n };\n};\n\nexport default useChangePassword;\n","import useChangePassword from '../hooks/useChangePassword';\nimport { toJS } from '~/util/ToJs';\n\nconst ChangePasswordContainer = ({ children, ...props }) => {\n const userProps = useChangePassword(props);\n return children(userProps);\n};\n\nChangePasswordContainer.propTypes = {};\n\nexport default toJS(ChangePasswordContainer);\n","import { connect } from 'react-redux';\nimport { loginUser, logoutUser } from '../redux/actions';\nimport {\n selectUser,\n selectUserAuthenticationError,\n selectUserError,\n selectUserIsAuthenticated,\n selectUserIsLoading,\n} from '../redux/selectors';\nimport { toJS } from '~/util/ToJs';\n\nconst getDisplayName = WrappedComponent => {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n};\n\nconst withLogin = WrappedComponent => {\n const mapStateToProps = state => {\n return {\n authenticationError: selectUserAuthenticationError(state),\n error: selectUserError(state),\n isAuthenticated: selectUserIsAuthenticated(state),\n isLoading: selectUserIsLoading(state),\n user: selectUser(state),\n };\n };\n\n const mapDispatchToProps = {\n loginUser,\n logoutUser,\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 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":["loginUser","username","password","action","LOGIN_USER","logoutUser","redirectPath","LOGOUT_USER","registerUser","user","mappers","REGISTER_USER","requestPasswordReset","userEmailObject","REQUEST_USER_PASSWORD_RESET","resetPassword","resetPasswordObject","RESET_USER_PASSWORD","changePassword","userId","currentPassword","newPassword","CHANGE_USER_PASSWORD","useLogin","dispatch","useDispatch","select","useSelector","authenticationError","selectUserAuthenticationError","authenticationErrorMessage","selectUserAuthenticationErrorMessage","error","selectUserError","errorMessage","selectUserErrorMessage","isAuthenticated","selectUserIsAuthenticated","isLoading","selectUserIsLoading","selectUser","LoginContainer","children","props","userProps","propTypes","toJS","useRegistration","selectUserRegistrationError","selectUserRegistrationIsLoading","isSuccess","selectUserRegistrationIsSuccess","selectUserRegistration","RegistrationContainer","useForgotPassword","selectPasswordResetRequestSending","selectPasswordResetRequestSent","selectPasswordResetRequestError","setNewPassword","queryString","selectCurrentSearch","selectResetPasswordSending","selectResetPasswordSent","selectResetPasswordError","submit","ForgotPasswordContainer","useChangePassword","selectChangePasswordSending","selectChangePasswordSent","selectUserGuid","isLoggedIn","selectChangePasswordError","ChangePasswordContainer","getDisplayName","WrappedComponent","displayName","name","withLogin","mapStateToProps","state","mapDispatchToProps","ConnectedComponent","connect","withRegistration"],"mappings":";;;;;;;;;;;;;;;;;;AAUO,MAAMA,SAAS,GAAG,CAACC,QAAD,EAAWC,QAAX,KACvBC,gBAAM,CAACC,mBAAD,EAAa;AAAEH,EAAAA,QAAF;AAAYC,EAAAA;AAAZ,CAAb,CADD;AAGA,MAAMG,UAAU,GAAGC,YAAY,IAAIH,gBAAM,CAACI,oBAAD,EAAc;AAAED,EAAAA;AAAF,CAAd,CAAzC;AAEA,MAAME,YAAY,GAAG,CAACC,IAAD,EAAOC,OAAP,KAC1BP,gBAAM,CAACQ,sBAAD,EAAgB;AACpBF,EAAAA,IADoB;AAEpBC,EAAAA;AAFoB,CAAhB,CADD;AAMA,MAAME,oBAAoB,GAAGC,eAAe,IACjDV,gBAAM,CAACW,oCAAD,EAA8B;AAAED,EAAAA;AAAF,CAA9B,CADD;AAGA,MAAME,aAAa,GAAGC,mBAAmB,IAC9Cb,gBAAM,CAACc,4BAAD,EAAsB;AAAED,EAAAA;AAAF,CAAtB,CADD;AAGA,MAAME,cAAc,GAAG,CAACC,MAAD,EAASC,eAAT,EAA0BC,WAA1B,KAC5BlB,gBAAM,CAACmB,6BAAD,EAAuB;AAAEH,EAAAA,MAAF;AAAUC,EAAAA,eAAV;AAA2BC,EAAAA;AAA3B,CAAvB,CADD;;;;;;;;;;;;MCfDE,QAAQ,GAAG,MAAM;AACrB,QAAMC,QAAQ,GAAGC,sBAAW,EAA5B;AACA,QAAMC,MAAM,GAAGC,sBAAf;AAEA,SAAO;AACL3B,IAAAA,SAAS,EAAE,CAACC,QAAD,EAAWC,QAAX,KAAwBsB,QAAQ,CAACxB,SAAS,CAACC,QAAD,EAAWC,QAAX,CAAV,CADtC;AAELG,IAAAA,UAAU,EAAEC,YAAY,IAAIkB,QAAQ,CAACnB,UAAU,CAACC,YAAD,CAAX,CAF/B;AAGLsB,IAAAA,mBAAmB,EAAEF,MAAM,CAACG,kCAAD,CAHtB;AAILC,IAAAA,0BAA0B,EAAEJ,MAAM,CAACK,yCAAD,CAJ7B;AAKLC,IAAAA,KAAK,EAAEN,MAAM,CAACO,oBAAD,CALR;AAMLC,IAAAA,YAAY,EAAER,MAAM,CAACS,2BAAD,CANf;AAOLC,IAAAA,eAAe,EAAEV,MAAM,CAACW,8BAAD,CAPlB;AAQLC,IAAAA,SAAS,EAAEZ,MAAM,CAACa,wBAAD,CARZ;AASL9B,IAAAA,IAAI,EAAEiB,MAAM,CAACc,eAAD;AATP,GAAP;AAWD;;ACxBD,MAAMC,cAAc,GAAG,CAAC;AAAEC,EAAAA,QAAF;AAAY,KAAGC;AAAf,CAAD,KAA4B;AACjD,QAAMC,SAAS,GAAGrB,QAAQ,CAAA,CAA1B;AACA,SAAOmB,QAAQ,CAACE,SAAD,CAAf;AACD,CAHD;;AAKAH,cAAc,CAACI,SAAf,GAA2B,EAA3B;AAEA,sBAAeC,SAAI,CAACL,cAAD,CAAnB;;MCDMM,eAAe,GAAG,MAAM;AAC5B,QAAMvB,QAAQ,GAAGC,sBAAW,EAA5B;AACA,QAAMC,MAAM,GAAGC,sBAAf;AAEA,SAAO;AACLnB,IAAAA,YAAY,EAAE,CAACC,IAAD,EAAOC,OAAP,KAAmBc,QAAQ,CAAChB,YAAY,CAACC,IAAD,EAAOC,OAAP,CAAb,CADpC;AAELsB,IAAAA,KAAK,EAAEN,MAAM,CAACsB,gCAAD,CAFR;AAGLV,IAAAA,SAAS,EAAEZ,MAAM,CAACuB,oCAAD,CAHZ;AAILC,IAAAA,SAAS,EAAExB,MAAM,CAACyB,oCAAD,CAJZ;AAKL1C,IAAAA,IAAI,EAAEiB,MAAM,CAAC0B,2BAAD;AALP,GAAP;AAOD;;ACjBD,MAAMC,qBAAqB,GAAG,CAAC;AAAEX,EAAAA,QAAF;AAAY,KAAGC;AAAf,CAAD,KAA4B;AACxD,QAAMC,SAAS,GAAGG,eAAe,CAAA,CAAjC;AACA,SAAOL,QAAQ,CAACE,SAAD,CAAf;AACD,CAHD;;AAKAS,qBAAqB,CAACR,SAAtB,GAAkC,EAAlC;AAEA,6BAAeC,SAAI,CAACO,qBAAD,CAAnB;;MCEMC,iBAAiB,GAAG,MAAM;AAC9B,QAAM9B,QAAQ,GAAGC,sBAAW,EAA5B;AACA,QAAMC,MAAM,GAAGC,sBAAf;AAEA,SAAO;AACLW,IAAAA,SAAS,EAAEZ,MAAM,CAAC6B,sCAAD,CADZ;AAELL,IAAAA,SAAS,EAAExB,MAAM,CAAC8B,mCAAD,CAFZ;AAGLxB,IAAAA,KAAK,EAAEN,MAAM,CAAC+B,oCAAD,CAHR;AAIL7C,IAAAA,oBAAoB,EAAEC,eAAe,IACnCW,QAAQ,CAACZ,oBAAoB,CAACC,eAAD,CAArB,CALL;AAOL6C,IAAAA,cAAc,EAAE;AACdC,MAAAA,WAAW,EAAEjC,MAAM,CAACkC,6BAAD,CADL;AAEdtB,MAAAA,SAAS,EAAEZ,MAAM,CAACmC,+BAAD,CAFH;AAGdX,MAAAA,SAAS,EAAExB,MAAM,CAACoC,4BAAD,CAHH;AAId9B,MAAAA,KAAK,EAAEN,MAAM,CAACqC,6BAAD,CAJC;AAKdC,MAAAA,MAAM,EAAEhD,mBAAmB,IACzBQ,QAAQ,CAACT,aAAa,CAACC,mBAAD,CAAd;AANI;AAPX,GAAP;AAgBD;;AC7BD,MAAMiD,uBAAuB,GAAG,CAAC;AAAEvB,EAAAA,QAAF;AAAY,KAAGC;AAAf,CAAD,KAA4B;AAC1D,QAAMC,SAAS,GAAGU,iBAAiB,CAAA,CAAnC;AACA,SAAOZ,QAAQ,CAACE,SAAD,CAAf;AACD,CAHD;;AAKAqB,uBAAuB,CAACpB,SAAxB,GAAoC,EAApC;AAEA,+BAAeC,SAAI,CAACmB,uBAAD,CAAnB;;MCAMC,iBAAiB,GAAG,MAAM;AAC9B,QAAM1C,QAAQ,GAAGC,sBAAW,EAA5B;AACA,QAAMC,MAAM,GAAGC,sBAAf;AAEA,SAAO;AACLW,IAAAA,SAAS,EAAEZ,MAAM,CAACyC,gCAAD,CADZ;AAELjB,IAAAA,SAAS,EAAExB,MAAM,CAAC0C,6BAAD,CAFZ;AAGLjD,IAAAA,MAAM,EAAEO,MAAM,CAAC2C,mBAAD,CAHT;AAILC,IAAAA,UAAU,EAAE5C,MAAM,CAACW,8BAAD,CAJb;AAKLL,IAAAA,KAAK,EAAEN,MAAM,CAAC6C,8BAAD,CALR;AAMLrD,IAAAA,cAAc,EAAE,CAACC,MAAD,EAASC,eAAT,EAA0BC,WAA1B,KACdG,QAAQ,CAACN,cAAc,CAACC,MAAD,EAASC,eAAT,EAA0BC,WAA1B,CAAf;AAPL,GAAP;AASD;;ACpBD,MAAMmD,uBAAuB,GAAG,CAAC;AAAE9B,EAAAA,QAAF;AAAY,KAAGC;AAAf,CAAD,KAA4B;AAC1D,QAAMC,SAAS,GAAGsB,iBAAiB,CAAA,CAAnC;AACA,SAAOxB,QAAQ,CAACE,SAAD,CAAf;AACD,CAHD;;AAKA4B,uBAAuB,CAAC3B,SAAxB,GAAoC,EAApC;AAEA,+BAAeC,SAAI,CAAC0B,uBAAD,CAAnB;;ACCA,MAAMC,gBAAc,GAAGC,gBAAgB,IAAI;AACzC,SAAOA,gBAAgB,CAACC,WAAjB,IAAgCD,gBAAgB,CAACE,IAAjD,IAAyD,WAAhE;AACD,CAFD;;MAIMC,SAAS,GAAGH,gBAAgB,IAAI;AACpC,QAAMI,eAAe,GAAGC,KAAK,IAAI;AAC/B,WAAO;AACLnD,MAAAA,mBAAmB,EAAEC,kCAA6B,CAACkD,KAAD,CAD7C;AAEL/C,MAAAA,KAAK,EAAEC,oBAAe,CAAC8C,KAAD,CAFjB;AAGL3C,MAAAA,eAAe,EAAEC,8BAAyB,CAAC0C,KAAD,CAHrC;AAILzC,MAAAA,SAAS,EAAEC,wBAAmB,CAACwC,KAAD,CAJzB;AAKLtE,MAAAA,IAAI,EAAE+B,eAAU,CAACuC,KAAD;AALX,KAAP;AAOD,GARD;;AAUA,QAAMC,kBAAkB,GAAG;AACzBhF,IAAAA,SADyB;AAEzBK,IAAAA;AAFyB,GAA3B;AAKA,QAAM4E,kBAAkB,GAAGC,kBAAO,CAChCJ,eADgC,EAEhCE,kBAFgC,CAAP,CAGzBlC,SAAI,CAAC4B,gBAAD,CAHqB,CAA3B;AAKAO,EAAAA,kBAAkB,CAACN,WAAnB,GAAkC,GAAEF,gBAAc,CAACC,gBAAD,CAAmB,EAArE;AAEA,SAAOO,kBAAP;AACD;;AC7BD,MAAMR,cAAc,GAAGC,gBAAgB,IAAI;AACzC,SAAOA,gBAAgB,CAACC,WAAjB,IAAgCD,gBAAgB,CAACE,IAAjD,IAAyD,WAAhE;AACD,CAFD;;MAIMO,gBAAgB,GAAGT,gBAAgB,IAAI;AAC3C,QAAMI,eAAe,GAAGC,KAAK,IAAI;AAC/B,WAAO;AACL/C,MAAAA,KAAK,EAAEgB,gCAA2B,CAAC+B,KAAD,CAD7B;AAELzC,MAAAA,SAAS,EAAEW,oCAA+B,CAAC8B,KAAD,CAFrC;AAGL7B,MAAAA,SAAS,EAAEC,oCAA+B,CAAC4B,KAAD,CAHrC;AAILtE,MAAAA,IAAI,EAAE2C,2BAAsB,CAAC2B,KAAD;AAJvB,KAAP;AAMD,GAPD;;AASA,QAAMC,kBAAkB,GAAG;AACzBxE,IAAAA;AADyB,GAA3B;AAIA,QAAMyE,kBAAkB,GAAGC,kBAAO,CAChCJ,eADgC,EAEhCE,kBAFgC,CAAP,CAGzBlC,SAAI,CAAC4B,gBAAD,CAHqB,CAA3B;AAKAO,EAAAA,kBAAkB,CAACN,WAAnB,GAAkC,GAAEF,cAAc,CAACC,gBAAD,CAAmB,EAArE;AAEA,SAAOO,kBAAP;AACD;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"user.js","sources":["../src/user/redux/actions.js","../src/user/hooks/useLogin.js","../src/user/containers/Login.container.js","../src/user/hooks/useRegistration.js","../src/user/containers/Registration.container.js","../src/user/hooks/useForgotPassword.js","../src/user/containers/ForgotPassword.container.js","../src/user/hooks/useChangePassword.js","../src/user/containers/ChangePassword.container.js","../src/user/hocs/withLogin.js","../src/user/hocs/withRegistration.js"],"sourcesContent":["import { action } from '~/redux/util';\nimport {\n CHANGE_USER_PASSWORD,\n LOGIN_USER,\n LOGOUT_USER,\n REGISTER_USER,\n REQUEST_USER_PASSWORD_RESET,\n RESET_USER_PASSWORD,\n} from './types';\n\nexport const loginUser = (username, password) =>\n action(LOGIN_USER, { username, password });\n\nexport const logoutUser = redirectPath => action(LOGOUT_USER, { redirectPath });\n\nexport const registerUser = (user, mappers) =>\n action(REGISTER_USER, {\n user,\n mappers,\n });\n\nexport const requestPasswordReset = userEmailObject =>\n action(REQUEST_USER_PASSWORD_RESET, { userEmailObject });\n\nexport const resetPassword = resetPasswordObject =>\n action(RESET_USER_PASSWORD, { resetPasswordObject });\n\nexport const changePassword = (userId, currentPassword, newPassword) =>\n action(CHANGE_USER_PASSWORD, { userId, currentPassword, newPassword });\n","import { useDispatch, useSelector } from 'react-redux';\nimport { loginUser, logoutUser } from '../redux/actions';\nimport {\n selectUser,\n selectUserIsAuthenticationError,\n selectUserIsError,\n selectUserErrorMessage,\n selectUserIsAuthenticated,\n selectUserIsLoading,\n} from '../redux/selectors';\n\nconst useLogin = () => {\n const dispatch = useDispatch();\n const select = useSelector;\n\n return {\n loginUser: (username, password) => dispatch(loginUser(username, password)),\n logoutUser: redirectPath => dispatch(logoutUser(redirectPath)),\n errorMessage: select(selectUserErrorMessage),\n isAuthenticated: select(selectUserIsAuthenticated),\n isAuthenticationError: select(selectUserIsAuthenticationError),\n isError: select(selectUserIsError),\n isLoading: select(selectUserIsLoading),\n user: select(selectUser),\n // DEPRECATED: authenticationError is deprecated use isAuthenticationError instead\n authenticationError: select(selectUserIsAuthenticationError),\n // DEPRECATED: authenticationErrorMessage is deprecated use errorMessage instead\n authenticationErrorMessage: select(selectUserErrorMessage),\n // DEPRECATED: error is deprecated use isError instead\n error: select(selectUserIsError),\n };\n};\n\nexport default useLogin;\n","import useLogin from '../hooks/useLogin';\nimport { toJS } from '~/util/ToJs';\n\nconst LoginContainer = ({ children, ...props }) => {\n const userProps = useLogin(props);\n return children(userProps);\n};\n\nLoginContainer.propTypes = {};\n\nexport default toJS(LoginContainer);\n","import { useDispatch, useSelector } from 'react-redux';\nimport { registerUser } from '../redux/actions';\nimport {\n selectUserRegistration,\n selectUserRegistrationError,\n selectUserRegistrationIsLoading,\n selectUserRegistrationIsSuccess,\n} from '../redux/selectors';\n\nconst useRegistration = () => {\n const dispatch = useDispatch();\n const select = useSelector;\n\n return {\n registerUser: (user, mappers) => dispatch(registerUser(user, mappers)),\n error: select(selectUserRegistrationError),\n isLoading: select(selectUserRegistrationIsLoading),\n isSuccess: select(selectUserRegistrationIsSuccess),\n user: select(selectUserRegistration),\n };\n};\n\nexport default useRegistration;\n","import useRegistration from '../hooks/useRegistration';\nimport { toJS } from '~/util/ToJs';\n\nconst RegistrationContainer = ({ children, ...props }) => {\n const userProps = useRegistration(props);\n return children(userProps);\n};\n\nRegistrationContainer.propTypes = {};\n\nexport default toJS(RegistrationContainer);\n","import { useDispatch, useSelector } from 'react-redux';\nimport { requestPasswordReset, resetPassword } from '../redux/actions';\nimport {\n selectPasswordResetRequestError,\n selectPasswordResetRequestSending,\n selectPasswordResetRequestSent,\n selectResetPasswordSending,\n selectResetPasswordSent,\n selectResetPasswordError,\n} from '../redux/selectors';\nimport { selectCurrentSearch } from '~/routing/redux/selectors';\n\nconst useForgotPassword = () => {\n const dispatch = useDispatch();\n const select = useSelector;\n\n return {\n isLoading: select(selectPasswordResetRequestSending),\n isSuccess: select(selectPasswordResetRequestSent),\n error: select(selectPasswordResetRequestError),\n requestPasswordReset: userEmailObject =>\n dispatch(requestPasswordReset(userEmailObject)),\n\n setNewPassword: {\n queryString: select(selectCurrentSearch),\n isLoading: select(selectResetPasswordSending),\n isSuccess: select(selectResetPasswordSent),\n error: select(selectResetPasswordError),\n submit: resetPasswordObject =>\n dispatch(resetPassword(resetPasswordObject)),\n },\n };\n};\n\nexport default useForgotPassword;\n","import useForgotPassword from '../hooks/useForgotPassword';\nimport { toJS } from '~/util/ToJs';\n\nconst ForgotPasswordContainer = ({ children, ...props }) => {\n const userProps = useForgotPassword(props);\n return children(userProps);\n};\n\nForgotPasswordContainer.propTypes = {};\n\nexport default toJS(ForgotPasswordContainer);\n","import { useDispatch, useSelector } from 'react-redux';\nimport { changePassword } from '../redux/actions';\nimport {\n selectChangePasswordSending,\n selectChangePasswordSent,\n selectChangePasswordError,\n selectUserIsAuthenticated,\n selectUserGuid,\n} from '../redux/selectors';\n\nconst useChangePassword = () => {\n const dispatch = useDispatch();\n const select = useSelector;\n\n return {\n isLoading: select(selectChangePasswordSending),\n isSuccess: select(selectChangePasswordSent),\n userId: select(selectUserGuid),\n isLoggedIn: select(selectUserIsAuthenticated),\n error: select(selectChangePasswordError),\n changePassword: (userId, currentPassword, newPassword) =>\n dispatch(changePassword(userId, currentPassword, newPassword)),\n };\n};\n\nexport default useChangePassword;\n","import useChangePassword from '../hooks/useChangePassword';\nimport { toJS } from '~/util/ToJs';\n\nconst ChangePasswordContainer = ({ children, ...props }) => {\n const userProps = useChangePassword(props);\n return children(userProps);\n};\n\nChangePasswordContainer.propTypes = {};\n\nexport default toJS(ChangePasswordContainer);\n","import { connect } from 'react-redux';\nimport { loginUser, logoutUser } from '../redux/actions';\nimport {\n selectUser,\n selectUserIsAuthenticationError,\n selectUserIsError,\n selectUserIsAuthenticated,\n selectUserIsLoading,\n} from '../redux/selectors';\nimport { toJS } from '~/util/ToJs';\n\nconst getDisplayName = WrappedComponent => {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n};\n\nconst withLogin = WrappedComponent => {\n const mapStateToProps = state => {\n return {\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 mapDispatchToProps = {\n loginUser,\n logoutUser,\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 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":["loginUser","username","password","action","LOGIN_USER","logoutUser","redirectPath","LOGOUT_USER","registerUser","user","mappers","REGISTER_USER","requestPasswordReset","userEmailObject","REQUEST_USER_PASSWORD_RESET","resetPassword","resetPasswordObject","RESET_USER_PASSWORD","changePassword","userId","currentPassword","newPassword","CHANGE_USER_PASSWORD","useLogin","dispatch","useDispatch","select","useSelector","errorMessage","selectUserErrorMessage","isAuthenticated","selectUserIsAuthenticated","isAuthenticationError","selectUserIsAuthenticationError","isError","selectUserIsError","isLoading","selectUserIsLoading","selectUser","authenticationError","authenticationErrorMessage","error","LoginContainer","children","props","userProps","propTypes","toJS","useRegistration","selectUserRegistrationError","selectUserRegistrationIsLoading","isSuccess","selectUserRegistrationIsSuccess","selectUserRegistration","RegistrationContainer","useForgotPassword","selectPasswordResetRequestSending","selectPasswordResetRequestSent","selectPasswordResetRequestError","setNewPassword","queryString","selectCurrentSearch","selectResetPasswordSending","selectResetPasswordSent","selectResetPasswordError","submit","ForgotPasswordContainer","useChangePassword","selectChangePasswordSending","selectChangePasswordSent","selectUserGuid","isLoggedIn","selectChangePasswordError","ChangePasswordContainer","getDisplayName","WrappedComponent","displayName","name","withLogin","mapStateToProps","state","mapDispatchToProps","ConnectedComponent","connect","withRegistration"],"mappings":"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"}
package/cjs/util.js CHANGED
@@ -2,11 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var setCachingHeaders = require('./setCachingHeaders-ee619bdf.js');
5
6
  var mapJson = require('jsonpath-mapper');
6
7
  var React = require('react');
7
8
  var reactRedux = require('react-redux');
8
- var selectors = require('./selectors-0ec95076.js');
9
- var version = require('./version-be0c7b7a.js');
9
+ var selectors = require('./selectors-656da4b7.js');
10
+ var version = require('./version-eba6d09b.js');
10
11
  var styled = require('styled-components');
11
12
  require('query-string');
12
13
 
@@ -90,18 +91,25 @@ const mapComposer = (composer, mappers) => Array.isArray(composer) ? composer.ma
90
91
  _type: composerItem.type,
91
92
  _index: index
92
93
  }; // Add fields and $root item into the composer item source object
93
- // for use inside each item mapping
94
+ // for use inside each item mapping, for arrays we inject the added fields
95
+ // into the first array item. This is useful if we require any of
96
+ // composerItem.type, composerItem index/position and composer $root
97
+ // in scope to influence any composer item's mapping logic
94
98
 
95
- const sourceObject = itemValue && typeof itemValue === 'object' ? { ...itemValue,
96
- ...addedFields,
99
+ const sourceObject = itemValue && Array.isArray(itemValue) ? itemValue.map((iv, idx) => idx !== 0 ? iv : typeof iv === 'object' ? { ...addedFields,
100
+ ...iv,
97
101
  $root: composer
98
- } : itemValue || {};
102
+ } : iv) : typeof itemValue === 'object' ? { ...addedFields,
103
+ ...itemValue,
104
+ $root: composer
105
+ } : itemValue || {}; // Apply the composer item mapping
106
+
99
107
  const mappedFields = mapJson__default["default"](sourceObject, mapper); // Add the extra fields in with the return object
100
108
 
101
109
  return mappedFields && typeof mappedFields === 'object' ? { ...mappedFields,
102
110
  ...addedFields
103
111
  } : mappedFields;
104
- } else return;
112
+ } else return {};
105
113
  }) : composer || [];
106
114
  /**
107
115
  * useComposerMapper hook to take a composer field from Delivery API along
@@ -123,18 +131,10 @@ const useComposerMapper = (composer = [], mappers) => mapComposer(composer, mapp
123
131
  */
124
132
 
125
133
  const entryMapper = mapping => (node, state) => mapJson__default["default"]({ ...node,
126
- ...node.entry,
134
+ ...(node.entry || {}),
127
135
  state
128
136
  }, mapping);
129
137
 
130
- const setCachingHeaders = (response, {
131
- cacheControl = 'private',
132
- surrogateControl = '3600'
133
- }, method = 'header') => {
134
- if (cacheControl) response[method]('Cache-Control', cacheControl);
135
- if (surrogateControl) response[method]('Surrogate-Control', `max-age=${surrogateControl.toString()}`);
136
- };
137
-
138
138
  const stringifyStrings = obj => {
139
139
  const returnObj = Array.isArray(obj) ? [] : {};
140
140
  Object.entries(obj).forEach(([key, value]) => {
@@ -324,6 +324,7 @@ const VersionInfo = ({
324
324
 
325
325
  var VersionInfo$1 = reactRedux.connect(mapStateToVersionInfo)(VersionInfo);
326
326
 
327
+ exports.setCachingHeaders = setCachingHeaders.setCachingHeaders;
327
328
  Object.defineProperty(exports, 'jpath', {
328
329
  enumerable: true,
329
330
  get: function () { return mapJson.jpath; }
@@ -336,7 +337,6 @@ exports.VersionInfo = VersionInfo$1;
336
337
  exports.entryMapper = entryMapper;
337
338
  exports.mapComposer = mapComposer;
338
339
  exports.mapEntries = mapEntries;
339
- exports.setCachingHeaders = setCachingHeaders;
340
340
  exports.stringifyStrings = stringifyStrings_1;
341
341
  exports.urls = url;
342
342
  exports.useComposerMapper = useComposerMapper;
package/cjs/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sources":["../src/util/json-mapper.ts","../src/server/features/caching/setCachingHeaders.ts","../src/util/stringifyStrings.js","../src/util/urls.ts","../src/app/pages/VersionInfo/transformations/state-to-versioninfoprops.mapper.ts","../src/app/pages/VersionInfo/components/VersionInfo.styled.tsx","../src/app/pages/VersionInfo/components/VersionInfo.tsx"],"sourcesContent":["import mapJson, { jpath } from 'jsonpath-mapper';\nimport MappingTemplate from 'jsonpath-mapper/dist/models/Template';\nimport { EntryMapper } from '~/routing/routes';\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\n const sourceObject =\n itemValue && typeof itemValue === 'object'\n ? { ...itemValue, ...addedFields, $root: composer }\n : itemValue || {};\n\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 (mapping: any): EntryMapper =>\n (node, state) =>\n mapJson({ ...node, ...node.entry, state }, mapping);\n\nexport default mapJson;\n","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","const stringifyStrings = obj => {\n const returnObj = Array.isArray(obj) ? [] : {};\n Object.entries(obj).forEach(([key, value]) => {\n switch (typeof value) {\n case 'string':\n returnObj[key] = JSON.stringify(value);\n break;\n case 'object':\n returnObj[key] = stringifyStrings(value);\n break;\n default:\n returnObj[key] = value;\n break;\n }\n });\n return returnObj;\n};\n\nmodule.exports = stringifyStrings;\n","const url = (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\nexport default url;\n","import { default as mapJson } from '~/util/json-mapper';\nimport { selectCurrentProject } from '~/routing/redux/selectors';\nimport {\n selectBuildNumber,\n selectCommitRef,\n selectVersionStatus,\n} from '~/redux/selectors/version';\nimport { IVersionInfoProps } from '../components/VersionInfo';\n\nconst context = (\n typeof window != 'undefined' ? window : global\n) as typeof globalThis & {\n DISABLE_SSR_REDUX: any;\n PACKAGE_JSON: any;\n PROJECTS: any;\n PROXY_DELIVERY_API: any;\n PUBLIC_URI: any;\n REVERSE_PROXY_PATHS: string[];\n SERVERS: any;\n};\n\nconst isDev = process.env.NODE_ENV === 'development';\n\nconst pj = () =>\n isDev\n ? PACKAGE_JSON /* global PACKAGE_JSON */\n : context.PACKAGE_JSON || { name: 'packagejson not found', repository: '' };\n\nconst versionInfoProps = {\n packageDetail: () => {\n const pkg = pj();\n return { name: pkg.name, version: pkg.version, repository: pkg.repository };\n },\n uris: {\n gitRepo: () => pj().repository,\n commit: state => {\n const commitRef = selectCommitRef(state);\n return `${pj().repository}/commit/${commitRef ? commitRef : ''}`;\n },\n pipeline: state => {\n const buildNumber = selectBuildNumber(state);\n return `${pj().repository}/${\n pj().repository.includes('github.com') ? 'actions/runs' : 'pipelines'\n }/${buildNumber ? buildNumber : ''}`;\n },\n },\n zenPackageVersions: () => [\n ...(Object.entries(pj().devDependencies || {}).filter(\n ([pkg]) => pkg.includes('zengenti') || pkg.includes('contensis')\n ) || []),\n ...(Object.entries(pj().dependencies || {}).filter(\n ([pkg]) => pkg.includes('zengenti') || pkg.includes('contensis')\n ) || []),\n ],\n deliveryApi: () =>\n JSON.parse(\n JSON.stringify(DELIVERY_API_CONFIG /* global DELIVERY_API_CONFIG */)\n ),\n devEnv: () =>\n typeof DEV_ENV !== 'undefined' /* global DEV_ENV */ ? DEV_ENV : null,\n disableSsrRedux: () =>\n isDev\n ? DISABLE_SSR_REDUX /* global DISABLE_SSR_REDUX*/\n : context.DISABLE_SSR_REDUX || false,\n nodeEnv: () => process.env.NODE_ENV || 'production',\n packagejson: () => pj() || {},\n projects: () => (isDev ? PROJECTS /* global PROJECTS */ : context.PROJECTS),\n proxyDeliveryApi: () =>\n isDev\n ? PROXY_DELIVERY_API /* global PROXY_DELIVERY_API */\n : context.PROXY_DELIVERY_API || false,\n publicUri: () =>\n isDev ? PUBLIC_URI /* global PUBLIC_URI */ : context.PUBLIC_URI || null,\n project: state => selectCurrentProject(state),\n reverseProxyPaths: () =>\n isDev\n ? REVERSE_PROXY_PATHS /* global REVERSE_PROXY_PATHS */\n : context.REVERSE_PROXY_PATHS || {},\n servers: () => (isDev ? SERVERS /* global SERVERS */ : context.SERVERS),\n version: {\n buildNumber: state => selectBuildNumber(state),\n commitRef: state => selectCommitRef(state),\n contensisVersionStatus: state => selectVersionStatus(state),\n },\n};\n\nconst mapStateToVersionInfo = state => {\n const mappedProps = mapJson(state, versionInfoProps);\n return mappedProps as IVersionInfoProps;\n};\n\nexport default mapStateToVersionInfo;\n","import styled from 'styled-components';\n\nexport const VersionInfoStyledTable = styled.table`\n font-family: 'Source Sans Pro', Helvetica, Arial, sans-serif;\n font-size: 1.6rem;\n line-height: 1.5rem;\n border-bottom: 4px solid #8892bf;\n border-collapse: separate;\n margin: 0 auto;\n width: 80%;\n th {\n text-align: left;\n background-color: #c4c9df;\n border-bottom: #8892bf 2px solid;\n border-bottom-color: #8892bf;\n border-top: 20px solid #fff;\n }\n td {\n border-bottom: 1px solid #eee;\n }\n td,\n th {\n padding: 0.5rem 0.75rem;\n vertical-align: top;\n }\n .left {\n width: 25%;\n }\n tr th {\n border-right: hidden;\n border-spacing: 0 15px;\n }\n .green {\n background-color: #9c9;\n border-bottom: 1px solid #696;\n }\n .red {\n background-color: #c99;\n border-bottom: 1px solid #966;\n }\n .small {\n font-size: 100%;\n line-height: 2.4rem;\n }\n`;\n","import React from 'react';\nimport { connect } from 'react-redux';\n\nimport mapStateToVersionInfo from '../transformations/state-to-versioninfoprops.mapper';\n\nimport { VersionInfoStyledTable } from './VersionInfo.styled';\n\nexport interface IVersionInfoProps {\n deliveryApi: {\n rootUrl: string;\n accessToken: string;\n projectId: string;\n livePublishingRootUrl: string;\n };\n devEnv: any;\n disableSsrRedux: boolean;\n nodeEnv: string;\n packageDetail: any;\n project: string;\n projects;\n proxyDeliveryApi;\n publicUri: string;\n reverseProxyPaths: string[];\n servers: {\n alias: string;\n api: string;\n cms: string;\n web: string;\n iis: string;\n previewIis: string;\n previewWeb: string;\n };\n uris: {\n gitRepo: string;\n commit: string;\n pipeline: string;\n };\n version: {\n buildNumber: string;\n commitRef: string;\n contensisVersionStatus: string;\n };\n zenPackageVersions: string[];\n}\n\nconst VersionInfo = ({\n deliveryApi,\n devEnv,\n disableSsrRedux,\n nodeEnv,\n packageDetail,\n project,\n projects,\n proxyDeliveryApi,\n publicUri,\n reverseProxyPaths,\n servers,\n uris,\n version,\n zenPackageVersions,\n}: IVersionInfoProps) => {\n return (\n <VersionInfoStyledTable>\n <thead>\n <tr>\n <td colSpan={2}>\n <h1>\n <a href=\"/\">Version Information</a>\n </h1>\n </td>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th colSpan={2}>Package detail</th>\n </tr>\n <tr>\n <td className=\"left\">Name</td>\n <td>{packageDetail.name}</td>\n </tr>\n <tr>\n <td className=\"left\">Version</td>\n <td>{packageDetail.version}</td>\n </tr>\n <tr>\n <th colSpan={2}>Version info (state)</th>\n </tr>\n <tr>\n <td>Git repo url: </td>\n <td>\n <a\n href={packageDetail.repository}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {packageDetail.repository}\n </a>\n </td>\n </tr>\n <tr>\n <td>Pipeline: </td>\n <td>\n <a href={uris.pipeline} target=\"_blank\" rel=\"noopener noreferrer\">\n {version.buildNumber}\n </a>\n </td>\n </tr>\n <tr>\n <td>Commit: </td>\n <td>\n <a href={uris.commit} target=\"_blank\" rel=\"noopener noreferrer\">\n {version.commitRef}\n </a>\n </td>\n </tr>\n {/* <tr>\n <td>Last release ref: </td>\n <td></td>\n </tr>\n <tr>\n <td>Number of commits since last release: </td>\n <td></td>\n </tr> */}\n <tr>\n <td>Project</td>\n <td className={project === 'unknown' ? 'red' : ''}>{project}</td>\n </tr>\n <tr>\n <td>Contensis version status: </td>\n <td\n className={\n version.contensisVersionStatus === 'published' ? 'green' : 'red'\n }\n >\n {version.contensisVersionStatus}\n </td>\n </tr>\n <tr>\n <th colSpan={2}>Build configuration</th>\n </tr>\n <tr>\n <td>Environment</td>\n <td>{servers.alias}</td>\n </tr>\n <tr>\n <td>Public uri</td>\n <td>{publicUri}</td>\n </tr>\n <tr>\n <td>Zengenti packages</td>\n <td>\n {zenPackageVersions.map(([pkg, ver], idx) => (\n <div key={idx}>\n {pkg}: {ver}\n </div>\n ))}\n </td>\n </tr>\n <tr>\n <td>Servers</td>\n <td className=\"small\">\n <div>web: {servers.web}</div>\n <div>preview: {servers.previewWeb}</div>\n <div>api: {servers.api}</div>\n <div>cms: {servers.cms}</div>\n <div>iis: {servers.iis}</div>\n <div>iis preview: {servers.previewIis}</div>\n </td>\n </tr>\n <tr>\n <td>Reverse proxy paths</td>\n <td>\n {Object.entries(reverseProxyPaths).map(([, path], key) => (\n <span key={key}>[ {path} ] </span>\n ))}\n </td>\n </tr>\n <tr>\n <td>Projects</td>\n <td>\n {Object.entries(\n projects as {\n id: string;\n publicUri: string;\n }[]\n ).map(([, project], key) => (\n <div key={key}>\n [ {project.id}: {project.publicUri} ]\n </div>\n ))}\n </td>\n </tr>\n <tr>\n <td>Delivery API</td>\n <td className=\"small\">\n <ul style={{ margin: 0, padding: 0 }}>\n {Object.entries(deliveryApi).map(\n ([key, value]: [string, any], idx) => {\n if (typeof value === 'object') return null;\n return (\n <li key={idx} style={{ listStyleType: 'none' }}>\n {key}: <span>{value}</span>\n </li>\n );\n }\n )}\n </ul>\n </td>\n </tr>\n <tr>\n <td>Proxy Delivery API requests</td>\n <td className={proxyDeliveryApi ? 'green' : 'red'}>\n {proxyDeliveryApi.toString()}\n </td>\n </tr>\n <tr>\n <td>Disable SSR inline-redux</td>\n <td>{disableSsrRedux.toString()}</td>\n </tr>\n <tr>\n <td>NODE_ENV</td>\n <td className={nodeEnv === 'production' ? 'green' : 'red'}>\n {nodeEnv.toString()}\n </td>\n </tr>\n {devEnv && (\n <tr>\n <td>process.env</td>\n <td>\n {Object.entries(devEnv).map(([k, v], key) => (\n <div key={key}>\n [ {k}: {v} ]\n </div>\n ))}\n </td>\n </tr>\n )}\n </tbody>\n </VersionInfoStyledTable>\n );\n};\n\nexport default connect(mapStateToVersionInfo)(VersionInfo);\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","$root","mappedFields","useComposerMapper","entryMapper","mapping","node","state","setCachingHeaders","response","cacheControl","surrogateControl","method","toString","stringifyStrings","obj","returnObj","Object","forEach","key","JSON","stringify","module","url","alias","project","projectAndAlias","toLowerCase","api","cms","liveWeb","previewWeb","iisWeb","iisPreviewWeb","context","window","global","isDev","process","env","NODE_ENV","pj","PACKAGE_JSON","name","repository","versionInfoProps","packageDetail","pkg","version","uris","gitRepo","commit","commitRef","selectCommitRef","pipeline","buildNumber","selectBuildNumber","includes","zenPackageVersions","devDependencies","filter","dependencies","deliveryApi","parse","DELIVERY_API_CONFIG","devEnv","DEV_ENV","disableSsrRedux","DISABLE_SSR_REDUX","nodeEnv","packagejson","projects","PROJECTS","proxyDeliveryApi","PROXY_DELIVERY_API","publicUri","PUBLIC_URI","selectCurrentProject","reverseProxyPaths","REVERSE_PROXY_PATHS","servers","SERVERS","contensisVersionStatus","selectVersionStatus","mapStateToVersionInfo","mappedProps","VersionInfoStyledTable","styled","table","VersionInfo","React","ver","idx","web","iis","previewIis","path","id","margin","padding","listStyleType","k","v","connect"],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sources":["../src/util/json-mapper.ts","../src/util/stringifyStrings.js","../src/util/urls.ts","../src/app/pages/VersionInfo/transformations/state-to-versioninfoprops.mapper.ts","../src/app/pages/VersionInfo/components/VersionInfo.styled.tsx","../src/app/pages/VersionInfo/components/VersionInfo.tsx"],"sourcesContent":["import { Entry } from 'contensis-delivery-api/lib/models';\nimport mapJson, { jpath } from 'jsonpath-mapper';\nimport MappingTemplate, {\n PureJsFunction,\n} from 'jsonpath-mapper/dist/models/Template';\nimport { AppState } from '~/redux/appstate';\nimport { EntryMapper, RouteNode } from '~/routing/routes';\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","const stringifyStrings = obj => {\n const returnObj = Array.isArray(obj) ? [] : {};\n Object.entries(obj).forEach(([key, value]) => {\n switch (typeof value) {\n case 'string':\n returnObj[key] = JSON.stringify(value);\n break;\n case 'object':\n returnObj[key] = stringifyStrings(value);\n break;\n default:\n returnObj[key] = value;\n break;\n }\n });\n return returnObj;\n};\n\nmodule.exports = stringifyStrings;\n","const url = (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\nexport default url;\n","import { default as mapJson } from '~/util/json-mapper';\nimport { selectCurrentProject } from '~/routing/redux/selectors';\nimport {\n selectBuildNumber,\n selectCommitRef,\n selectVersionStatus,\n} from '~/redux/selectors/version';\nimport { IVersionInfoProps } from '../components/VersionInfo';\n\nconst context = (\n typeof window != 'undefined' ? window : global\n) as typeof globalThis & {\n DISABLE_SSR_REDUX: any;\n PACKAGE_JSON: any;\n PROJECTS: any;\n PROXY_DELIVERY_API: any;\n PUBLIC_URI: any;\n REVERSE_PROXY_PATHS: string[];\n SERVERS: any;\n};\n\nconst isDev = process.env.NODE_ENV === 'development';\n\nconst pj = () =>\n isDev\n ? PACKAGE_JSON /* global PACKAGE_JSON */\n : context.PACKAGE_JSON || { name: 'packagejson not found', repository: '' };\n\nconst versionInfoProps = {\n packageDetail: () => {\n const pkg = pj();\n return { name: pkg.name, version: pkg.version, repository: pkg.repository };\n },\n uris: {\n gitRepo: () => pj().repository,\n commit: state => {\n const commitRef = selectCommitRef(state);\n return `${pj().repository}/commit/${commitRef ? commitRef : ''}`;\n },\n pipeline: state => {\n const buildNumber = selectBuildNumber(state);\n return `${pj().repository}/${\n pj().repository.includes('github.com') ? 'actions/runs' : 'pipelines'\n }/${buildNumber ? buildNumber : ''}`;\n },\n },\n zenPackageVersions: () => [\n ...(Object.entries(pj().devDependencies || {}).filter(\n ([pkg]) => pkg.includes('zengenti') || pkg.includes('contensis')\n ) || []),\n ...(Object.entries(pj().dependencies || {}).filter(\n ([pkg]) => pkg.includes('zengenti') || pkg.includes('contensis')\n ) || []),\n ],\n deliveryApi: () =>\n JSON.parse(\n JSON.stringify(DELIVERY_API_CONFIG /* global DELIVERY_API_CONFIG */)\n ),\n devEnv: () =>\n typeof DEV_ENV !== 'undefined' /* global DEV_ENV */ ? DEV_ENV : null,\n disableSsrRedux: () =>\n isDev\n ? DISABLE_SSR_REDUX /* global DISABLE_SSR_REDUX*/\n : context.DISABLE_SSR_REDUX || false,\n nodeEnv: () => process.env.NODE_ENV || 'production',\n packagejson: () => pj() || {},\n projects: () => (isDev ? PROJECTS /* global PROJECTS */ : context.PROJECTS),\n proxyDeliveryApi: () =>\n isDev\n ? PROXY_DELIVERY_API /* global PROXY_DELIVERY_API */\n : context.PROXY_DELIVERY_API || false,\n publicUri: () =>\n isDev ? PUBLIC_URI /* global PUBLIC_URI */ : context.PUBLIC_URI || null,\n project: state => selectCurrentProject(state),\n reverseProxyPaths: () =>\n isDev\n ? REVERSE_PROXY_PATHS /* global REVERSE_PROXY_PATHS */\n : context.REVERSE_PROXY_PATHS || {},\n servers: () => (isDev ? SERVERS /* global SERVERS */ : context.SERVERS),\n version: {\n buildNumber: state => selectBuildNumber(state),\n commitRef: state => selectCommitRef(state),\n contensisVersionStatus: state => selectVersionStatus(state),\n },\n};\n\nconst mapStateToVersionInfo = state => {\n const mappedProps = mapJson(state, versionInfoProps);\n return mappedProps as IVersionInfoProps;\n};\n\nexport default mapStateToVersionInfo;\n","import styled from 'styled-components';\n\nexport const VersionInfoStyledTable = styled.table`\n font-family: 'Source Sans Pro', Helvetica, Arial, sans-serif;\n font-size: 1.6rem;\n line-height: 1.5rem;\n border-bottom: 4px solid #8892bf;\n border-collapse: separate;\n margin: 0 auto;\n width: 80%;\n th {\n text-align: left;\n background-color: #c4c9df;\n border-bottom: #8892bf 2px solid;\n border-bottom-color: #8892bf;\n border-top: 20px solid #fff;\n }\n td {\n border-bottom: 1px solid #eee;\n }\n td,\n th {\n padding: 0.5rem 0.75rem;\n vertical-align: top;\n }\n .left {\n width: 25%;\n }\n tr th {\n border-right: hidden;\n border-spacing: 0 15px;\n }\n .green {\n background-color: #9c9;\n border-bottom: 1px solid #696;\n }\n .red {\n background-color: #c99;\n border-bottom: 1px solid #966;\n }\n .small {\n font-size: 100%;\n line-height: 2.4rem;\n }\n`;\n","import React from 'react';\nimport { connect } from 'react-redux';\n\nimport mapStateToVersionInfo from '../transformations/state-to-versioninfoprops.mapper';\n\nimport { VersionInfoStyledTable } from './VersionInfo.styled';\n\nexport interface IVersionInfoProps {\n deliveryApi: {\n rootUrl: string;\n accessToken: string;\n projectId: string;\n livePublishingRootUrl: string;\n };\n devEnv: any;\n disableSsrRedux: boolean;\n nodeEnv: string;\n packageDetail: any;\n project: string;\n projects;\n proxyDeliveryApi;\n publicUri: string;\n reverseProxyPaths: string[];\n servers: {\n alias: string;\n api: string;\n cms: string;\n web: string;\n iis: string;\n previewIis: string;\n previewWeb: string;\n };\n uris: {\n gitRepo: string;\n commit: string;\n pipeline: string;\n };\n version: {\n buildNumber: string;\n commitRef: string;\n contensisVersionStatus: string;\n };\n zenPackageVersions: string[];\n}\n\nconst VersionInfo = ({\n deliveryApi,\n devEnv,\n disableSsrRedux,\n nodeEnv,\n packageDetail,\n project,\n projects,\n proxyDeliveryApi,\n publicUri,\n reverseProxyPaths,\n servers,\n uris,\n version,\n zenPackageVersions,\n}: IVersionInfoProps) => {\n return (\n <VersionInfoStyledTable>\n <thead>\n <tr>\n <td colSpan={2}>\n <h1>\n <a href=\"/\">Version Information</a>\n </h1>\n </td>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th colSpan={2}>Package detail</th>\n </tr>\n <tr>\n <td className=\"left\">Name</td>\n <td>{packageDetail.name}</td>\n </tr>\n <tr>\n <td className=\"left\">Version</td>\n <td>{packageDetail.version}</td>\n </tr>\n <tr>\n <th colSpan={2}>Version info (state)</th>\n </tr>\n <tr>\n <td>Git repo url: </td>\n <td>\n <a\n href={packageDetail.repository}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {packageDetail.repository}\n </a>\n </td>\n </tr>\n <tr>\n <td>Pipeline: </td>\n <td>\n <a href={uris.pipeline} target=\"_blank\" rel=\"noopener noreferrer\">\n {version.buildNumber}\n </a>\n </td>\n </tr>\n <tr>\n <td>Commit: </td>\n <td>\n <a href={uris.commit} target=\"_blank\" rel=\"noopener noreferrer\">\n {version.commitRef}\n </a>\n </td>\n </tr>\n {/* <tr>\n <td>Last release ref: </td>\n <td></td>\n </tr>\n <tr>\n <td>Number of commits since last release: </td>\n <td></td>\n </tr> */}\n <tr>\n <td>Project</td>\n <td className={project === 'unknown' ? 'red' : ''}>{project}</td>\n </tr>\n <tr>\n <td>Contensis version status: </td>\n <td\n className={\n version.contensisVersionStatus === 'published' ? 'green' : 'red'\n }\n >\n {version.contensisVersionStatus}\n </td>\n </tr>\n <tr>\n <th colSpan={2}>Build configuration</th>\n </tr>\n <tr>\n <td>Environment</td>\n <td>{servers.alias}</td>\n </tr>\n <tr>\n <td>Public uri</td>\n <td>{publicUri}</td>\n </tr>\n <tr>\n <td>Zengenti packages</td>\n <td>\n {zenPackageVersions.map(([pkg, ver], idx) => (\n <div key={idx}>\n {pkg}: {ver}\n </div>\n ))}\n </td>\n </tr>\n <tr>\n <td>Servers</td>\n <td className=\"small\">\n <div>web: {servers.web}</div>\n <div>preview: {servers.previewWeb}</div>\n <div>api: {servers.api}</div>\n <div>cms: {servers.cms}</div>\n <div>iis: {servers.iis}</div>\n <div>iis preview: {servers.previewIis}</div>\n </td>\n </tr>\n <tr>\n <td>Reverse proxy paths</td>\n <td>\n {Object.entries(reverseProxyPaths).map(([, path], key) => (\n <span key={key}>[ {path} ] </span>\n ))}\n </td>\n </tr>\n <tr>\n <td>Projects</td>\n <td>\n {Object.entries(\n projects as {\n id: string;\n publicUri: string;\n }[]\n ).map(([, project], key) => (\n <div key={key}>\n [ {project.id}: {project.publicUri} ]\n </div>\n ))}\n </td>\n </tr>\n <tr>\n <td>Delivery API</td>\n <td className=\"small\">\n <ul style={{ margin: 0, padding: 0 }}>\n {Object.entries(deliveryApi).map(\n ([key, value]: [string, any], idx) => {\n if (typeof value === 'object') return null;\n return (\n <li key={idx} style={{ listStyleType: 'none' }}>\n {key}: <span>{value}</span>\n </li>\n );\n }\n )}\n </ul>\n </td>\n </tr>\n <tr>\n <td>Proxy Delivery API requests</td>\n <td className={proxyDeliveryApi ? 'green' : 'red'}>\n {proxyDeliveryApi.toString()}\n </td>\n </tr>\n <tr>\n <td>Disable SSR inline-redux</td>\n <td>{disableSsrRedux.toString()}</td>\n </tr>\n <tr>\n <td>NODE_ENV</td>\n <td className={nodeEnv === 'production' ? 'green' : 'red'}>\n {nodeEnv.toString()}\n </td>\n </tr>\n {devEnv && (\n <tr>\n <td>process.env</td>\n <td>\n {Object.entries(devEnv).map(([k, v], key) => (\n <div key={key}>\n [ {k}: {v} ]\n </div>\n ))}\n </td>\n </tr>\n )}\n </tbody>\n </VersionInfoStyledTable>\n );\n};\n\nexport default connect(mapStateToVersionInfo)(VersionInfo);\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","stringifyStrings","obj","returnObj","Object","forEach","key","JSON","stringify","module","url","alias","project","projectAndAlias","toLowerCase","api","cms","liveWeb","previewWeb","iisWeb","iisPreviewWeb","context","window","global","isDev","process","env","NODE_ENV","pj","PACKAGE_JSON","name","repository","versionInfoProps","packageDetail","pkg","version","uris","gitRepo","commit","commitRef","selectCommitRef","pipeline","buildNumber","selectBuildNumber","includes","zenPackageVersions","devDependencies","filter","dependencies","deliveryApi","parse","DELIVERY_API_CONFIG","devEnv","DEV_ENV","disableSsrRedux","DISABLE_SSR_REDUX","nodeEnv","packagejson","projects","PROJECTS","proxyDeliveryApi","PROXY_DELIVERY_API","publicUri","PUBLIC_URI","selectCurrentProject","reverseProxyPaths","REVERSE_PROXY_PATHS","servers","SERVERS","contensisVersionStatus","selectVersionStatus","mapStateToVersionInfo","mappedProps","VersionInfoStyledTable","styled","table","VersionInfo","React","ver","web","iis","previewIis","path","id","margin","padding","listStyleType","toString","k","v","connect"],"mappings":"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"}