Nxdom Framework

Nusantara eXtreme Development Object Model — dokumentasi resmi

Objek global NXUI dan NX

Di React, NXUI adalah objek utama runtime NexaJS, dan NX adalah alias pendek yang menunjuk objek yang sama. Keduanya disinkronkan dari konfigurasi endpoint saat aplikasi berjalan.

import { NXUI, NX } from "NexaJS"; // Keduanya setara (NX alias dari NXUI) const apiA = await NXUI.Storage().example().news({ news: 1 }); const apiB = await NX.Storage().example().news({ news: 1 }); // Query builder SQL (alias model/query) const q2 = await NXUI.Storage().query("news").select("*").get();
  • NXUI.Storage() untuk controller package, models, dan query SQL.
  • NX dipakai jika butuh penulisan lebih singkat, perilaku tetap sama.
  • Gunakan import dari "NexaJS", tidak perlu akses globalThis manual.

Tabrakan nama di template exsampel

File exsampel/Storage.js mengimpor Storage dari ../package dan memakai Storage.setItem — itu pola key–value, setara dengan memetakan ke AsyncStorage dari NexaJS (atau re-export internal template Anda), bukan klien HTTP.

Query model (SQL builder)

Bagian ini berbeda dari models(). Jalur query model dipakai untuk menyusun SQL dengan query builder, lalu dikirim sebagai payload sql + type.

// Query builder SQL -> payload: { sql, type } const q2 = await NXUI.Storage().query("news").select("*").get(); // alias model()

Storage package (controller route)

Jalur ini dipakai untuk memanggil controller dinamis melalui NexaStores. Pola umumnya: NXUI.Storage().package("namaPaket").namaMethod(payload) atau shortcut NXUI.Storage().example().news(payload).

const viaPackage = await NXUI.Storage().package("example").news({ news: 1 }); const viaShortcut = await NXUI.Storage().example().news({ news: 1 });

Models (method model PHP)

Jalur models() dipakai untuk memanggil method pada class model PHP secara langsung (payload model + method + params), bukan menyusun SQL.

// Method model PHP -> payload: { model, method, params } const m1 = await NXUI.Storage().models("News").data("demo"); const m2 = await NXUI.Storage().models("User").byAvatar(1);
  • models(): panggil method model PHP.
  • model()/query(): query builder SQL.
  • Jika backend meminta argumen string, kirim string (mis. "demo"), bukan object.

Dedupe GET & cache singkat di NexaFetch

Layer NexaFetch (React) sekarang mendeduplikasi request GET yang sama dan menyimpan cache hasil singkat (default sekitar 1.5 detik) agar request berulang tidak selalu menembak backend. Setelah post/put/patch/delete, cache GET terkait otomatis di-invalidasi.

Submenu dokumentasi