haven 0.1.3

Actix + React + Vite integration for server-rendered applications
Documentation
import { useLocale, useRuntimeConfig } from "./framework.jsx";

function runtimeBridge() {
  return globalThis.__RUNTIME__ ?? {
    now() {
      return Date.now();
    },
    sleep(ms) {
      return new Promise((resolve) => setTimeout(resolve, Number(ms)));
    },
    log(level, message) {
      const fn = console?.[level] ?? console.log;
      fn(String(message));
    },
  };
}

export function now() {
  return runtimeBridge().now();
}

export function sleep(ms) {
  return runtimeBridge().sleep(ms);
}

export function log(level, message) {
  return runtimeBridge().log(level, message);
}

export const runtime = { now, sleep, log };

export function getRuntimeConfig() {
  return globalThis.__RUNTIME_CONFIG__ ?? {};
}

export { useLocale, useRuntimeConfig };