@vaadin/hilla-react-signals
Version:
Signals for Hilla React
26 lines • 760 B
JavaScript
export async function createPromiseFromSignal(signal, callback) {
return new Promise((resolve, reject) => {
const unsubscribe = signal.subscribe((value) => {
if (!value) {
return;
}
unsubscribe();
callback(value, resolve, reject);
});
});
}
export function randomId(sizeBytes = 8) {
const bytes = new Uint8Array(sizeBytes);
crypto.getRandomValues(bytes);
let binary = '';
for (const value of bytes) {
binary += String.fromCharCode(value);
}
const base64 = btoa(binary);
let end = base64.length;
while (end > 0 && base64[end - 1] === '=') {
end -= 1;
}
return base64.slice(0, end);
}
//# sourceMappingURL=utils.js.map