@cashub/utils 1.0.1 → 1.2.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/check/index.js CHANGED
@@ -39,10 +39,17 @@ Object.defineProperty(exports, "isValidUrl", {
39
39
  return _isValidUrl.default;
40
40
  }
41
41
  });
42
+ Object.defineProperty(exports, "isValidXML", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _isValidXML.default;
46
+ }
47
+ });
42
48
  var _isContainSpace = _interopRequireDefault(require("./isContainSpace"));
43
49
  var _isInteger = _interopRequireDefault(require("./isInteger"));
44
50
  var _isValidEmail = _interopRequireDefault(require("./isValidEmail"));
45
51
  var _isValidPassword = _interopRequireDefault(require("./isValidPassword"));
46
52
  var _isValidTelephone = _interopRequireDefault(require("./isValidTelephone"));
47
53
  var _isValidUrl = _interopRequireDefault(require("./isValidUrl"));
54
+ var _isValidXML = _interopRequireDefault(require("./isValidXML"));
48
55
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ const isValidXML = xmlString => {
8
+ const parser = new DOMParser();
9
+ const xmlDoc = parser.parseFromString(xmlString, 'text/xml');
10
+ const parseError = xmlDoc.getElementsByTagName('parsererror');
11
+
12
+ // 1. parseError tag can find error for first letter is number, or tag include space or colon
13
+ if (parseError.length > 0) {
14
+ return false;
15
+ }
16
+ const allElements = xmlDoc.getElementsByTagName('*');
17
+ for (let index = 0; index < allElements.length; index = index + 1) {
18
+ const {
19
+ tagName
20
+ } = allElements[index];
21
+
22
+ // 2. find error for tag include dot or hyphen
23
+ if (/[.-]/.test(tagName)) {
24
+ return false;
25
+ }
26
+
27
+ // 3. tag should not start with xml, and can start with english letters, after first letter allow number and underline
28
+ const tagRegex = /^(?!xml)[A-Za-z][A-Za-z0-9_]*$/i;
29
+ if (!tagRegex.test(tagName)) {
30
+ return false;
31
+ }
32
+ }
33
+ return true;
34
+ };
35
+ var _default = exports.default = isValidXML;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ const closeCurrentWindow = () => {
8
+ window.open('', '_self');
9
+ window.close();
10
+ };
11
+ var _default = exports.default = closeCurrentWindow;
package/format/index.js CHANGED
@@ -33,9 +33,16 @@ Object.defineProperty(exports, "formatSize", {
33
33
  return _formatSize.default;
34
34
  }
35
35
  });
36
+ Object.defineProperty(exports, "trimObjectValues", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _trimObjectValues.default;
40
+ }
41
+ });
36
42
  var _datetimeFormat = _interopRequireDefault(require("./datetimeFormat"));
37
43
  var _formatDate = _interopRequireDefault(require("./formatDate"));
38
44
  var _formatPrice = _interopRequireDefault(require("./formatPrice"));
39
45
  var _formatSize = _interopRequireDefault(require("./formatSize"));
40
46
  var _convertSecondsToTimeFormat = _interopRequireDefault(require("./convertSecondsToTimeFormat"));
47
+ var _trimObjectValues = _interopRequireDefault(require("./trimObjectValues"));
41
48
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ const trimObjectValues = object => {
8
+ Object.keys(object).forEach(key => {
9
+ if (typeof object[key] === 'string') {
10
+ object[key] = object[key].trim();
11
+ } else if (object[key] !== null && typeof object[key] === 'object' && !Array.isArray(object[key])) {
12
+ trimObjectValues(object[key]);
13
+ }
14
+ });
15
+ };
16
+ var _default = exports.default = trimObjectValues;
package/index.js CHANGED
@@ -4,8 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  var _exportNames = {
7
+ closeCurrentWindow: true,
7
8
  copyToClipboard: true
8
9
  };
10
+ Object.defineProperty(exports, "closeCurrentWindow", {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _closeCurrentWindow.default;
14
+ }
15
+ });
9
16
  Object.defineProperty(exports, "copyToClipboard", {
10
17
  enumerable: true,
11
18
  get: function () {
@@ -168,5 +175,6 @@ Object.keys(_xmlFormatter).forEach(function (key) {
168
175
  }
169
176
  });
170
177
  });
178
+ var _closeCurrentWindow = _interopRequireDefault(require("./closeCurrentWindow"));
171
179
  var _copyToClipboard = _interopRequireDefault(require("./copyToClipboard"));
172
180
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ const deepMergeObject = (mergeTo, mergeFrom, removeOriginalValue, defaultValue) => {
8
+ if (!mergeFrom && removeOriginalValue) {
9
+ return defaultValue;
10
+ }
11
+ const result = {};
12
+ Object.entries(mergeTo).forEach(_ref => {
13
+ let [key, value] = _ref;
14
+ if (!mergeFrom) {
15
+ // from object is empty
16
+ result[key] = value;
17
+ } else if (mergeTo[key] !== null && typeof mergeTo[key] === 'object' && !Array.isArray(mergeTo[key])) {
18
+ // merge nested object
19
+ result[key] = deepMergeObject(mergeTo[key], mergeFrom[key], removeOriginalValue);
20
+ } else if (key in mergeFrom) {
21
+ result[key] = mergeFrom[key];
22
+ } else {
23
+ result[key] = removeOriginalValue ? defaultValue : value;
24
+ }
25
+ });
26
+ return result;
27
+ };
28
+ var _default = exports.default = deepMergeObject;
package/object/index.js CHANGED
@@ -3,6 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "deepMergeObject", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _deepMergeObject.default;
10
+ }
11
+ });
6
12
  Object.defineProperty(exports, "mergeArrayObject", {
7
13
  enumerable: true,
8
14
  get: function () {
@@ -21,6 +27,7 @@ Object.defineProperty(exports, "mergeObject", {
21
27
  return _mergeObject.default;
22
28
  }
23
29
  });
30
+ var _deepMergeObject = _interopRequireDefault(require("./deepMergeObject"));
24
31
  var _mergeArrayObject = _interopRequireDefault(require("./mergeArrayObject"));
25
32
  var _mergeArrayObjectWithOrder = _interopRequireDefault(require("./mergeArrayObjectWithOrder"));
26
33
  var _mergeObject = _interopRequireDefault(require("./mergeObject"));
@@ -4,21 +4,21 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ 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; }
8
+ 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) { _defineProperty(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; }
9
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
10
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
11
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
12
  const mergeArrayObject = (mergeTo, mergeFrom, key) => {
8
13
  if (!key || !mergeFrom) return mergeTo;
9
14
  return mergeTo.map(item => {
10
15
  let newOption = {};
11
16
  for (let index = 0; index < mergeFrom.length; index += 1) {
12
17
  if (item[key] === mergeFrom[index][key]) {
13
- newOption = {
14
- ...item,
15
- ...mergeFrom[index]
16
- };
18
+ newOption = _objectSpread(_objectSpread({}, item), mergeFrom[index]);
17
19
  break;
18
20
  } else if (index === mergeFrom.length - 1) {
19
- newOption = {
20
- ...item
21
- };
21
+ newOption = _objectSpread({}, item);
22
22
  }
23
23
  }
24
24
  return newOption;
@@ -4,6 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ 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; }
8
+ 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) { _defineProperty(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; }
9
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
10
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
11
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
12
  const mergeArrayObjectWithOrder = (mergeTo, mergeFrom, key) => {
8
13
  if (!key || !mergeFrom) return mergeTo;
9
14
  const mergedArray = [];
@@ -11,10 +16,7 @@ const mergeArrayObjectWithOrder = (mergeTo, mergeFrom, key) => {
11
16
  mergeFrom.forEach(item => {
12
17
  for (let index = 0; index < mergeTo.length; index += 1) {
13
18
  if (item[key] === mergeTo[index][key]) {
14
- mergedArray.push({
15
- ...mergeTo[index],
16
- ...item
17
- });
19
+ mergedArray.push(_objectSpread(_objectSpread({}, mergeTo[index]), item));
18
20
  }
19
21
  }
20
22
  });
@@ -25,9 +27,7 @@ const mergeArrayObjectWithOrder = (mergeTo, mergeFrom, key) => {
25
27
  if (item[key] === mergeFrom[index][key]) {
26
28
  break;
27
29
  } else if (index === mergeFrom.length - 1) {
28
- mergedArray.push({
29
- ...item
30
- });
30
+ mergedArray.push(_objectSpread({}, item));
31
31
  }
32
32
  }
33
33
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cashub/utils",
3
- "version": "1.0.1",
3
+ "version": "1.2.0",
4
4
  "private": false,
5
5
  "author": "CasHUB Team",
6
6
  "description": "CasHUB utils library",
@@ -6,29 +6,29 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  const replaceNonLatinSymbol = text => {
8
8
  let replaced = text;
9
- replaced = replaced.replace(/\uFF01/gu, '!');
10
- replaced = replaced.replace(/\uFFE5/gu, '$');
11
- replaced = replaced.replace(/\uFF0C/gu, ',');
12
- replaced = replaced.replace(/\u3002/gu, '.');
13
- replaced = replaced.replace(/\u2014\u2014/gu, '_');
14
- replaced = replaced.replace(/\u00D7/gu, '*');
15
- replaced = replaced.replace(/\u2026\u2026/gu, '^');
16
- replaced = replaced.replace(/\uFF5E/gu, '~');
17
- replaced = replaced.replace(/\u00B7/gu, '`');
18
- replaced = replaced.replace(/\uFF08/gu, '(');
19
- replaced = replaced.replace(/\uFF09/gu, ')');
20
- replaced = replaced.replace(/\u300E/gu, '{');
21
- replaced = replaced.replace(/\u300F/gu, '}');
22
- replaced = replaced.replace(/\u3010/gu, '[');
23
- replaced = replaced.replace(/\u3011/gu, ']');
24
- replaced = replaced.replace(/\u3001/gu, '\\');
25
- replaced = replaced.replace(/\uFF1A/gu, ':');
26
- replaced = replaced.replace(/\uFF1B/gu, ';');
27
- replaced = replaced.replace(/\u201C/gu, '"');
28
- replaced = replaced.replace(/\u300A/gu, '<');
29
- replaced = replaced.replace(/\u300B/gu, '>');
30
- replaced = replaced.replace(/\u2018/gu, "'");
31
- replaced = replaced.replace(/\uFF1F/gu, '?');
9
+ replaced = replaced.replace(/\uFF01/g, '!');
10
+ replaced = replaced.replace(/\uFFE5/g, '$');
11
+ replaced = replaced.replace(/\uFF0C/g, ',');
12
+ replaced = replaced.replace(/\u3002/g, '.');
13
+ replaced = replaced.replace(/\u2014\u2014/g, '_');
14
+ replaced = replaced.replace(/\xD7/g, '*');
15
+ replaced = replaced.replace(/\u2026\u2026/g, '^');
16
+ replaced = replaced.replace(/\uFF5E/g, '~');
17
+ replaced = replaced.replace(/\xB7/g, '`');
18
+ replaced = replaced.replace(/\uFF08/g, '(');
19
+ replaced = replaced.replace(/\uFF09/g, ')');
20
+ replaced = replaced.replace(/\u300E/g, '{');
21
+ replaced = replaced.replace(/\u300F/g, '}');
22
+ replaced = replaced.replace(/\u3010/g, '[');
23
+ replaced = replaced.replace(/\u3011/g, ']');
24
+ replaced = replaced.replace(/\u3001/g, '\\');
25
+ replaced = replaced.replace(/\uFF1A/g, ':');
26
+ replaced = replaced.replace(/\uFF1B/g, ';');
27
+ replaced = replaced.replace(/\u201C/g, '"');
28
+ replaced = replaced.replace(/\u300A/g, '<');
29
+ replaced = replaced.replace(/\u300B/g, '>');
30
+ replaced = replaced.replace(/\u2018/g, "'");
31
+ replaced = replaced.replace(/\uFF1F/g, '?');
32
32
  return replaced;
33
33
  };
34
34
  var _default = exports.default = replaceNonLatinSymbol;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ const getDomainWithoutSubdomain = url => {
8
+ const urlParts = new URL(url).hostname.split('.');
9
+ return urlParts.slice(0).slice(-(urlParts.length === 4 ? 3 : 2)).join('.');
10
+ };
11
+ var _default = exports.default = getDomainWithoutSubdomain;
package/url/index.js CHANGED
@@ -3,11 +3,18 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "getDomainWithoutSubdomain", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _getDomainWithoutSubdomain.default;
10
+ }
11
+ });
6
12
  Object.defineProperty(exports, "urlParameters", {
7
13
  enumerable: true,
8
14
  get: function () {
9
15
  return _urlParameters.default;
10
16
  }
11
17
  });
18
+ var _getDomainWithoutSubdomain = _interopRequireDefault(require("./getDomainWithoutSubdomain"));
12
19
  var _urlParameters = _interopRequireDefault(require("./urlParameters"));
13
20
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }