@bigbinary/neeto-commons-frontend 2.0.0 → 2.0.1

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/README.md CHANGED
@@ -7,7 +7,7 @@ The commons frontend library for Neeto Applications.
7
7
  Install from npm:
8
8
 
9
9
  ```bash
10
- yarn add "@bigbinary/neeto-commons-frontend@2.0.0"
10
+ yarn add "@bigbinary/neeto-commons-frontend@2.0.1"
11
11
  ```
12
12
 
13
13
  This package relies on the host project's tailwind configuration. So add
package/initializers.js CHANGED
@@ -1,11 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var objects = require('pure/objects');
3
+ var ramda = require('ramda');
4
4
  var neetoui = require('@bigbinary/neetoui');
5
5
  var axios = require('axios');
6
6
  var i18next = require('i18next');
7
- var strings = require('pure/strings');
8
- var ramda = require('ramda');
9
7
  var mixpanel = require('mixpanel-browser');
10
8
  var reactI18next = require('react-i18next');
11
9
 
@@ -15,10 +13,6 @@ var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
15
13
  var i18next__default = /*#__PURE__*/_interopDefaultLegacy(i18next);
16
14
  var mixpanel__default = /*#__PURE__*/_interopDefaultLegacy(mixpanel);
17
15
 
18
- var _document$getElements, _document$getElements2;
19
- window.globalProps = objects.keysToCamelCase(JSON.parse(((_document$getElements = document.getElementsByClassName("root-container")[0]) === null || _document$getElements === void 0 ? void 0 : (_document$getElements2 = _document$getElements.dataset) === null || _document$getElements2 === void 0 ? void 0 : _document$getElements2.reactProps) || "{}"));
20
- objects.deepFreezeObject(window.globalProps);
21
-
22
16
  function _arrayWithHoles(arr) {
23
17
  if (Array.isArray(arr)) return arr;
24
18
  }
@@ -90,6 +84,69 @@ function _typeof(obj) {
90
84
  }, _typeof(obj);
91
85
  }
92
86
 
87
+ var snakeToCamelCase = function snakeToCamelCase(string) {
88
+ return string.replace(/(_\w)/g, function (letter) {
89
+ return letter[1].toUpperCase();
90
+ });
91
+ };
92
+ var camelToSnakeCase = function camelToSnakeCase(string) {
93
+ return string.replace(/[A-Z]/g, function (letter) {
94
+ return "_".concat(letter.toLowerCase());
95
+ });
96
+ };
97
+
98
+ var transformObjectDeep = function transformObjectDeep(object, keyValueTransformer) {
99
+ if (Array.isArray(object)) {
100
+ return object.map(function (obj) {
101
+ return transformObjectDeep(obj, keyValueTransformer);
102
+ });
103
+ } else if (object === null || _typeof(object) !== "object") {
104
+ return object;
105
+ }
106
+
107
+ return Object.fromEntries(Object.entries(object).map(function (_ref) {
108
+ var _ref2 = _slicedToArray(_ref, 2),
109
+ key = _ref2[0],
110
+ value = _ref2[1];
111
+
112
+ return keyValueTransformer(key, transformObjectDeep(value, keyValueTransformer));
113
+ }));
114
+ };
115
+ var keysToCamelCase = function keysToCamelCase(object) {
116
+ return transformObjectDeep(object, function (key, value) {
117
+ return [snakeToCamelCase(key), value];
118
+ });
119
+ };
120
+ var deepFreezeObject = function deepFreezeObject(object) {
121
+ if (object && _typeof(object) === "object" && !Object.isFrozen(object)) {
122
+ Object.keys(object).forEach(function (property) {
123
+ return deepFreezeObject(object[property]);
124
+ });
125
+ Object.freeze(object);
126
+ }
127
+
128
+ return object;
129
+ };
130
+ var matches = ramda.curry(function (pattern, object) {
131
+ var __parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : object;
132
+
133
+ if (object === pattern) return true;
134
+ if (typeof pattern === "function" && pattern(object, __parent)) return true;
135
+ if (ramda.isNil(pattern) || ramda.isNil(object)) return false;
136
+ if (_typeof(pattern) !== "object") return false;
137
+ return Object.entries(pattern).every(function (_ref3) {
138
+ var _ref4 = _slicedToArray(_ref3, 2),
139
+ key = _ref4[0],
140
+ value = _ref4[1];
141
+
142
+ return matches(value, object[key], __parent);
143
+ });
144
+ });
145
+
146
+ var _document$getElements, _document$getElements2;
147
+ window.globalProps = keysToCamelCase(JSON.parse(((_document$getElements = document.getElementsByClassName("root-container")[0]) === null || _document$getElements === void 0 ? void 0 : (_document$getElements2 = _document$getElements.dataset) === null || _document$getElements2 === void 0 ? void 0 : _document$getElements2.reactProps) || "{}"));
148
+ deepFreezeObject(window.globalProps);
149
+
93
150
  function _defineProperty(obj, key, value) {
94
151
  if (key in obj) {
95
152
  Object.defineProperty(obj, key, {
@@ -149,7 +206,7 @@ var handleSuccessResponse = function handleSuccessResponse(response) {
149
206
  showToastr = _response$config$show === void 0 ? true : _response$config$show;
150
207
 
151
208
  if (response.data) {
152
- if (transformResponseCase) response.data = objects.keysToCamelCase(response.data);
209
+ if (transformResponseCase) response.data = keysToCamelCase(response.data);
153
210
 
154
211
  if (showToastr && typeof response.data.notice === "string") {
155
212
  neetoui.Toastr.success(response.data.notice);
@@ -215,7 +272,7 @@ var serializeKeysToSnakeCase = function serializeKeysToSnakeCase(object) {
215
272
  value = _ref2[1];
216
273
 
217
274
  var val = typeof (value === null || value === void 0 ? void 0 : value.toJSON) === "function" ? value.toJSON() : value;
218
- return [strings.camelToSnakeCase(key), serializeKeysToSnakeCase(val)];
275
+ return [camelToSnakeCase(key), serializeKeysToSnakeCase(val)];
219
276
  }));
220
277
  };
221
278
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-commons-frontend",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "description": "A package encapsulating common code across neeto projects including initializers, utility functions, common components and hooks and so on.",
5
5
  "repository": "git@github.com:bigbinary/neeto-commons-frontend.git",
6
6
  "author": "Amaljith K <amaljith.k@bigbinary.com>",
@@ -13,10 +13,10 @@
13
13
  "watch": "rollup -c rollup.config.js --watch"
14
14
  },
15
15
  "files": [
16
- "initializers*.js",
17
- "react*.js",
18
- "utils*.js",
19
- "pure*.js"
16
+ "initializers.*",
17
+ "react-utils.*",
18
+ "utils.*",
19
+ "pure.*"
20
20
  ],
21
21
  "lint-staged": {
22
22
  "**/*.{js,jsx,json}": [
@@ -29,7 +29,7 @@
29
29
  "@babel/preset-env": "^7.17.10",
30
30
  "@babel/preset-react": "^7.16.7",
31
31
  "@bigbinary/neeto-icons": "^1.8.35",
32
- "@bigbinary/neetoui": "^3.5.11",
32
+ "@bigbinary/neetoui": "^3.5.14",
33
33
  "@honeybadger-io/react": "2.0.1",
34
34
  "@rollup/plugin-alias": "^3.1.9",
35
35
  "@rollup/plugin-babel": "^5.3.1",
@@ -77,7 +77,7 @@
77
77
  "dependencies": {},
78
78
  "peerDependencies": {
79
79
  "@bigbinary/neeto-icons": "^1.8.35",
80
- "@bigbinary/neetoui": "^3.5.11",
80
+ "@bigbinary/neetoui": "^3.5.14",
81
81
  "@honeybadger-io/react": "2.0.1",
82
82
  "axios": "^0.27.2",
83
83
  "dayjs": "1.11.1",
package/pure.js CHANGED
@@ -102,9 +102,7 @@ var camelToSnakeCase = function camelToSnakeCase(string) {
102
102
  var capitalize = function capitalize(string) {
103
103
  return string.charAt(0).toUpperCase() + string.slice(1);
104
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;
105
+ var truncate = function truncate(string, length) {
108
106
  return string.length > length ? ramda.concat(ramda.slice(0, length, string), "...") : string;
109
107
  };
110
108
 
@@ -11,7 +11,6 @@ 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');
15
14
  var axios = require('axios');
16
15
  var Yup = require('yup');
17
16
  var formik = require('@bigbinary/neetoui/formik');
@@ -263,6 +262,10 @@ function _slicedToArray(arr, i) {
263
262
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
264
263
  }
265
264
 
265
+ var capitalize = function capitalize(string) {
266
+ return string.charAt(0).toUpperCase() + string.slice(1);
267
+ };
268
+
266
269
  var HEADERS_KEYS = {
267
270
  xAuthEmail: "X-Auth-Email",
268
271
  xAuthToken: "X-Auth-Token",
@@ -353,7 +356,7 @@ var Sidebar = function Sidebar(_ref) {
353
356
  });
354
357
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(layouts.Sidebar, {
355
358
  isCollapsed: true,
356
- appName: "neeto".concat(strings.capitalize(appName)),
359
+ appName: "neeto".concat(capitalize(appName)),
357
360
  navLinks: navLinks,
358
361
  profileInfo: profileInfo,
359
362
  organizationInfo: ramda.mergeLeft(organizationInfoOverrides, globalProps.organization),
@@ -367,7 +370,7 @@ var Sidebar = function Sidebar(_ref) {
367
370
  return setIsAppSwitcherOpen(false);
368
371
  },
369
372
  neetoApps: globalProps.neetoApps,
370
- activeApp: strings.capitalize(appName),
373
+ activeApp: capitalize(appName),
371
374
  environment: process.env.RAILS_ENV
372
375
  }));
373
376
  };
package/utils.js CHANGED
@@ -5,7 +5,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var axios = require('axios');
6
6
  var ramda = require('ramda');
7
7
  var i18next = require('i18next');
8
- var general = require('pure/general');
9
8
  var dayjs = require('dayjs');
10
9
  var relativeTime = require('dayjs/plugin/relativeTime');
11
10
  var updateLocale = require('dayjs/plugin/updateLocale');
@@ -471,6 +470,27 @@ try {
471
470
  }
472
471
  }
473
472
 
473
+ var getRandomInt = function getRandomInt() {
474
+ var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Number.MAX_SAFE_INTEGER;
475
+ var b = arguments.length > 1 ? arguments[1] : undefined;
476
+
477
+ if (b) {
478
+ a = Math.ceil(a);
479
+ b = Math.floor(b);
480
+ } else {
481
+ b = a;
482
+ a = 0;
483
+ }
484
+
485
+ return Math.floor(Math.random() * (b - a) + a);
486
+ };
487
+ ramda.complement(ramda.isNil);
488
+ ramda.complement(ramda.isEmpty);
489
+ ramda.curry(function (x, y) {
490
+ return x !== y;
491
+ });
492
+ ramda.complement(ramda.equals);
493
+
474
494
  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; }
475
495
 
476
496
  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; }
@@ -484,7 +504,7 @@ var getSubdomain = function getSubdomain() {
484
504
  };
485
505
  var simulateApiCall = function simulateApiCall(result, error) {
486
506
  var errorProbability = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0.1;
487
- var delay = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : general.getRandomInt(350, 1000);
507
+ var delay = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : getRandomInt(350, 1000);
488
508
  return new Promise(function (resolve, reject) {
489
509
  return setTimeout(function () {
490
510
  var defaultErrorObj = {