Comparing version 1.0.5 to 1.0.6
@@ -1,5 +0,24 @@ | ||
import _regeneratorRuntime from 'babel-runtime/regenerator'; | ||
'use strict'; | ||
var _this = this; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.createResponseSelectorsByKey = exports.createResponseSelectors = exports.defaultMiddleware = exports.createMiddleware = exports.defaultReducer = exports.$selectResponse = exports.invalidateRequest = exports.makeRequest = exports.patch = exports.Delete = exports.put = exports.post = exports.get = exports.HandledRequest = undefined; | ||
var _regenerator = require('babel-runtime/regenerator'); | ||
var _regenerator2 = _interopRequireDefault(_regenerator); | ||
var _reselect = require('reselect'); | ||
var _promiseDedupe = require('promise-dedupe'); | ||
var _promiseDedupe2 = _interopRequireDefault(_promiseDedupe); | ||
var _promiseTimeout = require('@trungdq88/promise-timeout'); | ||
var _promiseTimeout2 = _interopRequireDefault(_promiseTimeout); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } | ||
@@ -13,6 +32,2 @@ | ||
import { createSelector } from 'reselect'; | ||
import dedupe from 'promise-dedupe'; | ||
import timeout from '@trungdq88/promise-timeout'; | ||
var REDUCER_NAMESPACE = '@@dequest'; | ||
@@ -28,3 +43,3 @@ var DEFAULT_TIMEOUT = 10000; // 10 secs | ||
export var HandledRequest = function HandledRequest() { | ||
var HandledRequest = exports.HandledRequest = function HandledRequest() { | ||
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, | ||
@@ -40,3 +55,3 @@ type = _ref.type, | ||
export var get = function get() { | ||
var get = exports.get = function get() { | ||
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { | ||
@@ -48,3 +63,3 @@ args[_key] = arguments[_key]; | ||
}; | ||
export var post = function post() { | ||
var post = exports.post = function post() { | ||
for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { | ||
@@ -56,3 +71,3 @@ args[_key2] = arguments[_key2]; | ||
}; | ||
export var put = function put() { | ||
var put = exports.put = function put() { | ||
for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { | ||
@@ -64,3 +79,3 @@ args[_key3] = arguments[_key3]; | ||
}; | ||
export var Delete = function Delete() { | ||
var Delete = exports.Delete = function Delete() { | ||
for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { | ||
@@ -72,3 +87,3 @@ args[_key4] = arguments[_key4]; | ||
}; // damn, delete is reserved | ||
export var patch = function patch() { | ||
var patch = exports.patch = function patch() { | ||
for (var _len5 = arguments.length, args = Array(_len5), _key5 = 0; _key5 < _len5; _key5++) { | ||
@@ -81,7 +96,7 @@ args[_key5] = arguments[_key5]; | ||
export var makeRequest = function makeRequest(requestId, request) { | ||
var makeRequest = exports.makeRequest = function makeRequest(requestId, request) { | ||
return new Dequest(requestId, request); | ||
}; | ||
export var invalidateRequest = function invalidateRequest(requestId) { | ||
var invalidateRequest = exports.invalidateRequest = function invalidateRequest(requestId) { | ||
return { | ||
@@ -93,3 +108,3 @@ type: '@@DEQUEST/INVALIDATE', | ||
export var $selectResponse = createSelector(function (state) { | ||
var $selectResponse = exports.$selectResponse = (0, _reselect.createSelector)(function (state) { | ||
return state; | ||
@@ -100,3 +115,3 @@ }, function (state) { | ||
export var defaultReducer = _defineProperty({}, REDUCER_NAMESPACE, function () { | ||
var defaultReducer = exports.defaultReducer = _defineProperty({}, REDUCER_NAMESPACE, function () { | ||
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; | ||
@@ -132,5 +147,5 @@ var action = arguments[1]; | ||
var resolveRequest = function () { | ||
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(api, action) { | ||
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee(api, action) { | ||
var type, method; | ||
return _regeneratorRuntime.wrap(function _callee$(_context) { | ||
return _regenerator2.default.wrap(function _callee$(_context) { | ||
while (1) { | ||
@@ -173,3 +188,3 @@ switch (_context.prev = _context.next) { | ||
} | ||
}, _callee, _this); | ||
}, _callee, undefined); | ||
})); | ||
@@ -182,3 +197,3 @@ | ||
export var createMiddleware = function createMiddleware() { | ||
var createMiddleware = exports.createMiddleware = function createMiddleware() { | ||
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, | ||
@@ -217,3 +232,3 @@ _ref3$requestTransfor = _ref3.requestTransformer, | ||
return requestTransformer(dedupe(action.requestId, timeout(resolveRequest(api, action), DEFAULT_TIMEOUT, { | ||
return requestTransformer((0, _promiseDedupe2.default)(action.requestId, (0, _promiseTimeout2.default)(resolveRequest(api, action), DEFAULT_TIMEOUT, { | ||
errorMessage: 'Connection timeout' | ||
@@ -236,54 +251,54 @@ }))).then(function (r) { | ||
export var defaultMiddleware = createMiddleware(); | ||
var defaultMiddleware = exports.defaultMiddleware = createMiddleware(); | ||
export var createResponseSelectors = function createResponseSelectors($response) { | ||
var $isStarted = createSelector($response, function (response) { | ||
var createResponseSelectors = exports.createResponseSelectors = function createResponseSelectors($response) { | ||
var $isStarted = (0, _reselect.createSelector)($response, function (response) { | ||
return !!response; | ||
}); | ||
var $isLoading = createSelector($isStarted, $response, function (isStarted, response) { | ||
var $isLoading = (0, _reselect.createSelector)($isStarted, $response, function (isStarted, response) { | ||
return isStarted && response.isLoading === true; | ||
}); | ||
var $isUpdating = createSelector($response, function (response) { | ||
var $isUpdating = (0, _reselect.createSelector)($response, function (response) { | ||
return response && response.isUpdating === true; | ||
}); | ||
var $isSuccess = createSelector($response, function (response) { | ||
var $isSuccess = (0, _reselect.createSelector)($response, function (response) { | ||
return response && response.ok; | ||
}); | ||
var $isError = createSelector($isLoading, $response, function (isLoading, response) { | ||
var $isError = (0, _reselect.createSelector)($isLoading, $response, function (isLoading, response) { | ||
return !isLoading && response && (response.ok === false || !!response.exception); | ||
}); | ||
var $body = createSelector($response, function (response) { | ||
var $body = (0, _reselect.createSelector)($response, function (response) { | ||
return response && response.jsonBody; | ||
}); | ||
var $error = createSelector($response, function (response) { | ||
var $error = (0, _reselect.createSelector)($response, function (response) { | ||
return response && (response.jsonBody || response.exception); | ||
}); | ||
var $exception = createSelector($response, function (response) { | ||
var $exception = (0, _reselect.createSelector)($response, function (response) { | ||
return response && response.exception; | ||
}); | ||
var $isFinished = createSelector($response, function (response) { | ||
var $isFinished = (0, _reselect.createSelector)($response, function (response) { | ||
return response && response.ok !== undefined; | ||
}); | ||
var $requestAt = createSelector($response, function (response) { | ||
var $requestAt = (0, _reselect.createSelector)($response, function (response) { | ||
return response && response.requestAt; | ||
}); | ||
var $responseAt = createSelector($response, function (response) { | ||
var $responseAt = (0, _reselect.createSelector)($response, function (response) { | ||
return response && response.responseAt; | ||
}); | ||
var $requestDuration = createSelector($requestAt, $responseAt, function (requestAt, responseAt) { | ||
var $requestDuration = (0, _reselect.createSelector)($requestAt, $responseAt, function (requestAt, responseAt) { | ||
return !!requestAt && !!responseAt ? responseAt - requestAt : null; | ||
}); | ||
var $statusCode = createSelector($response, function (response) { | ||
var $statusCode = (0, _reselect.createSelector)($response, function (response) { | ||
return response && response.status; | ||
@@ -309,4 +324,4 @@ }); | ||
export var createResponseSelectorsByKey = function createResponseSelectorsByKey(key) { | ||
var $response = createSelector($selectResponse, function (selectResponse) { | ||
var createResponseSelectorsByKey = exports.createResponseSelectorsByKey = function createResponseSelectorsByKey(key) { | ||
var $response = (0, _reselect.createSelector)($selectResponse, function (selectResponse) { | ||
return selectResponse[key]; | ||
@@ -322,3 +337,3 @@ }); | ||
export default { | ||
exports.default = { | ||
reducer: defaultReducer, | ||
@@ -325,0 +340,0 @@ middleware: defaultMiddleware, |
@@ -1,5 +0,15 @@ | ||
import _regeneratorRuntime from 'babel-runtime/regenerator'; | ||
'use strict'; | ||
var _this2 = this; | ||
var _regenerator = require('babel-runtime/regenerator'); | ||
var _regenerator2 = _interopRequireDefault(_regenerator); | ||
var _dequest = require('./dequest.js'); | ||
var _dequest2 = _interopRequireDefault(_dequest); | ||
var _redux = require('redux'); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; } | ||
@@ -9,5 +19,2 @@ | ||
import dequest, { makeRequest, invalidateRequest, $selectResponse, get } from './dequest.js'; | ||
import { createStore, compose, applyMiddleware, combineReducers } from 'redux'; | ||
global.Response = function Response(data) { | ||
@@ -46,3 +53,3 @@ var _this = this; | ||
var createStoreWithMockApi = function createStoreWithMockApi(api) { | ||
return store = createStore(combineReducers(Object.assign({}, dequest.reducer)), compose(applyMiddleware(dequest.createMiddleware({ | ||
return store = (0, _redux.createStore)((0, _redux.combineReducers)(Object.assign({}, _dequest2.default.reducer)), (0, _redux.compose)((0, _redux.applyMiddleware)(_dequest2.default.createMiddleware({ | ||
api: api | ||
@@ -53,3 +60,3 @@ })))); | ||
beforeEach(function () { | ||
store = createStore(combineReducers(Object.assign({}, dequest.reducer)), compose(applyMiddleware(dequest.createMiddleware()))); | ||
store = (0, _redux.createStore)((0, _redux.combineReducers)(Object.assign({}, _dequest2.default.reducer)), (0, _redux.compose)((0, _redux.applyMiddleware)(_dequest2.default.createMiddleware()))); | ||
}); | ||
@@ -59,12 +66,12 @@ | ||
it('should be defined', function () { | ||
expect(makeRequest).toBeTruthy(); | ||
expect(_dequest.makeRequest).toBeTruthy(); | ||
}); | ||
it('should change state when dispatch makeRequest', _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() { | ||
it('should change state when dispatch makeRequest', _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee() { | ||
var request; | ||
return _regeneratorRuntime.wrap(function _callee$(_context) { | ||
return _regenerator2.default.wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
request = store.dispatch(makeRequest('123', Promise.resolve(mockResponse))); | ||
request = store.dispatch((0, _dequest.makeRequest)('123', Promise.resolve(mockResponse))); | ||
@@ -92,3 +99,3 @@ expect(store.getState()).toEqual({ | ||
} | ||
}, _callee, _this2); | ||
}, _callee, undefined); | ||
}))); | ||
@@ -99,11 +106,11 @@ }); | ||
it('should be defined', function () { | ||
expect(invalidateRequest).toBeTruthy(); | ||
expect(_dequest.invalidateRequest).toBeTruthy(); | ||
}); | ||
it('should delete state when dispatch invalidateRequest', _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() { | ||
it('should delete state when dispatch invalidateRequest', _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee2() { | ||
var request; | ||
return _regeneratorRuntime.wrap(function _callee2$(_context2) { | ||
return _regenerator2.default.wrap(function _callee2$(_context2) { | ||
while (1) { | ||
switch (_context2.prev = _context2.next) { | ||
case 0: | ||
request = store.dispatch(makeRequest('123', Promise.resolve(mockResponse))); | ||
request = store.dispatch((0, _dequest.makeRequest)('123', Promise.resolve(mockResponse))); | ||
@@ -125,3 +132,3 @@ expect(store.getState()).toEqual({ | ||
}); | ||
store.dispatch(invalidateRequest('123')); | ||
store.dispatch((0, _dequest.invalidateRequest)('123')); | ||
expect(store.getState()).toEqual({ | ||
@@ -138,3 +145,3 @@ '@@dequest': { | ||
} | ||
}, _callee2, _this2); | ||
}, _callee2, undefined); | ||
}))); | ||
@@ -145,8 +152,8 @@ }); | ||
it('should works without requests', function () { | ||
expect($selectResponse).toBeInstanceOf(Function); | ||
expect($selectResponse(store.getState())).toEqual({}); | ||
expect(_dequest.$selectResponse).toBeInstanceOf(Function); | ||
expect((0, _dequest.$selectResponse)(store.getState())).toEqual({}); | ||
}); | ||
it('should works with requests', _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() { | ||
return _regeneratorRuntime.wrap(function _callee3$(_context3) { | ||
it('should works with requests', _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee3() { | ||
return _regenerator2.default.wrap(function _callee3$(_context3) { | ||
while (1) { | ||
@@ -156,6 +163,6 @@ switch (_context3.prev = _context3.next) { | ||
_context3.next = 2; | ||
return store.dispatch(makeRequest('123', Promise.resolve(mockResponse))); | ||
return store.dispatch((0, _dequest.makeRequest)('123', Promise.resolve(mockResponse))); | ||
case 2: | ||
expect($selectResponse(store.getState())).toEqual({ | ||
expect((0, _dequest.$selectResponse)(store.getState())).toEqual({ | ||
'123': expect.objectContaining(Object.assign({ | ||
@@ -172,3 +179,3 @@ isUpdating: false, | ||
} | ||
}, _callee3, _this2); | ||
}, _callee3, undefined); | ||
}))); | ||
@@ -185,3 +192,3 @@ }); | ||
var fakeParams = Math.random(); | ||
store.dispatch(makeRequest('test', get(fakeRequest, fakeParams))); | ||
store.dispatch((0, _dequest.makeRequest)('test', (0, _dequest.get)(fakeRequest, fakeParams))); | ||
expect(mockGet).toHaveBeenCalledWith(fakeRequest, fakeParams); | ||
@@ -192,5 +199,5 @@ }); | ||
describe('race condition', function () { | ||
it('should works', _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() { | ||
it('should works', _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee4() { | ||
var store, request1, request2; | ||
return _regeneratorRuntime.wrap(function _callee4$(_context4) { | ||
return _regenerator2.default.wrap(function _callee4$(_context4) { | ||
while (1) { | ||
@@ -213,4 +220,4 @@ switch (_context4.prev = _context4.next) { | ||
}); | ||
request1 = store.dispatch(makeRequest('testId', get(300))); | ||
request2 = store.dispatch(makeRequest('testId', get(10))); | ||
request1 = store.dispatch((0, _dequest.makeRequest)('testId', (0, _dequest.get)(300))); | ||
request2 = store.dispatch((0, _dequest.makeRequest)('testId', (0, _dequest.get)(10))); | ||
_context4.next = 5; | ||
@@ -222,3 +229,3 @@ return new Promise(function (r) { | ||
case 5: | ||
expect($selectResponse(store.getState())).toEqual({ | ||
expect((0, _dequest.$selectResponse)(store.getState())).toEqual({ | ||
testId: expect.objectContaining({ | ||
@@ -239,5 +246,5 @@ isUpdating: false, | ||
} | ||
}, _callee4, _this2); | ||
}, _callee4, undefined); | ||
}))); | ||
}); | ||
}); |
@@ -1,2 +0,25 @@ | ||
export { default } from './dequest.js'; | ||
export * from './dequest.js'; | ||
'use strict'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _dequest = require('./dequest.js'); | ||
Object.defineProperty(exports, 'default', { | ||
enumerable: true, | ||
get: function get() { | ||
return _interopRequireDefault(_dequest).default; | ||
} | ||
}); | ||
Object.keys(_dequest).forEach(function (key) { | ||
if (key === "default" || key === "__esModule") return; | ||
Object.defineProperty(exports, key, { | ||
enumerable: true, | ||
get: function get() { | ||
return _dequest[key]; | ||
} | ||
}); | ||
}); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
{ | ||
"name": "dequest", | ||
"version": "1.0.5", | ||
"version": "1.0.6", | ||
"main": "lib/index.js", | ||
@@ -14,2 +14,4 @@ "author": "Trung Dinh Quang <trungdq88@gmail.com>", | ||
"babel-cli": "^6.26.0", | ||
"babel-plugin-transform-object-rest-spread": "^6.26.0", | ||
"babel-preset-env": "^1.7.0", | ||
"babel-preset-react-app": "^3.1.1", | ||
@@ -16,0 +18,0 @@ "jest": "^22.4.3", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
AI-detected possible typosquat
Supply chain riskAI has identified this package as a potential typosquat of a more popular package. This suggests that the package may be intentionally mimicking another package's name, description, or other metadata.
Found 1 instance in 1 package
170877
864
6
1