@3plus/redux-api 1.0.5 → 1.1.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.
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ 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); }
3
+ 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; }
4
+ 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; }
5
+ 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; }
6
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
7
+ 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); }
8
+ import { setExpire } from "./utils/cache";
9
+ export default function reducerFn(initialState) {
10
+ var actions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
11
+ var reducer = arguments.length > 2 ? arguments[2] : undefined;
12
+ var actionFetch = actions.actionFetch,
13
+ actionSuccess = actions.actionSuccess,
14
+ actionFail = actions.actionFail,
15
+ actionReset = actions.actionReset,
16
+ actionCache = actions.actionCache,
17
+ actionAbort = actions.actionAbort;
18
+ return function () {
19
+ var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
20
+ var action = arguments.length > 1 ? arguments[1] : undefined;
21
+ var request = action.request || {};
22
+ switch (action.type) {
23
+ case actionFetch:
24
+ return _objectSpread(_objectSpread({}, state), {}, {
25
+ request: request,
26
+ loading: true,
27
+ error: null,
28
+ syncing: !!action.syncing
29
+ });
30
+ case actionSuccess:
31
+ return _objectSpread(_objectSpread({}, state), {}, {
32
+ loading: false,
33
+ sync: true,
34
+ syncing: false,
35
+ error: null,
36
+ data: action.data
37
+ });
38
+ case actionFail:
39
+ return _objectSpread(_objectSpread({}, state), {}, {
40
+ loading: false,
41
+ error: action.error,
42
+ syncing: false
43
+ });
44
+ case actionReset:
45
+ var mutation = action.mutation;
46
+ return mutation === "sync" ? _objectSpread(_objectSpread({}, state), {}, {
47
+ request: null,
48
+ sync: false
49
+ }) : _objectSpread({}, initialState);
50
+ case actionAbort:
51
+ return _objectSpread(_objectSpread({}, state), {}, {
52
+ request: null,
53
+ loading: false,
54
+ syncing: false,
55
+ error: action.error
56
+ });
57
+ case actionCache:
58
+ var id = action.id,
59
+ data = action.data,
60
+ persisted = action.persisted;
61
+ var cacheExpire = state.cache[id] ? state.cache[id].expire : null;
62
+ var expire = setExpire(action.expire, cacheExpire);
63
+ return _objectSpread(_objectSpread({}, state), {}, {
64
+ cache: _objectSpread(_objectSpread({}, state.cache), {}, _defineProperty({}, id, {
65
+ expire: expire,
66
+ data: data,
67
+ persisted: persisted
68
+ }))
69
+ });
70
+ default:
71
+ return reducer ? reducer(state, action) : state;
72
+ }
73
+ };
74
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ var toString = Object.prototype.toString;
4
+ var OBJECT = "[object Object]";
5
+ export default {
6
+ array: function array(data) {
7
+ return !data ? [] : Array.isArray(data) ? data : [data];
8
+ },
9
+ object: function object(data) {
10
+ if (!data) {
11
+ return {};
12
+ }
13
+ return toString.call(data) === OBJECT ? data : {
14
+ data: data
15
+ };
16
+ }
17
+ };
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ 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); }
4
+ 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; }
5
+ 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; }
6
+ 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; }
7
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
8
+ 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); }
9
+ import qs from "qs";
10
+ import omit from "./utils/omit";
11
+ import merge from "./utils/merge";
12
+ var rxClean = /(\(:[^\)]+\)|:[^\/]+\/?)/g;
13
+ export default function urlTransform(url, params, options) {
14
+ if (!url) {
15
+ return "";
16
+ }
17
+ params || (params = {});
18
+ var usedKeys = {};
19
+ var urlWithParams = Object.keys(params).reduce(function (url, key) {
20
+ var value = params[key];
21
+ var rx = new RegExp("(\\(:".concat(key, "\\)|:").concat(key, ")(/?)"), "g");
22
+ return url.replace(rx, function (_, _1, slash) {
23
+ usedKeys[key] = value;
24
+ return value ? value + slash : value;
25
+ });
26
+ }, url);
27
+ if (!urlWithParams) {
28
+ return urlWithParams;
29
+ }
30
+ var protocol, host, pathname;
31
+ try {
32
+ var _URL = new URL(urlWithParams);
33
+ protocol = _URL.protocol;
34
+ host = _URL.host;
35
+ pathname = _URL.pathname;
36
+ } catch (error) {
37
+ var _pathname = {
38
+ pathname: urlWithParams
39
+ };
40
+ protocol = _pathname.protocol;
41
+ host = _pathname.host;
42
+ pathname = _pathname.pathname;
43
+ }
44
+ var cleanURL = host ? "".concat(protocol, "//").concat(host).concat(pathname.replace(rxClean, "")) : pathname.replace(rxClean, "");
45
+ var usedKeysArray = Object.keys(usedKeys);
46
+ if (usedKeysArray.length !== Object.keys(params).length) {
47
+ var urlObject = cleanURL.split("?");
48
+ options || (options = {});
49
+ var _options = options,
50
+ arrayFormat = _options.arrayFormat,
51
+ delimiter = _options.delimiter;
52
+ var qsParseOptions = _objectSpread({
53
+ arrayFormat: arrayFormat,
54
+ delimiter: delimiter
55
+ }, options.qsParseOptions);
56
+ var mergeParams = merge(urlObject[1] && qs.parse(urlObject[1], qsParseOptions), omit(params, usedKeysArray));
57
+ var qsStringifyOptions = _objectSpread({
58
+ arrayFormat: arrayFormat,
59
+ delimiter: delimiter
60
+ }, options.qsStringifyOptions);
61
+ var urlStringParams = qs.stringify(mergeParams, qsStringifyOptions);
62
+ return "".concat(urlObject[0], "?").concat(urlStringParams);
63
+ }
64
+ return cleanURL;
65
+ }
@@ -0,0 +1,84 @@
1
+ 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); }
2
+ 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; }
3
+ 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; }
4
+ 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; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
6
+ 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
+ export var MockNowDate = {
8
+ date: undefined,
9
+ push: function push(date) {
10
+ this.date = date;
11
+ },
12
+ pop: function pop() {
13
+ if (this.date) {
14
+ var d = this.date;
15
+ this.date = undefined;
16
+ return new Date(d);
17
+ } else {
18
+ return new Date();
19
+ }
20
+ }
21
+ };
22
+ export var Manager = {
23
+ expire: false,
24
+ getData: function getData(cache) {
25
+ if (!cache) {
26
+ return;
27
+ }
28
+ var expire = cache.expire,
29
+ data = cache.data;
30
+ if (expire === false || expire === undefined || expire === null) {
31
+ return data;
32
+ }
33
+ if (expire instanceof Date) {
34
+ if (expire.valueOf() > MockNowDate.pop().valueOf()) {
35
+ return data;
36
+ }
37
+ }
38
+ },
39
+ id: function id(params) {
40
+ if (!params) {
41
+ return "";
42
+ }
43
+ return Object.keys(params).reduce(function (memo, key) {
44
+ return memo + "".concat(key, "=").concat(params[key], ";");
45
+ }, "");
46
+ }
47
+ };
48
+ export function setExpire(value, oldDate) {
49
+ var expire = value;
50
+ if (typeof expire === "number" || expire instanceof Number) {
51
+ var d = MockNowDate.pop();
52
+ d.setSeconds(d.getSeconds() + expire);
53
+ expire = d;
54
+ }
55
+ if (oldDate instanceof Date && expire instanceof Date) {
56
+ if (expire.valueOf() < oldDate.valueOf()) {
57
+ expire = oldDate;
58
+ }
59
+ }
60
+ return expire;
61
+ }
62
+ export function getCacheManager(expire, cache) {
63
+ if (expire !== undefined) {
64
+ var ret = _objectSpread(_objectSpread({}, Manager), cache);
65
+ if (ret.expire !== false) {
66
+ ret.expire = setExpire(expire, ret.expire);
67
+ }
68
+ return ret;
69
+ } else if (cache) {
70
+ return _objectSpread(_objectSpread({}, Manager), cache);
71
+ } else {
72
+ return null;
73
+ }
74
+ }
75
+ export default function (cache) {
76
+ if (!cache) {
77
+ return null;
78
+ }
79
+ if (cache === true) {
80
+ return Manager;
81
+ } else {
82
+ return _objectSpread(_objectSpread({}, Manager), cache);
83
+ }
84
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
3
+ 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."); }
4
+ 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; } }
5
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
6
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
7
+ 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; }
8
+ function isEmpty(name) {
9
+ return name === "" || name === null || name === void 0;
10
+ }
11
+ function get(obj) {
12
+ for (var _len = arguments.length, path = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
13
+ path[_key - 1] = arguments[_key];
14
+ }
15
+ return path.reduce(function (memo, name) {
16
+ return Array.isArray(name) ? get.apply(void 0, [memo].concat(_toConsumableArray(name))) : isEmpty(name) ? memo : memo && memo[name];
17
+ }, obj);
18
+ }
19
+ export default get;
@@ -0,0 +1,32 @@
1
+ var toString = Object.prototype.toString;
2
+ var OBJECT = "[object Object]";
3
+ var ARRAY = "[object Array]";
4
+ export function mergePair(a, b) {
5
+ if (a === void 0) {
6
+ return b;
7
+ }
8
+ if (b === void 0) {
9
+ return a;
10
+ }
11
+ var aType = toString.call(a);
12
+ var bType = toString.call(b);
13
+ if (aType === ARRAY) {
14
+ return a.concat(b);
15
+ }
16
+ if (bType === ARRAY) {
17
+ return [a].concat(b);
18
+ }
19
+ if (aType !== OBJECT || bType !== OBJECT) {
20
+ return b;
21
+ }
22
+ return Object.keys(b).reduce(function (memo, key) {
23
+ memo[key] = mergePair(a[key], b[key]);
24
+ return memo;
25
+ }, a);
26
+ }
27
+ export default function () {
28
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
29
+ args[_key] = arguments[_key];
30
+ }
31
+ return args.length ? args.reduce(mergePair) : null;
32
+ }
@@ -0,0 +1,17 @@
1
+ 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); }
2
+ 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; }
3
+ 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; }
4
+ 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; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
6
+ 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
+ export default function (object, props) {
8
+ if (!Array.isArray(props)) {
9
+ return _objectSpread({}, object);
10
+ }
11
+ return Object.keys(object || {}).reduce(function (memo, key) {
12
+ if (props.indexOf(key) === -1) {
13
+ memo[key] = object[key];
14
+ }
15
+ return memo;
16
+ }, {});
17
+ }
package/package.json CHANGED
@@ -1,19 +1,22 @@
1
1
  {
2
2
  "name": "@3plus/redux-api",
3
- "version": "1.0.5",
3
+ "version": "1.1.0",
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
+ "module": "module/index.js",
10
11
  "license": "MIT",
11
12
  "description": "Flux REST API for redux infrastructure",
12
13
  "repository": "http://github.com/3plus/redux-api",
13
14
  "scripts": {
14
15
  "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",
16
+ "mocha": "mocha --require @babel/register test/*_spec.js",
17
+ "build": "npm run build:node && npm run build:module",
18
+ "build:node": "babel src --out-dir lib --env-name node --no-comments --delete-dir-on-start --verbose",
19
+ "build:module": "babel src --out-dir module --env-name module --no-comments --delete-dir-on-start --verbose",
17
20
  "lint": "eslint --quiet ./src",
18
21
  "lint:fix": "npm run lint -- --fix",
19
22
  "prettier:fix": "prettier --write './src/**/*.js'",
@@ -21,9 +24,7 @@
21
24
  "prepare": "husky"
22
25
  },
23
26
  "dependencies": {
24
- "fast-apply": "0.0.3",
25
- "qs": "^6.9.2",
26
- "url": "^0.11.3"
27
+ "qs": "^6.9.2"
27
28
  },
28
29
  "devDependencies": {
29
30
  "@babel/cli": "^7.8.4",
@@ -55,5 +56,11 @@
55
56
  "*.{md,json}": [
56
57
  "prettier --write"
57
58
  ]
58
- }
59
+ },
60
+ "files": [
61
+ "LICENSE.md",
62
+ "README.md",
63
+ "module",
64
+ "lib"
65
+ ]
59
66
  }