Nxdom Framework

Nusantara eXtreme Development Object Model — dokumentasi resmi

Ringkasan modul Storage (alur impor & beda nama)

AsyncStorage — key–value lokal

Implementasi di NexaJS: assets/modules/Storage/asyncstorage.js membungkus @react-native-async-storage/async-storage dengan serialisasi JSON. Di entry bundel diekspor sebagai AsyncStorage (bukan nama kelas Storage dari HTTP).

Impor yang disarankan

import { AsyncStorage } from "NexaJS"; await AsyncStorage.setItem("userData", { id: 1, name: "A" }); const user = await AsyncStorage.getItem("userData"); await AsyncStorage.removeItem("userData");

Template exsampel exsampel/Storage.js memakai import { Storage } from "../package" dan helper UserStorage, AppSettings, DataCache — pola yang sama; sesuaikan agar package Anda mengarah ke re-export AsyncStorage atau alias Storage untuk key–value saja.

Metode utama

  • setItem(key, value) — menyimpan objek/array (di-JSON.stringify).
  • getItem(key) — mengembalikan nilai ter-JSON.parse atau null.
  • removeItem(key), clear(), getAllKeys(), multiGet(keys).

UserStorage (exsampel)

  • saveUserData(userData) — kunci userData.
  • getUserData() — baca atau null.
  • clearUserData() — alur logout.

AppSettings (exsampel)

  • saveTheme(isDarkMode) / getTheme() — objek { isDarkMode }, default tema false.
  • saveLanguage(language) / getLanguage() — default "id".

DataCache (exsampel)

Kunci cache_{key} dengan payload { data, timestamp, expirationInMinutes }. getCache mengembalikan null jika kedaluwarsa dan menghapus entri. clearAllCache memfilter kunci berawalan cache_.

Praktik

  • Token sensitif: pertimbangkan secure store, bukan hanya AsyncStorage.
  • Tangani error di pemanggil; helper contoh mengembalikan boolean / null aman.
  • Hindari payload sangat besar — memengaruhi waktu baca di perangkat lambat.