oc-template-react-compiler
Version:
Compiler for the React OC template
32 lines (31 loc) • 1.17 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DataProvider = void 0;
exports.useData = useData;
const jsx_runtime_1 = require("react/jsx-runtime");
const react_1 = __importDefault(require("react"));
const DataContext = react_1.default.createContext({});
const DataProvider = ({ children, ...props }) => {
return (0, jsx_runtime_1.jsx)(DataContext.Provider, { value: props, children: children });
};
exports.DataProvider = DataProvider;
function useData() {
const { value: { getData, ...rest } } = react_1.default.useContext(DataContext);
const asyncGetData = react_1.default.useCallback((data) => {
return new Promise((resolve, reject) => {
// @ts-ignore
getData({ ...rest, ...data }, (err, newData) => {
if (err) {
reject(err);
}
else {
resolve(newData);
}
});
});
}, []);
return { getData: asyncGetData, ...rest };
}