alinea
Version:
[](https://npmjs.org/package/alinea) [](https://packagephobia.com/result?p=alinea)
32 lines (30 loc) • 641 B
JavaScript
import "../../chunks/chunk-U5RRZUYZ.js";
// src/ui/hook/UseTrigger.ts
import { useState } from "react";
function useTrigger() {
const [trigger, setTrigger] = useState(void 0);
return {
options: trigger?.options,
isActive: Boolean(trigger),
request(options) {
return new Promise(
(resolve, reject) => {
setTrigger({ options, resolve, reject });
}
).finally(() => {
setTrigger(void 0);
});
},
resolve(value) {
if (trigger)
trigger.resolve(value);
},
reject() {
if (trigger)
trigger.reject();
}
};
}
export {
useTrigger
};