UidlRenderContext.fromDocument constructor

UidlRenderContext.fromDocument(
  1. 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,
  13. void onStateChanged()?,
})

Implementation

factory UidlRenderContext.fromDocument(
  UidlDocument document, {
  Map<String, dynamic>? initialData,
  Map<String, dynamic>? session,
  Map<String, dynamic>? route,
  ComponentRegistry? registry,
  NavigationHandler? onNavigate,
  SnackbarHandler? onSnackbar,
  MutationHandler? onMutate,
  CommandHandler? onCommand,
  DownloadHandler? onDownload,
  ApiHandler? onApi,
  QueryHandler? onQuery,
  void Function()? onStateChanged,
}) {
  final state = Map<String, dynamic>.from(document.initialState);
  final data = Map<String, dynamic>.from(initialData ?? {});

  DataSourceRunner.initializeDataSources(document.dataSources, state, data);

  return UidlRenderContext(
    state: state,
    data: data,
    session: session ?? {},
    route: route ?? {},
    registry: registry,
    onNavigate: onNavigate,
    onSnackbar: onSnackbar,
    onMutate: onMutate,
    onCommand: onCommand,
    onDownload: onDownload,
    onApi: onApi,
    onQuery: onQuery,
    onStateChanged: onStateChanged,
  );
}