@antdp/hooks
Version:
@/antdp-hooks
125 lines (124 loc) • 4.47 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
Object.defineProperty(exports, "__esModule", {
value: true
});
var _exportNames = {
useReactQuery: true,
useReactMutation: true
};
exports.useReactMutation = useReactMutation;
exports.useReactQuery = useReactQuery;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _max = require("@umijs/max");
var _fetch = require("./fetch");
Object.keys(_fetch).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _fetch[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return _fetch[key];
}
});
});
var _excluded = ["url", "cache", "credentials", "headers", "integrity", "keepalive", "method", "mode", "redirect", "referrer", "referrerPolicy", "signal", "window", "contentType"],
_excluded2 = ["url", "cache", "credentials", "headers", "integrity", "keepalive", "method", "mode", "redirect", "referrer", "referrerPolicy", "signal", "window", "contentType"]; // @ts-ignore
function useReactQuery(options) {
var _ref = options || {},
_ref$url = _ref.url,
url = _ref$url === void 0 ? '' : _ref$url,
cache = _ref.cache,
_ref$credentials = _ref.credentials,
credentials = _ref$credentials === void 0 ? 'include' : _ref$credentials,
headers = _ref.headers,
integrity = _ref.integrity,
keepalive = _ref.keepalive,
_ref$method = _ref.method,
method = _ref$method === void 0 ? 'GET' : _ref$method,
mode = _ref.mode,
redirect = _ref.redirect,
referrer = _ref.referrer,
referrerPolicy = _ref.referrerPolicy,
signal = _ref.signal,
window = _ref.window,
_ref$contentType = _ref.contentType,
contentType = _ref$contentType === void 0 ? 'json' : _ref$contentType,
opts = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
var fetchOption = {
cache: cache,
credentials: credentials,
headers: headers,
integrity: integrity,
keepalive: keepalive,
method: method,
mode: mode,
redirect: redirect,
referrer: referrer,
referrerPolicy: referrerPolicy,
signal: signal,
window: window
};
var queryOptions = (0, _objectSpread2["default"])({}, opts);
if (url) {
var Fn = function Fn() {
return (0, _fetch.fetchFn)(url, (0, _objectSpread2["default"])({
contentType: contentType
}, fetchOption));
};
queryOptions.queryFn = queryOptions.queryFn || Fn;
}
return (0, _max.useQuery)((0, _objectSpread2["default"])({}, queryOptions));
}
function useReactMutation(options) {
var _ref2 = options || {},
url = _ref2.url,
cache = _ref2.cache,
credentials = _ref2.credentials,
headers = _ref2.headers,
integrity = _ref2.integrity,
keepalive = _ref2.keepalive,
_ref2$method = _ref2.method,
method = _ref2$method === void 0 ? 'POST' : _ref2$method,
mode = _ref2.mode,
redirect = _ref2.redirect,
referrer = _ref2.referrer,
referrerPolicy = _ref2.referrerPolicy,
signal = _ref2.signal,
window = _ref2.window,
_ref2$contentType = _ref2.contentType,
contentType = _ref2$contentType === void 0 ? 'json' : _ref2$contentType,
opts = (0, _objectWithoutProperties2["default"])(_ref2, _excluded2);
var fetchOption = {
cache: cache,
credentials: credentials,
headers: headers,
integrity: integrity,
keepalive: keepalive,
method: method,
mode: mode,
redirect: redirect,
referrer: referrer,
referrerPolicy: referrerPolicy,
signal: signal,
window: window
};
var mutationOptions = (0, _objectSpread2["default"])({}, opts);
if (url) {
var Fn = function Fn(newData) {
var body = newData;
if (Object.prototype.toString.call(newData).slice(8, -1) !== 'FormData') {
body = JSON.stringify(newData);
}
return (0, _fetch.fetchFn)(url, (0, _objectSpread2["default"])((0, _objectSpread2["default"])({
contentType: contentType
}, fetchOption), {}, {
body: body
}));
};
mutationOptions.mutationFn = mutationOptions.mutationFn || Fn;
}
return (0, _max.useMutation)(mutationOptions);
}