@bigbinary/neeto-commons-frontend 1.0.10 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/pure.js ADDED
@@ -0,0 +1,394 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var ramda = require('ramda');
6
+
7
+ function _arrayWithHoles(arr) {
8
+ if (Array.isArray(arr)) return arr;
9
+ }
10
+
11
+ function _iterableToArrayLimit(arr, i) {
12
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
13
+
14
+ if (_i == null) return;
15
+ var _arr = [];
16
+ var _n = true;
17
+ var _d = false;
18
+
19
+ var _s, _e;
20
+
21
+ try {
22
+ for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
23
+ _arr.push(_s.value);
24
+
25
+ if (i && _arr.length === i) break;
26
+ }
27
+ } catch (err) {
28
+ _d = true;
29
+ _e = err;
30
+ } finally {
31
+ try {
32
+ if (!_n && _i["return"] != null) _i["return"]();
33
+ } finally {
34
+ if (_d) throw _e;
35
+ }
36
+ }
37
+
38
+ return _arr;
39
+ }
40
+
41
+ function _arrayLikeToArray(arr, len) {
42
+ if (len == null || len > arr.length) len = arr.length;
43
+
44
+ for (var i = 0, arr2 = new Array(len); i < len; i++) {
45
+ arr2[i] = arr[i];
46
+ }
47
+
48
+ return arr2;
49
+ }
50
+
51
+ function _unsupportedIterableToArray(o, minLen) {
52
+ if (!o) return;
53
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
54
+ var n = Object.prototype.toString.call(o).slice(8, -1);
55
+ if (n === "Object" && o.constructor) n = o.constructor.name;
56
+ if (n === "Map" || n === "Set") return Array.from(o);
57
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
58
+ }
59
+
60
+ function _nonIterableRest() {
61
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
62
+ }
63
+
64
+ function _slicedToArray(arr, i) {
65
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
66
+ }
67
+
68
+ function _typeof(obj) {
69
+ "@babel/helpers - typeof";
70
+
71
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
72
+ return typeof obj;
73
+ } : function (obj) {
74
+ return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
75
+ }, _typeof(obj);
76
+ }
77
+
78
+ var slugify = function slugify(string) {
79
+ return string.toString().toLowerCase().replace(/\s+/g, "-") // Replace spaces with -
80
+ .replace(/&/g, "-and-") // Replace & with 'and'
81
+ .replace(/[^\w-]+/g, "") // Remove all non-word characters
82
+ .replace(/--+/g, "-") // Replace multiple - with single -
83
+ .replace(/^-+/, "") // Trim - from start of text
84
+ .replace(/-+$/, "");
85
+ }; // Trim - from end of text
86
+
87
+ var humanize = function humanize(string) {
88
+ string = string.replace(/[_-]+/g, " ").replace(/\s{2,}/g, " ").replace(/([a-z\d])([A-Z])/g, "$1" + " " + "$2").replace(/([A-Z]+)([A-Z][a-z\d]+)/g, "$1" + " " + "$2").toLowerCase().trim();
89
+ string = string.charAt(0).toUpperCase() + string.slice(1);
90
+ return string;
91
+ };
92
+ var snakeToCamelCase = function snakeToCamelCase(string) {
93
+ return string.replace(/(_\w)/g, function (letter) {
94
+ return letter[1].toUpperCase();
95
+ });
96
+ };
97
+ var camelToSnakeCase = function camelToSnakeCase(string) {
98
+ return string.replace(/[A-Z]/g, function (letter) {
99
+ return "_".concat(letter.toLowerCase());
100
+ });
101
+ };
102
+ var capitalize = function capitalize(string) {
103
+ return string.charAt(0).toUpperCase() + string.slice(1);
104
+ };
105
+ var truncate = function truncate() {
106
+ var string = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
107
+ var length = arguments.length > 1 ? arguments[1] : undefined;
108
+ return string.length > length ? ramda.concat(ramda.slice(0, length, string), "...") : string;
109
+ };
110
+
111
+ var transformObjectDeep = function transformObjectDeep(object, keyValueTransformer) {
112
+ if (Array.isArray(object)) {
113
+ return object.map(function (obj) {
114
+ return transformObjectDeep(obj, keyValueTransformer);
115
+ });
116
+ } else if (object === null || _typeof(object) !== "object") {
117
+ return object;
118
+ }
119
+
120
+ return Object.fromEntries(Object.entries(object).map(function (_ref) {
121
+ var _ref2 = _slicedToArray(_ref, 2),
122
+ key = _ref2[0],
123
+ value = _ref2[1];
124
+
125
+ return keyValueTransformer(key, transformObjectDeep(value, keyValueTransformer));
126
+ }));
127
+ };
128
+ var keysToCamelCase = function keysToCamelCase(object) {
129
+ return transformObjectDeep(object, function (key, value) {
130
+ return [snakeToCamelCase(key), value];
131
+ });
132
+ };
133
+ var keysToSnakeCase = function keysToSnakeCase(object) {
134
+ return transformObjectDeep(object, function (key, value) {
135
+ return [camelToSnakeCase(key), value];
136
+ });
137
+ };
138
+ var deepFreezeObject = function deepFreezeObject(object) {
139
+ if (object && _typeof(object) === "object" && !Object.isFrozen(object)) {
140
+ Object.keys(object).forEach(function (property) {
141
+ return deepFreezeObject(object[property]);
142
+ });
143
+ Object.freeze(object);
144
+ }
145
+
146
+ return object;
147
+ };
148
+ var matches = ramda.curry(function (pattern, object) {
149
+ var __parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : object;
150
+
151
+ if (object === pattern) return true;
152
+ if (typeof pattern === "function" && pattern(object, __parent)) return true;
153
+ if (ramda.isNil(pattern) || ramda.isNil(object)) return false;
154
+ if (_typeof(pattern) !== "object") return false;
155
+ return Object.entries(pattern).every(function (_ref3) {
156
+ var _ref4 = _slicedToArray(_ref3, 2),
157
+ key = _ref4[0],
158
+ value = _ref4[1];
159
+
160
+ return matches(value, object[key], __parent);
161
+ });
162
+ });
163
+ var filterNonNull = function filterNonNull(object) {
164
+ return Object.fromEntries(Object.entries(object).filter(function (_ref5) {
165
+ var _ref6 = _slicedToArray(_ref5, 2),
166
+ v = _ref6[1];
167
+
168
+ return !ramda.isNil(v);
169
+ }).map(function (_ref7) {
170
+ var _ref8 = _slicedToArray(_ref7, 2),
171
+ k = _ref8[0],
172
+ v = _ref8[1];
173
+
174
+ return [k, _typeof(v) === "object" && !Array.isArray(v) ? filterNonNull(v) : v];
175
+ }));
176
+ };
177
+
178
+ function _defineProperty(obj, key, value) {
179
+ if (key in obj) {
180
+ Object.defineProperty(obj, key, {
181
+ value: value,
182
+ enumerable: true,
183
+ configurable: true,
184
+ writable: true
185
+ });
186
+ } else {
187
+ obj[key] = value;
188
+ }
189
+
190
+ return obj;
191
+ }
192
+
193
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
194
+
195
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
196
+ var removeById = ramda.curry(function (id, array) {
197
+ return array.filter(function (item) {
198
+ return item.id !== id;
199
+ });
200
+ });
201
+ var findById = ramda.curry(function (id, array) {
202
+ return array.find(function (item) {
203
+ return item.id === id;
204
+ });
205
+ });
206
+ var replaceById = ramda.curry(function (id, newItem, array) {
207
+ return array.map(function (item) {
208
+ return item.id === id ? newItem : item;
209
+ });
210
+ });
211
+ var modifyById = ramda.curry(function (id, modifier, array) {
212
+ return array.map(function (item) {
213
+ return item.id === id ? modifier(item) : item;
214
+ });
215
+ });
216
+ var findBy = ramda.curry(function (pattern, array) {
217
+ return array.find(matches(pattern));
218
+ });
219
+ var removeBy = ramda.curry(function (pattern, array) {
220
+ return array.filter(ramda.complement(matches(pattern)));
221
+ });
222
+ var replaceBy = ramda.curry(function (pattern, newItem, array) {
223
+ return array.map(function (item) {
224
+ return matches(pattern, item) ? newItem : item;
225
+ });
226
+ });
227
+ var modifyBy = ramda.curry(function (pattern, modifier, array) {
228
+ return array.map(function (item) {
229
+ return matches(pattern, item) ? modifier(item) : item;
230
+ });
231
+ });
232
+ var existsById = ramda.curry(function (id, array) {
233
+ return array.some(function (item) {
234
+ return item.id === id;
235
+ });
236
+ });
237
+ var existsBy = ramda.curry(function (pattern, array) {
238
+ return array.some(matches(pattern));
239
+ });
240
+ var findLastBy = ramda.curry(function (pattern, array) {
241
+ return ramda.findLast(matches(pattern), array);
242
+ });
243
+ var findIndexById = ramda.curry(function (id, array) {
244
+ return array.findIndex(function (item) {
245
+ return item.id === id;
246
+ });
247
+ });
248
+ var findIndexBy = ramda.curry(function (pattern, array) {
249
+ return array.findIndex(matches(pattern));
250
+ });
251
+ var findLastIndexBy = ramda.curry(function (pattern, array) {
252
+ return ramda.findLastIndex(matches(pattern), array);
253
+ });
254
+ var filterBy = ramda.curry(function (pattern, array) {
255
+ return array.filter(matches(pattern));
256
+ });
257
+ var countBy = ramda.curry(function (pattern, array) {
258
+ return ramda.count(matches(pattern), array);
259
+ });
260
+ var copyKeys = ramda.curry(function (keyMap, objectArray) {
261
+ return objectArray.map(function (object) {
262
+ var shallowCopy = _objectSpread({}, object);
263
+
264
+ for (var source in keyMap) {
265
+ shallowCopy[keyMap[source]] = object[source];
266
+ }
267
+
268
+ return shallowCopy;
269
+ });
270
+ });
271
+ var renameKeys = ramda.curry(function (keyMap, objectArray) {
272
+ return objectArray.map(function (object) {
273
+ var shallowCopy = _objectSpread({}, object);
274
+
275
+ for (var source in keyMap) {
276
+ shallowCopy[keyMap[source]] = object[source];
277
+ delete shallowCopy[source];
278
+ }
279
+
280
+ return shallowCopy;
281
+ });
282
+ });
283
+ var copyKeysDeep = ramda.curry(function (keyMap, objectArray) {
284
+ var copyKeysSingleObject = function copyKeysSingleObject(object, keyMap) {
285
+ var root = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : object;
286
+ return _objectSpread(_objectSpread({}, object), ramda.fromPairs(ramda.toPairs(keyMap).map(function (_ref) {
287
+ var _ref2 = _slicedToArray(_ref, 2),
288
+ destination = _ref2[0],
289
+ source = _ref2[1];
290
+
291
+ if (typeof source === "function") {
292
+ return [destination, source(object[destination], root)];
293
+ } else if (Array.isArray(source)) {
294
+ return [destination, ramda.path(source, root)];
295
+ } else if (_typeof(source) === "object") {
296
+ return [destination, copyKeysSingleObject(object[destination], source, root)];
297
+ }
298
+
299
+ return [destination, object[source]];
300
+ })));
301
+ };
302
+
303
+ return objectArray.map(function (object) {
304
+ return copyKeysSingleObject(object, keyMap);
305
+ });
306
+ });
307
+
308
+ var noop = function noop() {};
309
+ var toLabelAndValue = function toLabelAndValue(string) {
310
+ return {
311
+ label: string,
312
+ value: string
313
+ };
314
+ };
315
+ var getRandomInt = function getRandomInt() {
316
+ var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Number.MAX_SAFE_INTEGER;
317
+ var b = arguments.length > 1 ? arguments[1] : undefined;
318
+
319
+ if (b) {
320
+ a = Math.ceil(a);
321
+ b = Math.floor(b);
322
+ } else {
323
+ b = a;
324
+ a = 0;
325
+ }
326
+
327
+ return Math.floor(Math.random() * (b - a) + a);
328
+ };
329
+ var randomPick = function randomPick() {
330
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
331
+ args[_key] = arguments[_key];
332
+ }
333
+
334
+ var randomNumber = getRandomInt(0, args.length);
335
+ return args[randomNumber];
336
+ };
337
+ var dynamicArray = function dynamicArray(count, elementGenerator) {
338
+ return Array.from({
339
+ length: count
340
+ }, function (_, index) {
341
+ return elementGenerator(index);
342
+ });
343
+ };
344
+ var isNotNil = ramda.complement(ramda.isNil);
345
+ var isNotEmpty = ramda.complement(ramda.isEmpty);
346
+ var notEquals = ramda.curry(function (x, y) {
347
+ return x !== y;
348
+ });
349
+ var isNot = notEquals;
350
+ var notEqualsDeep = ramda.complement(ramda.equals);
351
+ var isNotEqualDeep = notEqualsDeep;
352
+
353
+ exports.camelToSnakeCase = camelToSnakeCase;
354
+ exports.capitalize = capitalize;
355
+ exports.copyKeys = copyKeys;
356
+ exports.copyKeysDeep = copyKeysDeep;
357
+ exports.countBy = countBy;
358
+ exports.deepFreezeObject = deepFreezeObject;
359
+ exports.dynamicArray = dynamicArray;
360
+ exports.existsBy = existsBy;
361
+ exports.existsById = existsById;
362
+ exports.filterBy = filterBy;
363
+ exports.filterNonNull = filterNonNull;
364
+ exports.findBy = findBy;
365
+ exports.findById = findById;
366
+ exports.findIndexBy = findIndexBy;
367
+ exports.findIndexById = findIndexById;
368
+ exports.findLastBy = findLastBy;
369
+ exports.findLastIndexBy = findLastIndexBy;
370
+ exports.getRandomInt = getRandomInt;
371
+ exports.humanize = humanize;
372
+ exports.isNot = isNot;
373
+ exports.isNotEmpty = isNotEmpty;
374
+ exports.isNotEqualDeep = isNotEqualDeep;
375
+ exports.isNotNil = isNotNil;
376
+ exports.keysToCamelCase = keysToCamelCase;
377
+ exports.keysToSnakeCase = keysToSnakeCase;
378
+ exports.matches = matches;
379
+ exports.modifyBy = modifyBy;
380
+ exports.modifyById = modifyById;
381
+ exports.noop = noop;
382
+ exports.notEquals = notEquals;
383
+ exports.notEqualsDeep = notEqualsDeep;
384
+ exports.randomPick = randomPick;
385
+ exports.removeBy = removeBy;
386
+ exports.removeById = removeById;
387
+ exports.renameKeys = renameKeys;
388
+ exports.replaceBy = replaceBy;
389
+ exports.replaceById = replaceById;
390
+ exports.slugify = slugify;
391
+ exports.snakeToCamelCase = snakeToCamelCase;
392
+ exports.toLabelAndValue = toLabelAndValue;
393
+ exports.transformObjectDeep = transformObjectDeep;
394
+ exports.truncate = truncate;
package/react.js CHANGED
@@ -11,6 +11,7 @@ var neetoIcons = require('@bigbinary/neeto-icons');
11
11
  var layouts = require('@bigbinary/neetoui/layouts');
12
12
  var i18next = require('i18next');
13
13
  var ramda = require('ramda');
14
+ var strings = require('src/pure/strings');
14
15
  var axios = require('axios');
15
16
  var Yup = require('yup');
16
17
  var formik = require('@bigbinary/neetoui/formik');
@@ -80,6 +81,7 @@ react.Honeybadger.beforeNotify(function (notice) {
80
81
  var honeybadger = react.Honeybadger.configure({
81
82
  apiKey: globalProps.honeybadgerApiKey,
82
83
  environment: globalProps.nodeEnv,
84
+ revision: globalProps.honeybadgerRevision,
83
85
  developmentEnvironments: ["development", "test"],
84
86
  enableUncaught: true,
85
87
  async: true,
@@ -273,10 +275,6 @@ var resetAuthTokens = function resetAuthTokens() {
273
275
  });
274
276
  };
275
277
 
276
- var capitalize = function capitalize(string) {
277
- return string.charAt(0).toUpperCase() + string.slice(1);
278
- };
279
-
280
278
  var MY_PROFILE_URL = "/auth/profile/edit";
281
279
  var ORGANIZATION_SETTINGS_URL = "/auth/organization/edit";
282
280
  var PERMITTED_DOMAINS = ["@bigbinary.com", "@example.com"];
@@ -355,7 +353,7 @@ var Sidebar = function Sidebar(_ref) {
355
353
  });
356
354
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(layouts.Sidebar, {
357
355
  isCollapsed: true,
358
- appName: "neeto".concat(capitalize(appName)),
356
+ appName: "neeto".concat(strings.capitalize(appName)),
359
357
  navLinks: navLinks,
360
358
  profileInfo: profileInfo,
361
359
  organizationInfo: ramda.mergeLeft(organizationInfoOverrides, globalProps.organization),
@@ -369,7 +367,7 @@ var Sidebar = function Sidebar(_ref) {
369
367
  return setIsAppSwitcherOpen(false);
370
368
  },
371
369
  neetoApps: globalProps.neetoApps,
372
- activeApp: capitalize(appName),
370
+ activeApp: strings.capitalize(appName),
373
371
  environment: process.env.RAILS_ENV
374
372
  }));
375
373
  };