drupal-react-oauth-provider
Version:
Drupal React Oauth Provider and Hooks for REST / JSONAPI etc.
36 lines (35 loc) • 1.65 kB
JavaScript
;
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;