ProjectSnapshot.fromProject constructor
ProjectSnapshot.fromProject(
- FFProject project
Implementation
factory ProjectSnapshot.fromProject(FFProject project) {
final appState = [
for (final field in _sortedByName(
listAppStateFields(project),
(field) => field.parameter.identifier.name,
))
FieldSnapshot(
name: field.parameter.identifier.name,
key: field.parameter.identifier.key,
type: formatDataType(field.parameter.dataType),
defaultValue:
field.serializedDefaultValue.isEmpty
? null
: field.serializedDefaultValue.join(', '),
description:
field.parameter.description.isEmpty
? null
: field.parameter.description,
persisted: field.persisted,
),
];
final pages = [
for (final pageInfo in _sortedByName(
listPages(project),
(page) => page.name,
))
if (project_helpers.findPage(project, name: pageInfo.name)
case final widgetClass?)
PageSnapshot._fromWidgetClass(
project,
widgetClass,
route: pageInfo.route,
),
];
final components = [
for (final componentInfo in _sortedByName(
listComponents(project),
(component) => component.name,
))
if (project_helpers.findComponent(project, name: componentInfo.name)
case final widgetClass?)
ComponentSnapshot._fromWidgetClass(project, widgetClass),
];
return ProjectSnapshot._(
name: project.name,
appState: appState,
pages: pages,
components: components,
);
}