smart_store 1.0.4 copy "smart_store: ^1.0.4" to clipboard
smart_store: ^1.0.4 copied to clipboard

Flutter package for ultra-simple local data storage in key-value format - with zero boilerplate.

example/smart_store_example.dart

import 'package:flutter/material.dart';
import 'package:smart_store/smart_store.dart';

/// πŸ‘€ Example user model
class User {
final String name;
final int age;

User({required this.name, required this.age});

factory User.fromJson(Map<String, dynamic> json) =>
User(name: json['name'], age: json['age']);

Map<String, dynamic> toJson() => {'name': name, 'age': age};
}

void main() async {
WidgetsFlutterBinding.ensureInitialized();

// βœ… 1) Initialize the store
await Store.init();

// βœ… 2) Register custom models (only once)
Store.register<User>(User.fromJson);

// βœ… 3) Save a single custom object
Store.save("user", User(name: "Ali", age: 30));

// βœ… 4) Get the custom object (no await needed)
final user = Store.get("user");
if (user != null) {
print("πŸ‘€ User: ${user.name}, Age: ${user.age}");
}

// βœ… 5) Save a list of custom objects
final userList = [
User(name: "Ali", age: 25),
User(name: "Sara", age: 22),
User(name: "Youssef", age: 30),
];
Store.saveList("userList", userList);

// βœ… 6) Get the list of custom objects
final users = Store.getList<User>("userList");
print("πŸ“‹ List of users:");
for (var u in users) {
print("- ${u.name}, Age: ${u.age}");
}

// βœ… 7) Save primitive values (String, int, bool, etc.)
Store.save("token", "abc123token");
Store.save("isLoggedIn", true);

// βœ… 8) Get primitive values
final token = Store.get<String>("token");
final isLoggedIn = Store.get<bool>("isLoggedIn");
print("πŸ” Token: $token");
print("βœ… Is Logged In: $isLoggedIn");

// βœ… 9) Save a list of primitive values
final messages = ["Hello", "Welcome", "Goodbye"];
Store.saveList("messages", messages);

// βœ… 10) Get a list of primitives
final loadedMessages = Store.getList<String>("messages");
print("πŸ“¨ Messages:");
for (var msg in loadedMessages) {
print("- $msg");
}

// βœ… 11) Check if a key exists
if (Store.contains("user")) {
print("πŸ” Key 'user' exists in cache");
}

// βœ… 12) Delete a single key
Store.delete("token");

// βœ… 13) Clear all stored data
// Store.clear(); // Uncomment to delete all saved data
}
1
likes
140
points
36
downloads

Publisher

unverified uploader

Weekly Downloads

Flutter package for ultra-simple local data storage in key-value format - with zero boilerplate.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter, msgpack_dart, path_provider

More

Packages that depend on smart_store