UNPKG

@antdp/hooks

Version:
125 lines (124 loc) 4.47 kB
"use strict"; 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); }