UidlDocumentState constructor

UidlDocumentState({
  1. required UidlDocument document,
  2. Map<String, dynamic>? initialData,
  3. Map<String, dynamic>? session,
  4. Map<String, dynamic>? route,
  5. ComponentRegistry? registry,
  6. NavigationHandler? onNavigate,
  7. SnackbarHandler? onSnackbar,
  8. MutationHandler? onMutate,
  9. CommandHandler? onCommand,
  10. DownloadHandler? onDownload,
  11. ApiHandler? onApi,
  12. QueryHandler? onQuery,
})

Implementation

UidlDocumentState({
  required this.document,
  Map<String, dynamic>? initialData,
  Map<String, dynamic>? session,
  Map<String, dynamic>? route,
  ComponentRegistry? registry,
  this.onNavigate,
  this.onSnackbar,
  this.onMutate,
  this.onCommand,
  this.onDownload,
  this.onApi,
  this.onQuery,
})  : session = session ?? {},
      route = route ?? {},
      registry = registry ?? ComponentRegistry() {
  state = Map<String, dynamic>.from(document.initialState);
  data = Map<String, dynamic>.from(initialData ?? {});
  DataSourceRunner.initializeDataSources(document.dataSources, state, data);

  dispatcher = ActionDispatcher(
    state: state,
    scope: scope,
    onNavigate: onNavigate,
    onSnackbar: onSnackbar,
    onMutate: onMutate,
    onCommand: onCommand,
    onDownload: onDownload,
    onApi: onApi,
    onQuery: onQuery,
    onStateChanged: notifyListeners,
  );
}