UNPKG

drupal-react-oauth-provider

Version:
36 lines (35 loc) 1.65 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.useLazyAPI = void 0; var react_1 = __importDefault(require("react")); var useAPI_1 = require("./useAPI"); var useLazyAPI = function () { var _a = react_1.default.useState(false), exectute = _a[0], setExecute = _a[1]; var _b = react_1.default.useState({}), _body = _b[0], setBody = _b[1]; var _c = react_1.default.useState('GET'), _method = _c[0], setMethod = _c[1]; var _d = react_1.default.useState(''), _endpoint = _d[0], setEndpoint = _d[1]; // API with _execute set to false so it doesn't fire. var _e = (0, useAPI_1.useAPI)({ body: _body, method: _method, endpoint: _endpoint, _execute: exectute }), data = _e.data, loading = _e.loading, error = _e.error; // When anything from useAPI changes, set execute to false so that the API can be used again. react_1.default.useEffect(function () { setExecute(false); setBody({}); setMethod('GET'); setEndpoint(''); }, [data, loading, error]); // Set execute to true so that the API can be used. var lazyAPI = function (_a) { var body = _a.body, method = _a.method, endpoint = _a.endpoint; if (body) setBody(body); if (method) setMethod(method); setEndpoint(endpoint); setExecute(true); }; return [lazyAPI, { data: data, loading: loading, error: error }]; }; exports.useLazyAPI = useLazyAPI;