cozy-bar 18.2.0 → 18.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/README.md +9 -0
  2. package/dist/components/Apps/AppItem.js +11 -32
  3. package/dist/components/Apps/AppItemPlaceholder.js +2 -8
  4. package/dist/components/Apps/AppNavButtons.js +11 -32
  5. package/dist/components/Apps/AppsContent.js +8 -33
  6. package/dist/components/Apps/ButtonCozyHome.js +2 -14
  7. package/dist/components/Apps/IconCozyHome.js +3 -22
  8. package/dist/components/Apps/index.js +13 -25
  9. package/dist/components/AppsMenu/AppsMenuContent.js +5 -28
  10. package/dist/components/AppsMenu/components/AppItem.js +3 -19
  11. package/dist/components/AppsMenu/components/AppItemPlaceholder.js +2 -9
  12. package/dist/components/AppsMenu/index.js +7 -24
  13. package/dist/components/Banner.js +8 -19
  14. package/dist/components/Bar.js +47 -94
  15. package/dist/components/BarCenter.js +0 -3
  16. package/dist/components/BarComponent.js +44 -69
  17. package/dist/components/BarLeft.js +0 -3
  18. package/dist/components/BarProvider.js +21 -39
  19. package/dist/components/BarRight.js +0 -3
  20. package/dist/components/BarRoutes.js +2 -9
  21. package/dist/components/BarSearch.js +0 -3
  22. package/dist/components/BarTheme.js +0 -3
  23. package/dist/components/Drawer.js +44 -107
  24. package/dist/components/HelpLink/index.js +1 -9
  25. package/dist/components/Search/SearchButton.js +4 -15
  26. package/dist/components/Settings/SettingsContent.js +9 -29
  27. package/dist/components/Settings/StorageData.js +6 -16
  28. package/dist/components/Settings/actions/appearance.js +7 -20
  29. package/dist/components/Settings/actions/connectedDevices.js +7 -20
  30. package/dist/components/Settings/actions/connections.js +7 -20
  31. package/dist/components/Settings/actions/contact.js +7 -20
  32. package/dist/components/Settings/actions/help.js +7 -20
  33. package/dist/components/Settings/actions/index.js +0 -10
  34. package/dist/components/Settings/actions/legalNotice.js +8 -21
  35. package/dist/components/Settings/actions/logout.js +32 -59
  36. package/dist/components/Settings/actions/permissions.js +7 -21
  37. package/dist/components/Settings/actions/plans.js +8 -24
  38. package/dist/components/Settings/actions/profile.js +7 -20
  39. package/dist/components/Settings/actions/storage.js +7 -21
  40. package/dist/components/Settings/actions/termsOfService.js +8 -21
  41. package/dist/components/Settings/helper.js +5 -12
  42. package/dist/components/Settings/index.js +8 -25
  43. package/dist/components/UserMenu/UserMenuContent.js +10 -45
  44. package/dist/components/UserMenu/components/AvatarMyself.js +5 -19
  45. package/dist/components/UserMenu/helpers.js +28 -50
  46. package/dist/components/UserMenu/index.js +10 -29
  47. package/dist/components/useI18n.js +1 -8
  48. package/dist/dom.js +12 -33
  49. package/dist/index.js +16 -28
  50. package/dist/lib/exceptions.js +35 -90
  51. package/dist/lib/icon.js +89 -123
  52. package/dist/lib/logger.js +1 -9
  53. package/dist/lib/queries.js +2 -7
  54. package/dist/lib/realtime.js +26 -44
  55. package/dist/lib/reducers/apps.js +96 -165
  56. package/dist/lib/reducers/context.js +52 -78
  57. package/dist/lib/reducers/index.js +32 -55
  58. package/dist/lib/reducers/settings.js +85 -129
  59. package/dist/lib/stack-client.js +46 -90
  60. package/dist/lib/stack.js +6 -24
  61. package/dist/lib/store/index.js +6 -24
  62. package/dist/proptypes/index.js +2 -7
  63. package/package.json +2 -3
@@ -1,17 +1,14 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
10
  var APPS_DOCTYPE = 'io.cozy.apps';
11
+
15
12
  /**
16
13
  * Initialize realtime sockets
17
14
  *
@@ -19,65 +16,52 @@ var APPS_DOCTYPE = 'io.cozy.apps';
19
16
  * @param {object}
20
17
  * @returns {Promise}
21
18
  */
22
-
23
19
  function initializeRealtime(_ref) {
24
20
  var getApp = _ref.getApp,
25
- onCreate = _ref.onCreate,
26
- onDelete = _ref.onDelete,
27
- cozyClient = _ref.cozyClient;
28
-
21
+ onCreate = _ref.onCreate,
22
+ onDelete = _ref.onDelete,
23
+ cozyClient = _ref.cozyClient;
29
24
  var handleAppCreation = /*#__PURE__*/function () {
30
- var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(app) {
25
+ var _ref2 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(app) {
31
26
  var fullApp;
32
27
  return _regenerator.default.wrap(function _callee$(_context) {
33
- while (1) {
34
- switch (_context.prev = _context.next) {
35
- case 0:
36
- _context.prev = 0;
37
- _context.next = 3;
38
- return getApp(app.slug);
39
-
40
- case 3:
41
- fullApp = _context.sent;
42
- _context.next = 9;
43
- break;
44
-
45
- case 6:
46
- _context.prev = 6;
47
- _context.t0 = _context["catch"](0);
48
- throw new Error("Cannot fetch app ".concat(app.slug, ": ").concat(_context.t0.message));
49
-
50
- case 9:
51
- if (typeof onCreate === 'function') {
52
- onCreate(fullApp);
53
- }
54
-
55
- case 10:
56
- case "end":
57
- return _context.stop();
58
- }
28
+ while (1) switch (_context.prev = _context.next) {
29
+ case 0:
30
+ _context.prev = 0;
31
+ _context.next = 3;
32
+ return getApp(app.slug);
33
+ case 3:
34
+ fullApp = _context.sent;
35
+ _context.next = 9;
36
+ break;
37
+ case 6:
38
+ _context.prev = 6;
39
+ _context.t0 = _context["catch"](0);
40
+ throw new Error("Cannot fetch app ".concat(app.slug, ": ").concat(_context.t0.message));
41
+ case 9:
42
+ if (typeof onCreate === 'function') {
43
+ onCreate(fullApp);
44
+ }
45
+ case 10:
46
+ case "end":
47
+ return _context.stop();
59
48
  }
60
49
  }, _callee, null, [[0, 6]]);
61
50
  }));
62
-
63
51
  return function handleAppCreation(_x) {
64
52
  return _ref2.apply(this, arguments);
65
53
  };
66
54
  }();
67
-
68
55
  var handleAppRemoval = function handleAppRemoval(app) {
69
56
  if (typeof onDelete === 'function') {
70
57
  onDelete(app);
71
58
  }
72
59
  };
73
-
74
60
  try {
75
61
  var realtime = cozyClient.plugins.realtime;
76
-
77
62
  if (!realtime) {
78
63
  throw new Error('You must include the realtime plugin to use cozy-bar realtime features.');
79
64
  }
80
-
81
65
  realtime.subscribe('created', APPS_DOCTYPE, handleAppCreation);
82
66
  realtime.subscribe('deleted', APPS_DOCTYPE, handleAppRemoval);
83
67
  } catch (error) {
@@ -85,6 +69,4 @@ function initializeRealtime(_ref) {
85
69
  console.warn("Cannot initialize realtime in Cozy-bar: ".concat(error.message));
86
70
  }
87
71
  }
88
-
89
- var _default = initializeRealtime;
90
- exports.default = _default;
72
+ var _default = exports.default = initializeRealtime;
@@ -1,24 +1,18 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports.default = exports.setDefaultApp = exports.fetchApps = exports.setInfos = exports.receiveApp = exports.deleteApp = exports.hasFetched = exports.isFetchingApps = exports.getHomeApp = exports.getApps = exports.isCurrentApp = void 0;
9
-
10
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread"));
11
-
7
+ exports.setInfos = exports.setDefaultApp = exports.receiveApp = exports.isFetchingApps = exports.isCurrentApp = exports.hasFetched = exports.getHomeApp = exports.getApps = exports.fetchApps = exports.deleteApp = exports.default = void 0;
12
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
-
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
-
16
11
  var _stack = _interopRequireDefault(require("../stack"));
17
-
18
12
  var _lodash = _interopRequireDefault(require("lodash.unionwith"));
19
-
20
13
  var _cozyFlags = _interopRequireDefault(require("cozy-flags"));
21
-
14
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
22
16
  // constants
23
17
  var DELETE_APP = 'DELETE_APP';
24
18
  var RECEIVE_APP = 'RECEIVE_APP';
@@ -28,200 +22,153 @@ var FETCH_APPS = 'FETCH_APPS';
28
22
  var FETCH_APPS_FAILURE = 'FETCH_APPS_FAILURE';
29
23
  var FETCH_APPS_SUCCESS = 'FETCH_APPS_SUCCESS';
30
24
  var SET_INFOS = 'SET_INFOS';
31
-
32
- var isCurrentApp = function isCurrentApp(state, app) {
25
+ var isCurrentApp = exports.isCurrentApp = function isCurrentApp(state, app) {
33
26
  return app.slug === state.appSlug;
34
- }; // selectors
35
-
36
-
37
- exports.isCurrentApp = isCurrentApp;
27
+ };
38
28
 
39
- var getApps = function getApps(state) {
29
+ // selectors
30
+ var getApps = exports.getApps = function getApps(state) {
40
31
  if (!state.apps) return [];
41
32
  return state.apps;
42
33
  };
43
-
44
- exports.getApps = getApps;
45
-
46
- var getHomeApp = function getHomeApp(state) {
34
+ var getHomeApp = exports.getHomeApp = function getHomeApp(state) {
47
35
  return state.homeApp;
48
36
  };
49
-
50
- exports.getHomeApp = getHomeApp;
51
-
52
- var isFetchingApps = function isFetchingApps(state) {
37
+ var isFetchingApps = exports.isFetchingApps = function isFetchingApps(state) {
53
38
  return state ? state.isFetching : false;
54
39
  };
55
-
56
- exports.isFetchingApps = isFetchingApps;
57
-
58
- var hasFetched = function hasFetched(state) {
40
+ var hasFetched = exports.hasFetched = function hasFetched(state) {
59
41
  return state.hasFetched;
60
- }; // actions
61
-
62
-
63
- exports.hasFetched = hasFetched;
42
+ };
64
43
 
65
- var deleteApp = function deleteApp(app) {
44
+ // actions
45
+ var deleteApp = exports.deleteApp = function deleteApp(app) {
66
46
  return {
67
47
  type: DELETE_APP,
68
48
  app: app
69
49
  };
70
50
  };
71
-
72
- exports.deleteApp = deleteApp;
73
-
74
- var receiveApp = function receiveApp(app) {
51
+ var receiveApp = exports.receiveApp = function receiveApp(app) {
75
52
  return {
76
53
  type: RECEIVE_APP,
77
54
  app: app
78
55
  };
79
56
  };
80
-
81
- exports.receiveApp = receiveApp;
82
-
83
57
  var receiveAppList = function receiveAppList(apps) {
84
58
  return {
85
59
  type: RECEIVE_APP_LIST,
86
60
  apps: apps
87
61
  };
88
62
  };
89
-
90
63
  var receiveHomeApp = function receiveHomeApp(homeApp) {
91
64
  return {
92
65
  type: RECEIVE_HOME_APP,
93
66
  homeApp: homeApp
94
67
  };
95
68
  };
96
-
97
- var setInfos = function setInfos(appName, appNamePrefix, appSlug) {
69
+ var setInfos = exports.setInfos = function setInfos(appName, appNamePrefix, appSlug) {
98
70
  return {
99
71
  type: SET_INFOS,
100
72
  appName: appName,
101
73
  appNamePrefix: appNamePrefix,
102
74
  appSlug: appSlug
103
75
  };
104
- }; // actions async
105
-
106
-
107
- exports.setInfos = setInfos;
76
+ };
108
77
 
109
- var fetchApps = function fetchApps() {
78
+ // actions async
79
+ var fetchApps = exports.fetchApps = function fetchApps() {
110
80
  return /*#__PURE__*/function () {
111
- var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(dispatch) {
81
+ var _ref = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(dispatch) {
112
82
  var rawAppList, excludedApps, apps;
113
83
  return _regenerator.default.wrap(function _callee$(_context) {
114
- while (1) {
115
- switch (_context.prev = _context.next) {
116
- case 0:
117
- _context.prev = 0;
118
- dispatch({
119
- type: FETCH_APPS
120
- });
121
- _context.next = 4;
122
- return _stack.default.get.apps();
123
-
124
- case 4:
125
- rawAppList = _context.sent;
126
- excludedApps = (0, _cozyFlags.default)('apps.hidden') || [];
127
- apps = rawAppList.map(mapApp).filter(function (app) {
128
- return !excludedApps.includes(app.slug);
129
- });
130
-
131
- if (rawAppList.length) {
132
- _context.next = 9;
133
- break;
134
- }
135
-
136
- throw new Error('No installed apps found by the bar');
137
-
138
- case 9:
139
- _context.next = 11;
140
- return dispatch(setDefaultApp(apps));
141
-
142
- case 11:
143
- _context.next = 13;
144
- return dispatch(receiveAppList(apps));
145
-
146
- case 13:
147
- _context.next = 19;
84
+ while (1) switch (_context.prev = _context.next) {
85
+ case 0:
86
+ _context.prev = 0;
87
+ dispatch({
88
+ type: FETCH_APPS
89
+ });
90
+ _context.next = 4;
91
+ return _stack.default.get.apps();
92
+ case 4:
93
+ rawAppList = _context.sent;
94
+ excludedApps = (0, _cozyFlags.default)('apps.hidden') || [];
95
+ apps = rawAppList.map(mapApp).filter(function (app) {
96
+ return !excludedApps.includes(app.slug);
97
+ });
98
+ if (rawAppList.length) {
99
+ _context.next = 9;
148
100
  break;
149
-
150
- case 15:
151
- _context.prev = 15;
152
- _context.t0 = _context["catch"](0);
153
- dispatch({
154
- type: FETCH_APPS_FAILURE
155
- }); // eslint-disable-next-line no-console
156
-
157
- console.warn(_context.t0.message ? _context.t0.message : _context.t0);
158
-
159
- case 19:
160
- case "end":
161
- return _context.stop();
162
- }
101
+ }
102
+ throw new Error('No installed apps found by the bar');
103
+ case 9:
104
+ _context.next = 11;
105
+ return dispatch(setDefaultApp(apps));
106
+ case 11:
107
+ _context.next = 13;
108
+ return dispatch(receiveAppList(apps));
109
+ case 13:
110
+ _context.next = 19;
111
+ break;
112
+ case 15:
113
+ _context.prev = 15;
114
+ _context.t0 = _context["catch"](0);
115
+ dispatch({
116
+ type: FETCH_APPS_FAILURE
117
+ });
118
+ // eslint-disable-next-line no-console
119
+ console.warn(_context.t0.message ? _context.t0.message : _context.t0);
120
+ case 19:
121
+ case "end":
122
+ return _context.stop();
163
123
  }
164
124
  }, _callee, null, [[0, 15]]);
165
125
  }));
166
-
167
126
  return function (_x) {
168
127
  return _ref.apply(this, arguments);
169
128
  };
170
129
  }();
171
130
  };
131
+
172
132
  /**
173
133
  *
174
134
  * @param {Array} appsList
175
135
  */
176
-
177
-
178
- exports.fetchApps = fetchApps;
179
-
180
- var setDefaultApp = function setDefaultApp(appsList) {
136
+ var setDefaultApp = exports.setDefaultApp = function setDefaultApp(appsList) {
181
137
  return /*#__PURE__*/function () {
182
- var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(dispatch) {
138
+ var _ref2 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2(dispatch) {
183
139
  var HOME_APP_SLUG, homeApp;
184
140
  return _regenerator.default.wrap(function _callee2$(_context2) {
185
- while (1) {
186
- switch (_context2.prev = _context2.next) {
187
- case 0:
188
- _context2.prev = 0;
189
- HOME_APP_SLUG = 'home';
190
- homeApp = findAppInArray(HOME_APP_SLUG, appsList);
191
-
192
- if (!homeApp) {
193
- _context2.next = 5;
194
- break;
195
- }
196
-
197
- return _context2.abrupt("return", dispatch(receiveHomeApp(homeApp)));
198
-
199
- case 5:
200
- _context2.next = 10;
141
+ while (1) switch (_context2.prev = _context2.next) {
142
+ case 0:
143
+ _context2.prev = 0;
144
+ HOME_APP_SLUG = 'home';
145
+ homeApp = findAppInArray(HOME_APP_SLUG, appsList);
146
+ if (!homeApp) {
147
+ _context2.next = 5;
201
148
  break;
202
-
203
- case 7:
204
- _context2.prev = 7;
205
- _context2.t0 = _context2["catch"](0);
206
- // eslint-disable-next-line no-console
207
- console.warn("Cozy-bar cannot fetch home app data: ".concat(_context2.t0.message));
208
-
209
- case 10:
210
- case "end":
211
- return _context2.stop();
212
- }
149
+ }
150
+ return _context2.abrupt("return", dispatch(receiveHomeApp(homeApp)));
151
+ case 5:
152
+ _context2.next = 10;
153
+ break;
154
+ case 7:
155
+ _context2.prev = 7;
156
+ _context2.t0 = _context2["catch"](0);
157
+ // eslint-disable-next-line no-console
158
+ console.warn("Cozy-bar cannot fetch home app data: ".concat(_context2.t0.message));
159
+ case 10:
160
+ case "end":
161
+ return _context2.stop();
213
162
  }
214
163
  }, _callee2, null, [[0, 7]]);
215
164
  }));
216
-
217
165
  return function (_x2) {
218
166
  return _ref2.apply(this, arguments);
219
167
  };
220
168
  }();
221
- }; // reducers
222
-
169
+ };
223
170
 
224
- exports.setDefaultApp = setDefaultApp;
171
+ // reducers
225
172
  var defaultState = {
226
173
  apps: [],
227
174
  homeApp: null,
@@ -231,83 +178,69 @@ var defaultState = {
231
178
  appSlug: null,
232
179
  hasFetched: false
233
180
  };
234
-
235
181
  var reducer = function reducer() {
236
182
  var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultState;
237
183
  var action = arguments.length > 1 ? arguments[1] : undefined;
238
-
239
184
  switch (action.type) {
240
185
  case FETCH_APPS:
241
- return (0, _objectSpread2.default)({}, state, {
186
+ return _objectSpread(_objectSpread({}, state), {}, {
242
187
  isFetching: true
243
188
  });
244
-
245
189
  case FETCH_APPS_SUCCESS:
246
- return (0, _objectSpread2.default)({}, state, {
190
+ return _objectSpread(_objectSpread({}, state), {}, {
247
191
  isFetching: false
248
192
  });
249
-
250
193
  case FETCH_APPS_FAILURE:
251
- return (0, _objectSpread2.default)({}, state, {
194
+ return _objectSpread(_objectSpread({}, state), {}, {
252
195
  isFetching: false
253
196
  });
254
-
255
197
  case RECEIVE_APP:
256
- return (0, _objectSpread2.default)({}, state, {
198
+ return _objectSpread(_objectSpread({}, state), {}, {
257
199
  apps: (0, _lodash.default)(state.apps, [mapApp(action.app)], function (appA, appB) {
258
200
  return appA.slug === appB.slug;
259
201
  })
260
202
  });
261
-
262
203
  case RECEIVE_APP_LIST:
263
204
  {
264
205
  var appsList = action.apps.map(function (app) {
265
- return (0, _objectSpread2.default)({}, app, {
206
+ return _objectSpread(_objectSpread({}, app), {}, {
266
207
  isCurrentApp: isCurrentApp(state, app)
267
208
  });
268
209
  });
269
- return (0, _objectSpread2.default)({}, state, {
210
+ return _objectSpread(_objectSpread({}, state), {}, {
270
211
  isFetching: false,
271
212
  hasFetched: true,
272
213
  apps: appsList
273
214
  });
274
215
  }
275
-
276
216
  case RECEIVE_HOME_APP:
277
217
  {
278
218
  var homeApp = action.homeApp;
279
- return isCurrentApp(state, homeApp) ? (0, _objectSpread2.default)({}, state, {
280
- homeApp: (0, _objectSpread2.default)({}, homeApp, {
219
+ return isCurrentApp(state, homeApp) ? _objectSpread(_objectSpread({}, state), {}, {
220
+ homeApp: _objectSpread(_objectSpread({}, homeApp), {}, {
281
221
  isCurrentApp: true
282
222
  })
283
- }) : (0, _objectSpread2.default)({}, state, {
223
+ }) : _objectSpread(_objectSpread({}, state), {}, {
284
224
  homeApp: homeApp
285
225
  });
286
226
  }
287
-
288
227
  case DELETE_APP:
289
- return (0, _objectSpread2.default)({}, state, {
228
+ return _objectSpread(_objectSpread({}, state), {}, {
290
229
  apps: state.apps.filter(function (app) {
291
230
  return app.slug !== action.app.slug;
292
231
  })
293
232
  });
294
-
295
233
  case SET_INFOS:
296
- return (0, _objectSpread2.default)({}, state, {
234
+ return _objectSpread(_objectSpread({}, state), {}, {
297
235
  appName: action.appName,
298
236
  appNamePrefix: action.appNamePrefix,
299
237
  appSlug: action.appSlug
300
238
  });
301
-
302
239
  default:
303
240
  return state;
304
241
  }
305
242
  };
306
-
307
- var _default = reducer; // helpers
308
-
309
- exports.default = _default;
310
-
243
+ var _default = exports.default = reducer; // helpers
311
244
  var camelCasify = function camelCasify(object) {
312
245
  return !!object && Object.keys(object).reduce(function (acc, key) {
313
246
  var camelCaseKey = key.split('_').map(function (segment, index) {
@@ -317,13 +250,11 @@ var camelCasify = function camelCasify(object) {
317
250
  return acc;
318
251
  }, {});
319
252
  };
320
-
321
253
  var mapApp = function mapApp(app) {
322
- return (0, _objectSpread2.default)({}, app, camelCasify(app.attributes), {
254
+ return _objectSpread(_objectSpread(_objectSpread({}, app), camelCasify(app.attributes)), {}, {
323
255
  href: app.links && app.links.related
324
256
  });
325
257
  };
326
-
327
258
  var findAppInArray = function findAppInArray(appSlug, apps) {
328
259
  return apps.find(function (app) {
329
260
  return app.slug === appSlug;