A minimal boilerplate featuring lightweight, type-safe NUI utilities for Svelte 5
| Export | Description |
|---|---|
nui |
Class for sending/receiving NUI events from client |
inBrowser |
Returns true when running outside FiveM (useful for local dev) |
resourceName |
Returns the current FiveM resource name |
noop |
A no-op function, useful as a default callback |
import { nui } from "svelte-nui";
const { trigger: fetchBalance, state: balanceState } = nui.send<void, number>({
action: "getAccountBalance",
mockData: 5000,
autoFetch: true,
});
console.log(balanceState.data);
fetchBalance(); // Refetching the action
console.log(balanceState.data);
import { nui } from "svelte-nui";
let isVisible = $state<boolean>(false);
nui.receive<boolean>({
action: "visibility",
callback: (visible) => (isVisible = visible),
});
import { nui } from "svelte-nui";
nui.debug(
[
{ action: "visibility", data: true, delay: 3000 },
{ action: "visibility", data: false, delay: 1500 },
{ action: "visibility", data: true },
],
500,
);
import { inBrowser } from "svelte-nui";
console.log(`Dev env: ${inBrowser() ? "yes" : "no"}`);
import { resourceName } from "svelte-nui";
console.log(resourceName());
bun install
bun dev
bun run build
bun preview
The project is licensed under the Unlicense