sharedPreferenceTemplate top-level property

String sharedPreferenceTemplate
getter/setter pair

This is code to be generated.

Implementation

String sharedPreferenceTemplate = """
/*
 * Created by DartGenX CLI tool on ${DateFormat('EEE, dd MMM yyyy, h:mm a').format(DateTime.now())}
 */

import 'dart:developer';

import 'package:shared_preferences/shared_preferences.dart';

class SharedPreferencesService {
  SharedPreferencesService._();

  static final SharedPreferencesService instance = SharedPreferencesService._();

  static late final SharedPreferences preferences;

  Future<void> init() async {
    preferences = await SharedPreferences.getInstance();
    log("⚙️ SharedPreferences is initialize successfully", name: "SharedPreferencesService");
  }

  Future<bool> setValueFor(String key, dynamic value) async {
    if (value is bool) {
      return await preferences.setBool(key, value);
    } else if (value is String) {
      return await preferences.setString(key, value);
    } else if (value is List<String>) {
      return await preferences.setStringList(key, value);
    } else if (value is int) {
      return await preferences.setInt(key, value);
    } else if (value is double) {
      return await preferences.setDouble(key, value);
    }
    return Future.error("DataType is not supported");
  }

  dynamic valueFor(String key) {
    return preferences.get(key);
  }

  void removeKey(String key) {
    preferences.remove(key);
  }

  void clear() {
    preferences.clear();
  }
}
""";