react-query-swagger
Version:
Generates react-query hooks for your API based on Swagger/OpenAPI definition
46 lines (37 loc) • 1.37 kB
JavaScript
import React, { useContext, useMemo } from 'react';
function _extends() {
_extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
return _extends.apply(this, arguments);
}
var QueryMetaContext = /*#__PURE__*/React.createContext({});
/*
* Provides Meta information for queries (i.e. `useQuery({ meta: META })`).
* All queries within children of this scope will have Meta set to either `meta` prop or the result of `metaFn()`.
*/
var QueryMetaProvider = function QueryMetaProvider(props) {
var parentMeta = useContext(QueryMetaContext);
var value = useMemo(function () {
var metaFn = function metaFn() {
var meta = props.metaFn ? props.metaFn() : props.meta;
return _extends({}, props.resetParentMeta || !parentMeta.metaFn ? {} : parentMeta.metaFn(), meta);
};
return {
metaFn: metaFn
};
}, [parentMeta.metaFn, props.metaFn, props.meta, props.resetParentMeta]);
return React.createElement(QueryMetaContext.Provider, {
value: value
}, props.children);
};
export { QueryMetaContext, QueryMetaProvider };
//# sourceMappingURL=react-query-swagger.esm.js.map