react-native-filament
Version:
A real-time physically based 3D rendering engine for React Native
26 lines (25 loc) • 815 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useWorkletMemo = useWorkletMemo;
var _react = require("react");
var _useFilamentContext = require("./useFilamentContext");
var _ErrorUtils = require("../ErrorUtils");
function useWorkletMemo(workletFunction, dependencies) {
const {
workletContext
} = (0, _useFilamentContext.useFilamentContext)();
const [value, setValue] = (0, _react.useState)(undefined);
(0, _react.useEffect)(() => {
async function loadAsync() {
const result = await workletContext.runAsync((0, _ErrorUtils.wrapWithErrorHandler)(workletFunction));
setValue(result);
}
loadAsync();
},
// eslint-disable-next-line react-hooks/exhaustive-deps
dependencies);
return value;
}
//# sourceMappingURL=useWorkletMemo.js.map