nano-jsx
Version:
SSR first, lightweight 1kB JSX library.
28 lines • 827 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.setState = exports.getState = exports.useState = void 0;
const state_js_1 = require("../state.js");
const useState = (state, id) => {
const s = {
setState(state) {
if (state !== null)
state_js_1._state.set(id, state);
},
get state() {
return state_js_1._state.get(id);
}
};
if (!state_js_1._state.has(id))
state_js_1._state.set(id, state);
return [s.state, s.setState];
};
exports.useState = useState;
const getState = (id) => {
return state_js_1._state.get(id);
};
exports.getState = getState;
const setState = (id, state) => {
return state_js_1._state.set(id, state);
};
exports.setState = setState;
//# sourceMappingURL=useState.js.map
;