UNPKG

molstar

Version:

A comprehensive macromolecular library.

37 lines 1.13 kB
"use strict"; /** * Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author David Sehnal <david.sehnal@gmail.com> */ Object.defineProperty(exports, "__esModule", { value: true }); exports.useBehavior = void 0; var react_1 = require("react"); // eslint-disable-next-line function useBehavior(s) { var _a = (0, react_1.useState)(s === null || s === void 0 ? void 0 : s.value), value = _a[0], setValue = _a[1]; (0, react_1.useEffect)(function () { if (!s) { if (value !== void 0) setValue(void 0); return; } var fst = true; var sub = s.subscribe(function (v) { if (fst) { fst = false; if (v !== value) setValue(v); } else setValue(v); }); return function () { sub.unsubscribe(); }; // eslint-disable-next-line }, [s]); return value; } exports.useBehavior = useBehavior; //# sourceMappingURL=use-behavior.js.map