Tower<T extends FortState> constructor

Tower<T extends FortState>(
  1. Reducer<T> reducer, {
  2. required T initialState,
  3. List<Middleware<T>> middleware = const [],
  4. bool syncStream = false,
  5. bool distinct = false,
  6. SerializationFunction<T>? serializer,
  7. PersistorCallBackFunction<T>? persistorCallBack,
})

Default Constructor

Implementation

factory Tower(
  Reducer<T> reducer, {
  required T initialState,
  List<Middleware<T>> middleware = const [],
  bool syncStream = false,
  bool distinct = false,
  SerializationFunction<T>? serializer, ///When defined creates a persistor
  PersistorCallBackFunction<T>? persistorCallBack
}){

  Persistor<T>? persistor;
  if(serializer != null){
    persistor = Persistor<T>(
      storage: FlutterStorage(location: FlutterSaveLocation.sharedPreferences),
      serializer: JsonSerializer(serializer)
    );

    //Add persistor middleware
    middleware = [persistor.createMiddleware(), ...middleware];
  }

  //Adds thunk middleware
  middleware = [thunkMiddleware, ...middleware];

  //Default event reducer
  return Tower._(
    Tower._TowerReducer<T, dynamic>(reducer),
    initialState: initialState,
    middleware: middleware,
    syncStream: syncStream,
    distinct: distinct,
    persistor: persistor
  );
}