buildCustom method

  1. @override
Widget buildCustom({
  1. ChildWidgetBuilder? childBuilder,
  2. required BuildContext context,
  3. required JsonWidgetData data,
  4. Key? key,
})
override

Custom builder that subclasses must override and implement to return the actual Widget to be placed on the tree.

Implementation

@override
Widget buildCustom({
  ChildWidgetBuilder? childBuilder,
  required BuildContext context,
  required JsonWidgetData data,
  Key? key,
}) {
  assert(
    data.children?.length == 1 || data.children?.isNotEmpty != true,
    '[JsonSetValueBuilder] only supports zero or one child.',
  );
  values?.forEach(
    (key, value) => data.registry.setValue(
      key,
      value,
      originator: null,
    ),
  );

  var child = data.children?.isNotEmpty == true ? data.children![0] : null;
  child = child?.recreate();

  return child?.build(
        childBuilder: childBuilder,
        context: context,
      ) ??
      SizedBox(key: key);
}