@3plus/redux-api 1.0.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchResolver.js","names":["Object","defineProperty","exports","value","fetchResolver","none","index","arguments","length","undefined","opts","cb","prefetch","err","module","default"],"sources":["../src/fetchResolver.js"],"sourcesContent":["\"use strict\";\n\nfunction none() {}\n\nexport default function fetchResolver(index = 0, opts = {}, cb = none) {\n if (!opts.prefetch || index >= opts.prefetch.length) {\n cb();\n } else {\n opts.prefetch[index](opts, err =>\n err ? cb(err) : fetchResolver(index + 1, opts, cb)\n );\n }\n}\n"],"mappings":"AAAA,YAAY;;AAACA,MAAA,CAAAC,cAAA,CAAAC,OAAA;EAAAC,KAAA;AAAA;AAAAD,OAAA,cAAAE,aAAA;AAEb,SAASC,IAAIA,CAAA,EAAG,CAAC;AAEF,SAASD,aAAaA,CAAA,EAAkC;EAAA,IAAjCE,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAAA,IAAEG,IAAI,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,IAAEI,EAAE,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGF,IAAI;EACnE,IAAI,CAACK,IAAI,CAACE,QAAQ,IAAIN,KAAK,IAAII,IAAI,CAACE,QAAQ,CAACJ,MAAM,EAAE;IACnDG,EAAE,CAAC,CAAC;EACN,CAAC,MAAM;IACLD,IAAI,CAACE,QAAQ,CAACN,KAAK,CAAC,CAACI,IAAI,EAAE,UAAAG,GAAG;MAAA,OAC5BA,GAAG,GAAGF,EAAE,CAACE,GAAG,CAAC,GAAGT,aAAa,CAACE,KAAK,GAAG,CAAC,EAAEI,IAAI,EAAEC,EAAE,CAAC;IAAA,CACpD,CAAC;EACH;AACF;AAACG,MAAA,CAAAZ,OAAA,GAAAA,OAAA,CAAAa,OAAA","ignoreList":[]}
package/lib/helpers.js ADDED
@@ -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
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.CRUD = void 0;
8
+ exports.defaultMiddlewareArgsParser = defaultMiddlewareArgsParser;
9
+ exports.extractArgs = extractArgs;
10
+ exports.helperCrudFunction = helperCrudFunction;
11
+ exports.none = none;
12
+ 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; }
13
+ 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; }
14
+ 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; }
15
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
16
+ 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); }
17
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
18
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
19
+ 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; } }
20
+ 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; }
21
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
22
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
23
+ function none() {}
24
+ function extractArgs(args) {
25
+ var pathvars;
26
+ var params = {};
27
+ var callback;
28
+ if (args[0] instanceof Function) {
29
+ callback = args[0];
30
+ } else if (args[1] instanceof Function) {
31
+ pathvars = args[0];
32
+ callback = args[1];
33
+ } else {
34
+ pathvars = args[0];
35
+ params = args[1];
36
+ callback = args[2] || none;
37
+ }
38
+ return [pathvars, params, callback];
39
+ }
40
+ function helperCrudFunction(name) {
41
+ return function () {
42
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
43
+ args[_key] = arguments[_key];
44
+ }
45
+ var _extractArgs = extractArgs(args),
46
+ _extractArgs2 = _slicedToArray(_extractArgs, 3),
47
+ pathvars = _extractArgs2[0],
48
+ params = _extractArgs2[1],
49
+ cb = _extractArgs2[2];
50
+ return [pathvars, _objectSpread(_objectSpread({}, params), {}, {
51
+ method: name.toUpperCase()
52
+ }), cb];
53
+ };
54
+ }
55
+ function defaultMiddlewareArgsParser(dispatch, getState) {
56
+ return {
57
+ dispatch: dispatch,
58
+ getState: getState
59
+ };
60
+ }
61
+ var CRUD = exports.CRUD = ["get", "post", "put", "delete", "patch"].reduce(function (memo, name) {
62
+ memo[name] = helperCrudFunction(name);
63
+ return memo;
64
+ }, {});
65
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","names":["none","extractArgs","args","pathvars","params","callback","Function","helperCrudFunction","name","_len","arguments","length","Array","_key","_extractArgs","_extractArgs2","_slicedToArray","cb","_objectSpread","method","toUpperCase","defaultMiddlewareArgsParser","dispatch","getState","CRUD","exports","reduce","memo"],"sources":["../src/helpers.js"],"sourcesContent":["export function none() {}\n\nexport function extractArgs(args) {\n let pathvars;\n let params = {};\n let callback;\n if (args[0] instanceof Function) {\n callback = args[0];\n } else if (args[1] instanceof Function) {\n pathvars = args[0];\n callback = args[1];\n } else {\n pathvars = args[0];\n params = args[1];\n callback = args[2] || none;\n }\n return [pathvars, params, callback];\n}\n\nexport function helperCrudFunction(name) {\n return (...args) => {\n const [pathvars, params, cb] = extractArgs(args);\n return [pathvars, { ...params, method: name.toUpperCase() }, cb];\n };\n}\n\nexport function defaultMiddlewareArgsParser(dispatch, getState) {\n return { dispatch, getState };\n}\n\nexport const CRUD = [\"get\", \"post\", \"put\", \"delete\", \"patch\"].reduce(\n (memo, name) => {\n memo[name] = helperCrudFunction(name);\n return memo;\n },\n {}\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAO,SAASA,IAAIA,CAAA,EAAG,CAAC;AAEjB,SAASC,WAAWA,CAACC,IAAI,EAAE;EAChC,IAAIC,QAAQ;EACZ,IAAIC,MAAM,GAAG,CAAC,CAAC;EACf,IAAIC,QAAQ;EACZ,IAAIH,IAAI,CAAC,CAAC,CAAC,YAAYI,QAAQ,EAAE;IAC/BD,QAAQ,GAAGH,IAAI,CAAC,CAAC,CAAC;EACpB,CAAC,MAAM,IAAIA,IAAI,CAAC,CAAC,CAAC,YAAYI,QAAQ,EAAE;IACtCH,QAAQ,GAAGD,IAAI,CAAC,CAAC,CAAC;IAClBG,QAAQ,GAAGH,IAAI,CAAC,CAAC,CAAC;EACpB,CAAC,MAAM;IACLC,QAAQ,GAAGD,IAAI,CAAC,CAAC,CAAC;IAClBE,MAAM,GAAGF,IAAI,CAAC,CAAC,CAAC;IAChBG,QAAQ,GAAGH,IAAI,CAAC,CAAC,CAAC,IAAIF,IAAI;EAC5B;EACA,OAAO,CAACG,QAAQ,EAAEC,MAAM,EAAEC,QAAQ,CAAC;AACrC;AAEO,SAASE,kBAAkBA,CAACC,IAAI,EAAE;EACvC,OAAO,YAAa;IAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAATT,IAAI,OAAAU,KAAA,CAAAH,IAAA,GAAAI,IAAA,MAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA;MAAJX,IAAI,CAAAW,IAAA,IAAAH,SAAA,CAAAG,IAAA;IAAA;IACb,IAAAC,YAAA,GAA+Bb,WAAW,CAACC,IAAI,CAAC;MAAAa,aAAA,GAAAC,cAAA,CAAAF,YAAA;MAAzCX,QAAQ,GAAAY,aAAA;MAAEX,MAAM,GAAAW,aAAA;MAAEE,EAAE,GAAAF,aAAA;IAC3B,OAAO,CAACZ,QAAQ,EAAAe,aAAA,CAAAA,aAAA,KAAOd,MAAM;MAAEe,MAAM,EAAEX,IAAI,CAACY,WAAW,CAAC;IAAC,IAAIH,EAAE,CAAC;EAClE,CAAC;AACH;AAEO,SAASI,2BAA2BA,CAACC,QAAQ,EAAEC,QAAQ,EAAE;EAC9D,OAAO;IAAED,QAAQ,EAARA,QAAQ;IAAEC,QAAQ,EAARA;EAAS,CAAC;AAC/B;AAEO,IAAMC,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAACE,MAAM,CAClE,UAACC,IAAI,EAAEnB,IAAI,EAAK;EACdmB,IAAI,CAACnB,IAAI,CAAC,GAAGD,kBAAkB,CAACC,IAAI,CAAC;EACrC,OAAOmB,IAAI;AACb,CAAC,EACD,CAAC,CACH,CAAC","ignoreList":[]}
package/lib/index.js ADDED
@@ -0,0 +1,183 @@
1
+ "use strict";
2
+
3
+ /* eslint no-void: 0 */
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = reduxApi;
8
+ var _reducerFn = _interopRequireDefault(require("./reducerFn"));
9
+ var _actionFn = _interopRequireDefault(require("./actionFn"));
10
+ var _transformers = _interopRequireDefault(require("./transformers"));
11
+ var _async = _interopRequireDefault(require("./async"));
12
+ var _cache = _interopRequireDefault(require("./utils/cache"));
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
14
+ 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; }
15
+ 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; }
16
+ 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; }
17
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
18
+ 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); }
19
+ 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); }
20
+ // export { transformers, async };
21
+
22
+ /**
23
+ * Default configuration for each endpoint
24
+ * @type {Object}
25
+ */
26
+ var defaultEndpointConfig = {
27
+ transformer: _transformers["default"].object
28
+ };
29
+ var PREFIX = "@@redux-api";
30
+ /**
31
+ * Entry api point
32
+ * @param {Object} config Rest api configuration
33
+ * @param {Object} baseConfig baseConfig settings for Rest api
34
+ * @param {Function} fetch Adapter for rest requests
35
+ * @param {Boolean} isServer false by default (fif you want to use it for isomorphic apps)
36
+ * @return {actions, reducers} { actions, reducers}
37
+ * @example ```js
38
+ * const api = reduxApi({
39
+ * test: "/plain/url",
40
+ * testItem: "/plain/url/:id",
41
+ * testModify: {
42
+ * url: "/plain/url/:endpoint",
43
+
44
+ * transformer: (data)=> !data ?
45
+ * { title: "", message: "" } :
46
+ * { title: data.title, message: data.message },
47
+ * options: {
48
+ * method: "post"
49
+ * headers: {
50
+ * "Accept": "application/json",
51
+ * "Content-Type": "application/json"
52
+ * }
53
+ * }
54
+ * }
55
+ * });
56
+ * // register reducers
57
+ *
58
+ * // call actions
59
+ * dispatch(api.actions.test());
60
+ * dispatch(api.actions.testItem({id: 1}));
61
+ * dispatch(api.actions.testModify({endpoint: "upload-1"}, {
62
+ * body: JSON.stringify({title: "Hello", message: "World"})
63
+ * }));
64
+ * ```
65
+ */
66
+
67
+ function reduxApi(config, baseConfig) {
68
+ config || (config = {});
69
+ var fetchHolder = {
70
+ fetch: null,
71
+ server: false,
72
+ rootUrl: null,
73
+ middlewareParser: null,
74
+ options: {},
75
+ responseHandler: null
76
+ };
77
+ var cfg = {
78
+ use: function use(key, value) {
79
+ fetchHolder[key] = value;
80
+ return this;
81
+ },
82
+ init: function init(fetch) {
83
+ var isServer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
84
+ var rootUrl = arguments.length > 2 ? arguments[2] : undefined;
85
+ /* eslint no-console: 0 */
86
+ console.warn("Deprecated method, use `use` method");
87
+ this.use("fetch", fetch);
88
+ this.use("server", isServer);
89
+ this.use("rootUrl", rootUrl);
90
+ return this;
91
+ },
92
+ actions: {},
93
+ reducers: {},
94
+ events: {}
95
+ };
96
+ function fnConfigCallback(memo, value, key) {
97
+ var opts = _typeof(value) === "object" ? _objectSpread(_objectSpread({}, defaultEndpointConfig), {}, {
98
+ reducerName: key
99
+ }, value) : _objectSpread(_objectSpread({}, defaultEndpointConfig), {}, {
100
+ reducerName: key,
101
+ url: value
102
+ });
103
+ if (opts.broadcast !== void 0) {
104
+ /* eslint no-console: 0 */
105
+ console.warn("Deprecated `broadcast` option. you shoud use `events`" + "to catch redux-api events (see https://github.com/3plus/redux-api/blob/master/DOCS.md#Events)");
106
+ }
107
+ var url = opts.url,
108
+ urlOptions = opts.urlOptions,
109
+ options = opts.options,
110
+ transformer = opts.transformer,
111
+ broadcast = opts.broadcast,
112
+ crud = opts.crud,
113
+ reducerName = opts.reducerName,
114
+ prefetch = opts.prefetch,
115
+ postfetch = opts.postfetch,
116
+ validation = opts.validation,
117
+ helpers = opts.helpers;
118
+ var prefix = baseConfig && baseConfig.prefix || "";
119
+ var ACTIONS = {
120
+ actionFetch: "".concat(PREFIX, "@").concat(prefix).concat(reducerName),
121
+ actionSuccess: "".concat(PREFIX, "@").concat(prefix).concat(reducerName, "_success"),
122
+ actionFail: "".concat(PREFIX, "@").concat(prefix).concat(reducerName, "_fail"),
123
+ actionReset: "".concat(PREFIX, "@").concat(prefix).concat(reducerName, "_delete"),
124
+ actionCache: "".concat(PREFIX, "@").concat(prefix).concat(reducerName, "_cache"),
125
+ actionAbort: "".concat(PREFIX, "@").concat(prefix).concat(reducerName, "_abort")
126
+ };
127
+ var fetch = opts.fetch ? opts.fetch : function () {
128
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
129
+ args[_key] = arguments[_key];
130
+ }
131
+ return fetchHolder.fetch.apply(this, args);
132
+ };
133
+ var meta = {
134
+ holder: fetchHolder,
135
+ virtual: !!opts.virtual,
136
+ actions: memo.actions,
137
+ cache: (0, _cache["default"])(opts.cache),
138
+ urlOptions: urlOptions,
139
+ fetch: fetch,
140
+ broadcast: broadcast,
141
+ reducerName: reducerName,
142
+ prefetch: prefetch,
143
+ postfetch: postfetch,
144
+ validation: validation,
145
+ helpers: helpers,
146
+ transformer: transformer,
147
+ prefix: prefix,
148
+ crud: crud
149
+ };
150
+ memo.actions[key] = (0, _actionFn["default"])(url, key, options, ACTIONS, meta);
151
+ if (!meta.virtual && !memo.reducers[reducerName]) {
152
+ var data = transformer();
153
+ var sync = false;
154
+ var syncing = false;
155
+ var loading = false;
156
+ var initialState = opts.cache ? {
157
+ sync: sync,
158
+ syncing: syncing,
159
+ loading: loading,
160
+ data: data,
161
+ cache: {},
162
+ request: null
163
+ } : {
164
+ sync: sync,
165
+ syncing: syncing,
166
+ loading: loading,
167
+ data: data,
168
+ request: null
169
+ };
170
+ var reducer = opts.reducer ? opts.reducer.bind(memo) : null;
171
+ memo.reducers[reducerName] = (0, _reducerFn["default"])(initialState, ACTIONS, reducer);
172
+ }
173
+ memo.events[reducerName] = ACTIONS;
174
+ return memo;
175
+ }
176
+ return Object.keys(config).reduce(function (memo, key) {
177
+ return fnConfigCallback(memo, config[key], key, config);
178
+ }, cfg);
179
+ }
180
+ reduxApi.transformers = _transformers["default"];
181
+ reduxApi.async = _async["default"];
182
+ module.exports = exports.default;
183
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["Object","defineProperty","exports","value","reduxApi","_reducerFn","_interopRequireDefault","require","_actionFn","_transformers","_async","_cache","e","__esModule","ownKeys","r","t","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","i","_toPrimitive","_typeof","Symbol","toPrimitive","call","TypeError","String","Number","iterator","constructor","prototype","defaultEndpointConfig","transformer","transformers","object","PREFIX","config","baseConfig","fetchHolder","fetch","server","rootUrl","middlewareParser","options","responseHandler","cfg","use","key","init","isServer","undefined","console","warn","actions","reducers","events","fnConfigCallback","memo","opts","reducerName","url","broadcast","urlOptions","crud","prefetch","postfetch","validation","helpers","prefix","ACTIONS","actionFetch","concat","actionSuccess","actionFail","actionReset","actionCache","actionAbort","_len","args","Array","_key","meta","holder","virtual","cache","cacheManager","actionFn","data","sync","syncing","loading","initialState","request","reducer","bind","reducerFn","reduce","async","module","default"],"sources":["../src/index.js"],"sourcesContent":["\"use strict\";\n\n/* eslint no-void: 0 */\n\nimport reducerFn from \"./reducerFn\";\nimport actionFn from \"./actionFn\";\nimport transformers from \"./transformers\";\nimport async from \"./async\";\nimport cacheManager from \"./utils/cache\";\n// export { transformers, async };\n\n/**\n * Default configuration for each endpoint\n * @type {Object}\n */\nconst defaultEndpointConfig = {\n transformer: transformers.object\n};\n\nconst PREFIX = \"@@redux-api\";\n/**\n * Entry api point\n * @param {Object} config Rest api configuration\n * @param {Object} baseConfig baseConfig settings for Rest api\n * @param {Function} fetch Adapter for rest requests\n * @param {Boolean} isServer false by default (fif you want to use it for isomorphic apps)\n * @return {actions, reducers} { actions, reducers}\n * @example ```js\n * const api = reduxApi({\n * test: \"/plain/url\",\n * testItem: \"/plain/url/:id\",\n * testModify: {\n * url: \"/plain/url/:endpoint\",\n\n * transformer: (data)=> !data ?\n * { title: \"\", message: \"\" } :\n * { title: data.title, message: data.message },\n * options: {\n * method: \"post\"\n * headers: {\n * \"Accept\": \"application/json\",\n * \"Content-Type\": \"application/json\"\n * }\n * }\n * }\n * });\n * // register reducers\n *\n * // call actions\n * dispatch(api.actions.test());\n * dispatch(api.actions.testItem({id: 1}));\n * dispatch(api.actions.testModify({endpoint: \"upload-1\"}, {\n * body: JSON.stringify({title: \"Hello\", message: \"World\"})\n * }));\n * ```\n */\n\nexport default function reduxApi(config, baseConfig) {\n config || (config = {});\n\n const fetchHolder = {\n fetch: null,\n server: false,\n rootUrl: null,\n middlewareParser: null,\n options: {},\n responseHandler: null\n };\n\n const cfg = {\n use(key, value) {\n fetchHolder[key] = value;\n\n return this;\n },\n init(fetch, isServer = false, rootUrl) {\n /* eslint no-console: 0 */\n console.warn(\"Deprecated method, use `use` method\");\n this.use(\"fetch\", fetch);\n this.use(\"server\", isServer);\n this.use(\"rootUrl\", rootUrl);\n return this;\n },\n actions: {},\n reducers: {},\n events: {}\n };\n function fnConfigCallback(memo, value, key) {\n const opts =\n typeof value === \"object\"\n ? { ...defaultEndpointConfig, reducerName: key, ...value }\n : { ...defaultEndpointConfig, reducerName: key, url: value };\n\n if (opts.broadcast !== void 0) {\n /* eslint no-console: 0 */\n console.warn(\n \"Deprecated `broadcast` option. you shoud use `events`\" +\n \"to catch redux-api events (see https://github.com/3plus/redux-api/blob/master/DOCS.md#Events)\"\n );\n }\n\n const {\n url,\n urlOptions,\n options,\n transformer,\n broadcast,\n crud,\n reducerName,\n prefetch,\n postfetch,\n validation,\n helpers\n } = opts;\n\n const prefix = (baseConfig && baseConfig.prefix) || \"\";\n\n const ACTIONS = {\n actionFetch: `${PREFIX}@${prefix}${reducerName}`,\n actionSuccess: `${PREFIX}@${prefix}${reducerName}_success`,\n actionFail: `${PREFIX}@${prefix}${reducerName}_fail`,\n actionReset: `${PREFIX}@${prefix}${reducerName}_delete`,\n actionCache: `${PREFIX}@${prefix}${reducerName}_cache`,\n actionAbort: `${PREFIX}@${prefix}${reducerName}_abort`\n };\n\n const fetch = opts.fetch\n ? opts.fetch\n : function(...args) {\n return fetchHolder.fetch.apply(this, args);\n };\n\n const meta = {\n holder: fetchHolder,\n virtual: !!opts.virtual,\n actions: memo.actions,\n cache: cacheManager(opts.cache),\n urlOptions,\n fetch,\n broadcast,\n reducerName,\n prefetch,\n postfetch,\n validation,\n helpers,\n transformer,\n prefix,\n crud\n };\n\n memo.actions[key] = actionFn(url, key, options, ACTIONS, meta);\n\n if (!meta.virtual && !memo.reducers[reducerName]) {\n const data = transformer();\n const sync = false;\n const syncing = false;\n const loading = false;\n const initialState = opts.cache\n ? { sync, syncing, loading, data, cache: {}, request: null }\n : { sync, syncing, loading, data, request: null };\n\n const reducer = opts.reducer ? opts.reducer.bind(memo) : null;\n memo.reducers[reducerName] = reducerFn(initialState, ACTIONS, reducer);\n }\n memo.events[reducerName] = ACTIONS;\n return memo;\n }\n\n return Object.keys(config).reduce(\n (memo, key) => fnConfigCallback(memo, config[key], key, config),\n cfg\n );\n}\n\nreduxApi.transformers = transformers;\nreduxApi.async = async;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ /* eslint no-case-declarations: 0 */
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = reducerFn;
8
+ var _cache = require("./utils/cache");
9
+ 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); }
10
+ 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; }
11
+ 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; }
12
+ 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; }
13
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
14
+ 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); }
15
+ /**
16
+ * Reducer contructor
17
+ * @param {Object} initialState default initial state
18
+ * @param {Object} actions actions map
19
+ * @param {Function} reducer custom reducer function
20
+ * @return {Function} reducer function
21
+ */
22
+ function reducerFn(initialState) {
23
+ var actions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
24
+ var reducer = arguments.length > 2 ? arguments[2] : undefined;
25
+ var actionFetch = actions.actionFetch,
26
+ actionSuccess = actions.actionSuccess,
27
+ actionFail = actions.actionFail,
28
+ actionReset = actions.actionReset,
29
+ actionCache = actions.actionCache,
30
+ actionAbort = actions.actionAbort;
31
+ return function () {
32
+ var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
33
+ var action = arguments.length > 1 ? arguments[1] : undefined;
34
+ var request = action.request || {};
35
+ switch (action.type) {
36
+ case actionFetch:
37
+ return _objectSpread(_objectSpread({}, state), {}, {
38
+ request: request,
39
+ loading: true,
40
+ error: null,
41
+ syncing: !!action.syncing
42
+ });
43
+ case actionSuccess:
44
+ return _objectSpread(_objectSpread({}, state), {}, {
45
+ loading: false,
46
+ sync: true,
47
+ syncing: false,
48
+ error: null,
49
+ data: action.data
50
+ });
51
+ case actionFail:
52
+ return _objectSpread(_objectSpread({}, state), {}, {
53
+ loading: false,
54
+ error: action.error,
55
+ syncing: false
56
+ });
57
+ case actionReset:
58
+ var mutation = action.mutation;
59
+ return mutation === "sync" ? _objectSpread(_objectSpread({}, state), {}, {
60
+ request: null,
61
+ sync: false
62
+ }) : _objectSpread({}, initialState);
63
+ case actionAbort:
64
+ return _objectSpread(_objectSpread({}, state), {}, {
65
+ request: null,
66
+ loading: false,
67
+ syncing: false,
68
+ error: action.error
69
+ });
70
+ case actionCache:
71
+ var id = action.id,
72
+ data = action.data,
73
+ persisted = action.persisted;
74
+ var cacheExpire = state.cache[id] ? state.cache[id].expire : null;
75
+ var expire = (0, _cache.setExpire)(action.expire, cacheExpire);
76
+ return _objectSpread(_objectSpread({}, state), {}, {
77
+ cache: _objectSpread(_objectSpread({}, state.cache), {}, _defineProperty({}, id, {
78
+ expire: expire,
79
+ data: data,
80
+ persisted: persisted
81
+ }))
82
+ });
83
+ default:
84
+ return reducer ? reducer(state, action) : state;
85
+ }
86
+ };
87
+ }
88
+ module.exports = exports.default;
89
+ //# sourceMappingURL=reducerFn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reducerFn.js","names":["Object","defineProperty","exports","value","reducerFn","_cache","require","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","e","r","t","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","i","_toPrimitive","toPrimitive","call","TypeError","String","Number","initialState","actions","undefined","reducer","actionFetch","actionSuccess","actionFail","actionReset","actionCache","actionAbort","state","action","request","type","loading","error","syncing","sync","data","mutation","id","persisted","cacheExpire","cache","expire","setExpire","module","default"],"sources":["../src/reducerFn.js"],"sourcesContent":["\"use strict\";\n\n/* eslint no-case-declarations: 0 */\nimport { setExpire } from \"./utils/cache\";\n\n/**\n * Reducer contructor\n * @param {Object} initialState default initial state\n * @param {Object} actions actions map\n * @param {Function} reducer custom reducer function\n * @return {Function} reducer function\n */\nexport default function reducerFn(initialState, actions = {}, reducer) {\n const {\n actionFetch,\n actionSuccess,\n actionFail,\n actionReset,\n actionCache,\n actionAbort\n } = actions;\n return (state = initialState, action) => {\n const request = action.request || {};\n switch (action.type) {\n case actionFetch:\n return {\n ...state,\n request,\n loading: true,\n error: null,\n syncing: !!action.syncing\n };\n case actionSuccess:\n return {\n ...state,\n loading: false,\n sync: true,\n syncing: false,\n error: null,\n data: action.data\n };\n case actionFail:\n return {\n ...state,\n loading: false,\n error: action.error,\n syncing: false\n };\n case actionReset:\n const { mutation } = action;\n return mutation === \"sync\"\n ? {\n ...state,\n request: null,\n sync: false\n }\n : { ...initialState };\n case actionAbort:\n return {\n ...state,\n request: null,\n loading: false,\n syncing: false,\n error: action.error\n };\n case actionCache:\n const { id, data, persisted } = action;\n const cacheExpire = state.cache[id] ? state.cache[id].expire : null;\n const expire = setExpire(action.expire, cacheExpire);\n return {\n ...state,\n cache: { ...state.cache, [id]: { expire, data, persisted } }\n };\n default:\n return reducer ? reducer(state, action) : state;\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,27 @@
1
+ "use strict";
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) {
15
+ return !data ? [] : Array.isArray(data) ? data : [data];
16
+ },
17
+ object: function object(data) {
18
+ if (!data) {
19
+ return {};
20
+ }
21
+ return toString.call(data) === OBJECT ? data : {
22
+ data: data
23
+ };
24
+ }
25
+ };
26
+ module.exports = exports.default;
27
+ //# sourceMappingURL=transformers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformers.js","names":["Object","defineProperty","exports","value","toString","prototype","OBJECT","_default","array","data","Array","isArray","object","call","module","default"],"sources":["../src/transformers.js"],"sourcesContent":["\"use strict\";\n\nconst toString = Object.prototype.toString;\nconst OBJECT = \"[object Object]\";\n\n/**\n * Default responce transformens\n */\nexport default {\n array(data) {\n return !data ? [] : Array.isArray(data) ? data : [data];\n },\n object(data) {\n if (!data) {\n return {};\n }\n return toString.call(data) === OBJECT ? data : { data };\n }\n};\n"],"mappings":"AAAA,YAAY;;AAACA,MAAA,CAAAC,cAAA,CAAAC,OAAA;EAAAC,KAAA;AAAA;AAAAD,OAAA;AAEb,IAAME,QAAQ,GAAGJ,MAAM,CAACK,SAAS,CAACD,QAAQ;AAC1C,IAAME,MAAM,GAAG,iBAAiB;;AAEhC;AACA;AACA;AAFA,IAAAC,QAAA,GAAAL,OAAA,cAGe;EACbM,KAAK,WAAAA,MAACC,IAAI,EAAE;IACV,OAAO,CAACA,IAAI,GAAG,EAAE,GAAGC,KAAK,CAACC,OAAO,CAACF,IAAI,CAAC,GAAGA,IAAI,GAAG,CAACA,IAAI,CAAC;EACzD,CAAC;EACDG,MAAM,WAAAA,OAACH,IAAI,EAAE;IACX,IAAI,CAACA,IAAI,EAAE;MACT,OAAO,CAAC,CAAC;IACX;IACA,OAAOL,QAAQ,CAACS,IAAI,CAACJ,IAAI,CAAC,KAAKH,MAAM,GAAGG,IAAI,GAAG;MAAEA,IAAI,EAAJA;IAAK,CAAC;EACzD;AACF,CAAC;AAAAK,MAAA,CAAAZ,OAAA,GAAAA,OAAA,CAAAa,OAAA","ignoreList":[]}
@@ -0,0 +1,73 @@
1
+ "use strict";
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) {
30
+ if (!url) {
31
+ return "";
32
+ }
33
+ 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) {
39
+ usedKeys[key] = value;
40
+ return value ? value + slash : value;
41
+ });
42
+ }, url);
43
+ if (!urlWithParams) {
44
+ return urlWithParams;
45
+ }
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);
52
+ if (usedKeysArray.length !== Object.keys(params).length) {
53
+ var urlObject = cleanURL.split("?");
54
+ 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);
69
+ }
70
+ return cleanURL;
71
+ }
72
+ module.exports = exports.default;
73
+ //# sourceMappingURL=urlTransform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"urlTransform.js","names":["Object","defineProperty","exports","value","urlTransform","_qs","_interopRequireDefault","require","_url","_omit","_merge","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","r","t","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","i","_toPrimitive","toPrimitive","call","TypeError","String","Number","rxClean","url","params","options","usedKeys","urlWithParams","reduce","key","rx","RegExp","concat","replace","_","_1","slash","_parse","parse","protocol","host","path","cleanURL","usedKeysArray","urlObject","split","_options","arrayFormat","delimiter","qsParseOptions","mergeParams","merge","qs","omit","qsStringifyOptions","urlStringParams","stringify","module","default"],"sources":["../src/urlTransform.js"],"sourcesContent":["\"use strict\";\n\nimport qs from \"qs\";\nimport { parse } from \"url\";\nimport omit from \"./utils/omit\";\nimport merge from \"./utils/merge\";\n\n/* eslint no-useless-escape: 0 */\nconst rxClean = /(\\(:[^\\)]+\\)|:[^\\/]+\\/?)/g;\n\n/**\n * Url modification\n * @param {String} url url template\n * @param {Object} params params for url template\n * @param {Object} options transformation options, accepts +delimiter+, +arrayFormat+,\n * +qsStringifyOptions+ and +qsParseOptions+\n * @return {String} result url\n */\nexport default function urlTransform(url, params, options) {\n if (!url) {\n return \"\";\n }\n params || (params = {});\n const usedKeys = {};\n const urlWithParams = Object.keys(params).reduce((url, key) => {\n const value = params[key];\n const rx = new RegExp(`(\\\\(:${key}\\\\)|:${key})(\\/?)`, \"g\");\n return url.replace(rx, (_, _1, slash) => {\n usedKeys[key] = value;\n return value ? value + slash : value;\n });\n }, url);\n\n if (!urlWithParams) {\n return urlWithParams;\n }\n const { protocol, host, path } = parse(urlWithParams);\n const cleanURL = host\n ? `${protocol}//${host}${path.replace(rxClean, \"\")}`\n : path.replace(rxClean, \"\");\n const usedKeysArray = Object.keys(usedKeys);\n if (usedKeysArray.length !== Object.keys(params).length) {\n const urlObject = cleanURL.split(\"?\");\n options || (options = {});\n const { arrayFormat, delimiter } = options;\n const qsParseOptions = {\n arrayFormat,\n delimiter,\n ...options.qsParseOptions\n };\n const mergeParams = merge(\n urlObject[1] && qs.parse(urlObject[1], qsParseOptions),\n omit(params, usedKeysArray)\n );\n const qsStringifyOptions = {\n arrayFormat,\n delimiter,\n ...options.qsStringifyOptions\n };\n const urlStringParams = qs.stringify(mergeParams, qsStringifyOptions);\n return `${urlObject[0]}?${urlStringParams}`;\n }\n return cleanURL;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,94 @@
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 = {
17
+ date: undefined,
18
+ push: function push(date) {
19
+ this.date = date;
20
+ },
21
+ pop: function pop() {
22
+ if (this.date) {
23
+ var d = this.date;
24
+ this.date = undefined;
25
+ return new Date(d);
26
+ } else {
27
+ return new Date();
28
+ }
29
+ }
30
+ };
31
+ var Manager = exports.Manager = {
32
+ expire: false,
33
+ getData: function getData(cache) {
34
+ if (!cache) {
35
+ return;
36
+ }
37
+ var expire = cache.expire,
38
+ data = cache.data;
39
+ if (expire === false || expire === undefined || expire === null) {
40
+ return data;
41
+ }
42
+ if (expire instanceof Date) {
43
+ if (expire.valueOf() > MockNowDate.pop().valueOf()) {
44
+ return data;
45
+ }
46
+ }
47
+ },
48
+ id: function id(params) {
49
+ if (!params) {
50
+ return "";
51
+ }
52
+ return Object.keys(params).reduce(function (memo, key) {
53
+ return memo + "".concat(key, "=").concat(params[key], ";");
54
+ }, "");
55
+ }
56
+ };
57
+ function setExpire(value, oldDate) {
58
+ var expire = value;
59
+ if (typeof expire === "number" || expire instanceof Number) {
60
+ var d = MockNowDate.pop();
61
+ d.setSeconds(d.getSeconds() + expire);
62
+ expire = d;
63
+ }
64
+ if (oldDate instanceof Date && expire instanceof Date) {
65
+ if (expire.valueOf() < oldDate.valueOf()) {
66
+ expire = oldDate;
67
+ }
68
+ }
69
+ return expire;
70
+ }
71
+ function getCacheManager(expire, cache) {
72
+ if (expire !== undefined) {
73
+ var ret = _objectSpread(_objectSpread({}, Manager), cache);
74
+ if (ret.expire !== false) {
75
+ ret.expire = setExpire(expire, ret.expire);
76
+ }
77
+ return ret;
78
+ } else if (cache) {
79
+ return _objectSpread(_objectSpread({}, Manager), cache);
80
+ } else {
81
+ return null;
82
+ }
83
+ }
84
+ function _default(cache) {
85
+ if (!cache) {
86
+ return null;
87
+ }
88
+ if (cache === true) {
89
+ return Manager;
90
+ } else {
91
+ return _objectSpread(_objectSpread({}, Manager), cache);
92
+ }
93
+ }
94
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","names":["MockNowDate","exports","date","undefined","push","pop","d","Date","Manager","expire","getData","cache","data","valueOf","id","params","Object","keys","reduce","memo","key","concat","setExpire","value","oldDate","Number","setSeconds","getSeconds","getCacheManager","ret","_objectSpread","_default"],"sources":["../../src/utils/cache.js"],"sourcesContent":["export const MockNowDate = {\n date: undefined,\n push(date) {\n this.date = date;\n },\n pop() {\n if (this.date) {\n const d = this.date;\n this.date = undefined;\n return new Date(d);\n } else {\n return new Date();\n }\n }\n};\n\nexport const Manager = {\n expire: false,\n getData(cache) {\n if (!cache) {\n return;\n }\n const { expire, data } = cache;\n if (expire === false || expire === undefined || expire === null) {\n return data;\n }\n if (expire instanceof Date) {\n if (expire.valueOf() > MockNowDate.pop().valueOf()) {\n return data;\n }\n }\n },\n id(params) {\n if (!params) {\n return \"\";\n }\n return Object.keys(params).reduce(\n (memo, key) => memo + `${key}=${params[key]};`,\n \"\"\n );\n }\n};\n\nexport function setExpire(value, oldDate) {\n let expire = value;\n if (typeof expire === \"number\" || expire instanceof Number) {\n const d = MockNowDate.pop();\n d.setSeconds(d.getSeconds() + expire);\n expire = d;\n }\n if (oldDate instanceof Date && expire instanceof Date) {\n if (expire.valueOf() < oldDate.valueOf()) {\n expire = oldDate;\n }\n }\n return expire;\n}\n\nexport function getCacheManager(expire, cache) {\n if (expire !== undefined) {\n const ret = { ...Manager, ...cache };\n if (ret.expire !== false) {\n ret.expire = setExpire(expire, ret.expire);\n }\n return ret;\n } else if (cache) {\n return { ...Manager, ...cache };\n } else {\n return null;\n }\n}\n\nexport default function(cache) {\n if (!cache) {\n return null;\n }\n if (cache === true) {\n return Manager;\n } else {\n return { ...Manager, ...cache };\n }\n}\n"],"mappings":"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","ignoreList":[]}