Current section

Files

Jump to
gossamer src gossamer.ffi.mjs
Raw

src/gossamer.ffi.mjs

// src/gossamer.ffi.ts
import { Result$Error, Result$Ok } from "../prelude.mjs";
import { durationToMs } from "./utils/time.ffi.mjs";
var decode_base64 = (encoded) => {
try {
return Result$Ok(globalThis.atob(encoded));
} catch {
return Result$Error(void 0);
}
};
var encode_base64 = (data) => {
try {
return Result$Ok(globalThis.btoa(data));
} catch {
return Result$Error(void 0);
}
};
var clear_interval = (id) => {
globalThis.clearInterval(id);
};
var clear_timeout = (id) => {
globalThis.clearTimeout(id);
};
var queue_microtask = (func) => {
globalThis.queueMicrotask(func);
};
var set_interval = (delay, callback) => {
return Number(
globalThis.setInterval(callback, Math.max(0, durationToMs(delay)))
);
};
var set_timeout = (delay, callback) => {
return Number(
globalThis.setTimeout(callback, Math.max(0, durationToMs(delay)))
);
};
var user_agent = () => {
return globalThis.navigator.userAgent;
};
var hardware_concurrency = () => {
return globalThis.navigator.hardwareConcurrency;
};
export {
clear_interval,
clear_timeout,
decode_base64,
encode_base64,
hardware_concurrency,
queue_microtask,
set_interval,
set_timeout,
user_agent
};