-
Notifications
You must be signed in to change notification settings - Fork 25
Initial proposal for retrofit to local storage #112
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Daria para evoluir para trabalhar com valores default em getters, para não haver nullables... |
|
Temos que achar uma maneira de não acoplar o shared_preferences |
|
@jacobaraujo7 isso faz mais sentido pra você? |
|
@tganzerli Pode analisar isso por favor? |
|
Eu acho que esta muito fora do padrão aplicado no Vaden.
|
|
@tganzerli acho que faz bastante sentido... apenas para ilustrar, a API de uso ficaria assim: @LocalStorage(key: 'products')
class ProductLocal {
@Set()
Future<List<ProductModel>> setProducts(List<ProductModel> products);
@Get(defaultValue: []) /// sem o `defaultValue` caso não exista retorna null
Future<List<ProductModel>> getProducts();
@Set()
Future<ProductModel> setProduct(ProductModel product);
@Get()
Future<ProductModel?> getProduct();
}
@LocalStorage(key: 'theme')
class ThemeLocal {
@Set()
Future<void> setDarkMode(bool enabled);
@Get(defaultValue: false)
Future<bool> getDarkMode();
}Que me agrada muito! @jacobaraujo7 teria alguma ideia? |
📄 Description
Essse PR é uma proposta inicial para criação de um "retrofit" para armazenamento local.
Visando padrinizar qualquer acesso a fonte de dados usando o retrofit.
É necessario criar um adapter implementando a interface
ILocalStoragepara o seu local storage favorito.🔄 Changes Made
vaden_class_scannervaden_core✅ Checklist
⚠ Ainda não foi feito testes e etc. Esse PR foi aberto a titulo de discutir a solução e sua implementação.
Exemplo de uso:
Adapter:
Configuration
LocalStorage (Retrofit)
class gerada: