@3plus/redux-api 1.0.5 → 1.1.2

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.
@@ -1,26 +1,17 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var toString = Object.prototype.toString;
8
- var OBJECT = "[object Object]";
9
-
10
- /**
11
- * Default responce transformens
12
- */
13
- var _default = exports["default"] = {
14
- array: function array(data) {
3
+ const toString = Object.prototype.toString;
4
+ const OBJECT = "[object Object]";
5
+ export default {
6
+ array(data) {
15
7
  return !data ? [] : Array.isArray(data) ? data : [data];
16
8
  },
17
- object: function object(data) {
9
+ object(data) {
18
10
  if (!data) {
19
11
  return {};
20
12
  }
21
13
  return toString.call(data) === OBJECT ? data : {
22
- data: data
14
+ data
23
15
  };
24
16
  }
25
- };
26
- module.exports = exports.default;
17
+ };
@@ -1,41 +1,19 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = urlTransform;
7
- var _qs = _interopRequireDefault(require("qs"));
8
- var _url = require("url");
9
- var _omit = _interopRequireDefault(require("./utils/omit"));
10
- var _merge = _interopRequireDefault(require("./utils/merge"));
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
12
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
13
- 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; }
14
- 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; }
15
- 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; }
16
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
17
- 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); }
18
- /* eslint no-useless-escape: 0 */
19
- var rxClean = /(\(:[^\)]+\)|:[^\/]+\/?)/g;
20
-
21
- /**
22
- * Url modification
23
- * @param {String} url url template
24
- * @param {Object} params params for url template
25
- * @param {Object} options transformation options, accepts +delimiter+, +arrayFormat+,
26
- * +qsStringifyOptions+ and +qsParseOptions+
27
- * @return {String} result url
28
- */
29
- function urlTransform(url, params, options) {
3
+ import qs from "qs";
4
+ import omit from "./utils/omit";
5
+ import merge from "./utils/merge";
6
+ const rxClean = /(\(:[^\)]+\)|:[^\/]+\/?)/g;
7
+ export default function urlTransform(url, params, options) {
30
8
  if (!url) {
31
9
  return "";
32
10
  }
33
11
  params || (params = {});
34
- var usedKeys = {};
35
- var urlWithParams = Object.keys(params).reduce(function (url, key) {
36
- var value = params[key];
37
- var rx = new RegExp("(\\(:".concat(key, "\\)|:").concat(key, ")(/?)"), "g");
38
- return url.replace(rx, function (_, _1, slash) {
12
+ const usedKeys = {};
13
+ const urlWithParams = Object.keys(params).reduce((url, key) => {
14
+ const value = params[key];
15
+ const rx = new RegExp(`(\\(:${key}\\)|:${key})(\/?)`, "g");
16
+ return url.replace(rx, (_, _1, slash) => {
39
17
  usedKeys[key] = value;
40
18
  return value ? value + slash : value;
41
19
  });
@@ -43,30 +21,44 @@ function urlTransform(url, params, options) {
43
21
  if (!urlWithParams) {
44
22
  return urlWithParams;
45
23
  }
46
- var _parse = (0, _url.parse)(urlWithParams),
47
- protocol = _parse.protocol,
48
- host = _parse.host,
49
- path = _parse.path;
50
- var cleanURL = host ? "".concat(protocol, "//").concat(host).concat(path.replace(rxClean, "")) : path.replace(rxClean, "");
51
- var usedKeysArray = Object.keys(usedKeys);
24
+ let protocol, host, pathname;
25
+ try {
26
+ ({
27
+ protocol,
28
+ host,
29
+ pathname
30
+ } = new URL(urlWithParams));
31
+ } catch (error) {
32
+ ({
33
+ protocol,
34
+ host,
35
+ pathname
36
+ } = {
37
+ pathname: urlWithParams
38
+ });
39
+ }
40
+ const cleanURL = host ? `${protocol}//${host}${pathname.replace(rxClean, "")}` : pathname.replace(rxClean, "");
41
+ const usedKeysArray = Object.keys(usedKeys);
52
42
  if (usedKeysArray.length !== Object.keys(params).length) {
53
- var urlObject = cleanURL.split("?");
43
+ const urlObject = cleanURL.split("?");
54
44
  options || (options = {});
55
- var _options = options,
56
- arrayFormat = _options.arrayFormat,
57
- delimiter = _options.delimiter;
58
- var qsParseOptions = _objectSpread({
59
- arrayFormat: arrayFormat,
60
- delimiter: delimiter
61
- }, options.qsParseOptions);
62
- var mergeParams = (0, _merge["default"])(urlObject[1] && _qs["default"].parse(urlObject[1], qsParseOptions), (0, _omit["default"])(params, usedKeysArray));
63
- var qsStringifyOptions = _objectSpread({
64
- arrayFormat: arrayFormat,
65
- delimiter: delimiter
66
- }, options.qsStringifyOptions);
67
- var urlStringParams = _qs["default"].stringify(mergeParams, qsStringifyOptions);
68
- return "".concat(urlObject[0], "?").concat(urlStringParams);
45
+ const {
46
+ arrayFormat,
47
+ delimiter
48
+ } = options;
49
+ const qsParseOptions = {
50
+ arrayFormat,
51
+ delimiter,
52
+ ...options.qsParseOptions
53
+ };
54
+ const mergeParams = merge(urlObject[1] && qs.parse(urlObject[1], qsParseOptions), omit(params, usedKeysArray));
55
+ const qsStringifyOptions = {
56
+ arrayFormat,
57
+ delimiter,
58
+ ...options.qsStringifyOptions
59
+ };
60
+ const urlStringParams = qs.stringify(mergeParams, qsStringifyOptions);
61
+ return `${urlObject[0]}?${urlStringParams}`;
69
62
  }
70
63
  return cleanURL;
71
- }
72
- module.exports = exports.default;
64
+ }
@@ -1,26 +1,11 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.MockNowDate = exports.Manager = void 0;
7
- exports["default"] = _default;
8
- exports.getCacheManager = getCacheManager;
9
- exports.setExpire = setExpire;
10
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
11
- 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; }
12
- 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; }
13
- 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; }
14
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
15
- 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); }
16
- var MockNowDate = exports.MockNowDate = {
1
+ export const MockNowDate = {
17
2
  date: undefined,
18
- push: function push(date) {
3
+ push(date) {
19
4
  this.date = date;
20
5
  },
21
- pop: function pop() {
6
+ pop() {
22
7
  if (this.date) {
23
- var d = this.date;
8
+ const d = this.date;
24
9
  this.date = undefined;
25
10
  return new Date(d);
26
11
  } else {
@@ -28,14 +13,16 @@ var MockNowDate = exports.MockNowDate = {
28
13
  }
29
14
  }
30
15
  };
31
- var Manager = exports.Manager = {
16
+ export const Manager = {
32
17
  expire: false,
33
- getData: function getData(cache) {
18
+ getData(cache) {
34
19
  if (!cache) {
35
20
  return;
36
21
  }
37
- var expire = cache.expire,
38
- data = cache.data;
22
+ const {
23
+ expire,
24
+ data
25
+ } = cache;
39
26
  if (expire === false || expire === undefined || expire === null) {
40
27
  return data;
41
28
  }
@@ -45,19 +32,17 @@ var Manager = exports.Manager = {
45
32
  }
46
33
  }
47
34
  },
48
- id: function id(params) {
35
+ id(params) {
49
36
  if (!params) {
50
37
  return "";
51
38
  }
52
- return Object.keys(params).reduce(function (memo, key) {
53
- return memo + "".concat(key, "=").concat(params[key], ";");
54
- }, "");
39
+ return Object.keys(params).reduce((memo, key) => memo + `${key}=${params[key]};`, "");
55
40
  }
56
41
  };
57
- function setExpire(value, oldDate) {
58
- var expire = value;
42
+ export function setExpire(value, oldDate) {
43
+ let expire = value;
59
44
  if (typeof expire === "number" || expire instanceof Number) {
60
- var d = MockNowDate.pop();
45
+ const d = MockNowDate.pop();
61
46
  d.setSeconds(d.getSeconds() + expire);
62
47
  expire = d;
63
48
  }
@@ -68,26 +53,35 @@ function setExpire(value, oldDate) {
68
53
  }
69
54
  return expire;
70
55
  }
71
- function getCacheManager(expire, cache) {
56
+ export function getCacheManager(expire, cache) {
72
57
  if (expire !== undefined) {
73
- var ret = _objectSpread(_objectSpread({}, Manager), cache);
58
+ const ret = {
59
+ ...Manager,
60
+ ...cache
61
+ };
74
62
  if (ret.expire !== false) {
75
63
  ret.expire = setExpire(expire, ret.expire);
76
64
  }
77
65
  return ret;
78
66
  } else if (cache) {
79
- return _objectSpread(_objectSpread({}, Manager), cache);
67
+ return {
68
+ ...Manager,
69
+ ...cache
70
+ };
80
71
  } else {
81
72
  return null;
82
73
  }
83
74
  }
84
- function _default(cache) {
75
+ export default function (cache) {
85
76
  if (!cache) {
86
77
  return null;
87
78
  }
88
79
  if (cache === true) {
89
80
  return Manager;
90
81
  } else {
91
- return _objectSpread(_objectSpread({}, Manager), cache);
82
+ return {
83
+ ...Manager,
84
+ ...cache
85
+ };
92
86
  }
93
87
  }
package/lib/utils/get.js CHANGED
@@ -1,26 +1,8 @@
1
1
  "use strict";
2
-
3
- /* eslint no-void: 0 */
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = void 0;
8
- function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
9
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
10
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
11
- function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
12
- function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
13
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
14
2
  function isEmpty(name) {
15
3
  return name === "" || name === null || name === void 0;
16
4
  }
17
- function get(obj) {
18
- for (var _len = arguments.length, path = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
19
- path[_key - 1] = arguments[_key];
20
- }
21
- return path.reduce(function (memo, name) {
22
- return Array.isArray(name) ? get.apply(void 0, [memo].concat(_toConsumableArray(name))) : isEmpty(name) ? memo : memo && memo[name];
23
- }, obj);
5
+ function get(obj, ...path) {
6
+ return path.reduce((memo, name) => Array.isArray(name) ? get(memo, ...name) : isEmpty(name) ? memo : memo && memo[name], obj);
24
7
  }
25
- var _default = exports["default"] = get;
26
- module.exports = exports.default;
8
+ export default get;
@@ -1,23 +1,15 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = _default;
7
- exports.mergePair = mergePair;
8
- /* eslint no-void: 0 */
9
- var toString = Object.prototype.toString;
10
- var OBJECT = "[object Object]";
11
- var ARRAY = "[object Array]";
12
- function mergePair(a, b) {
1
+ const toString = Object.prototype.toString;
2
+ const OBJECT = "[object Object]";
3
+ const ARRAY = "[object Array]";
4
+ export function mergePair(a, b) {
13
5
  if (a === void 0) {
14
6
  return b;
15
7
  }
16
8
  if (b === void 0) {
17
9
  return a;
18
10
  }
19
- var aType = toString.call(a);
20
- var bType = toString.call(b);
11
+ const aType = toString.call(a);
12
+ const bType = toString.call(b);
21
13
  if (aType === ARRAY) {
22
14
  return a.concat(b);
23
15
  }
@@ -27,14 +19,11 @@ function mergePair(a, b) {
27
19
  if (aType !== OBJECT || bType !== OBJECT) {
28
20
  return b;
29
21
  }
30
- return Object.keys(b).reduce(function (memo, key) {
22
+ return Object.keys(b).reduce((memo, key) => {
31
23
  memo[key] = mergePair(a[key], b[key]);
32
24
  return memo;
33
25
  }, a);
34
26
  }
35
- function _default() {
36
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
37
- args[_key] = arguments[_key];
38
- }
27
+ export default function (...args) {
39
28
  return args.length ? args.reduce(mergePair) : null;
40
29
  }
package/lib/utils/omit.js CHANGED
@@ -1,24 +1,13 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = _default;
7
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
8
- 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; }
9
- 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; }
10
- 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; }
11
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
12
- 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); }
13
- function _default(object, props) {
1
+ export default function (object, props) {
14
2
  if (!Array.isArray(props)) {
15
- return _objectSpread({}, object);
3
+ return {
4
+ ...object
5
+ };
16
6
  }
17
- return Object.keys(object || {}).reduce(function (memo, key) {
7
+ return Object.keys(object || {}).reduce((memo, key) => {
18
8
  if (props.indexOf(key) === -1) {
19
9
  memo[key] = object[key];
20
10
  }
21
11
  return memo;
22
12
  }, {});
23
- }
24
- module.exports = exports.default;
13
+ }
package/package.json CHANGED
@@ -1,19 +1,23 @@
1
1
  {
2
2
  "name": "@3plus/redux-api",
3
- "version": "1.0.5",
3
+ "version": "1.1.2",
4
4
  "author": {
5
5
  "name": "Efremov Alex",
6
6
  "email": "lexich121@gmail.com",
7
7
  "url": "https://github.com/lexich"
8
8
  },
9
9
  "main": "lib/index.js",
10
+ "type": "module",
10
11
  "license": "MIT",
11
12
  "description": "Flux REST API for redux infrastructure",
12
13
  "repository": "http://github.com/3plus/redux-api",
14
+ "engines": {
15
+ "node": ">=18.0.0"
16
+ },
13
17
  "scripts": {
14
18
  "test": "npm run eslint && npm run mocha",
15
- "mocha": "node_modules/.bin/mocha --require @babel/register test/*_spec.js",
16
- "build": "node_modules/.bin/babel src --out-dir lib --delete-dir-on-start --verbose",
19
+ "mocha": "mocha --require @babel/register test/*_spec.js",
20
+ "build": "babel src --out-dir lib --no-comments --delete-dir-on-start --verbose",
17
21
  "lint": "eslint --quiet ./src",
18
22
  "lint:fix": "npm run lint -- --fix",
19
23
  "prettier:fix": "prettier --write './src/**/*.js'",
@@ -21,16 +25,13 @@
21
25
  "prepare": "husky"
22
26
  },
23
27
  "dependencies": {
24
- "fast-apply": "0.0.3",
25
- "qs": "^6.9.2",
26
- "url": "^0.11.3"
28
+ "qs": "^6.9.2"
27
29
  },
28
30
  "devDependencies": {
29
31
  "@babel/cli": "^7.8.4",
30
32
  "@babel/core": "^7.8.4",
31
33
  "@babel/eslint-parser": "^7.24.7",
32
34
  "@babel/preset-env": "^7.8.4",
33
- "babel-plugin-add-module-exports": "^1.0.4",
34
35
  "chai": "4.2.0",
35
36
  "eslint": "^8.2.0",
36
37
  "eslint-config-airbnb": "19.0.4",
@@ -55,5 +56,10 @@
55
56
  "*.{md,json}": [
56
57
  "prettier --write"
57
58
  ]
58
- }
59
+ },
60
+ "files": [
61
+ "LICENSE.md",
62
+ "README.md",
63
+ "lib"
64
+ ]
59
65
  }