coerceDescriptionToString function

String? coerceDescriptionToString(
  1. dynamic value, {
  2. String? componentName,
  3. String? pluginName,
})

Coerce a description value from frontmatter to a string.

Implementation

String? coerceDescriptionToString(
  dynamic value, {
  String? componentName,
  String? pluginName,
}) {
  if (value == null) return null;
  if (value is String) return value.trim().isEmpty ? null : value.trim();
  if (value is num || value is bool) return '$value';
  // Non-scalar
  final source = pluginName != null
      ? '$pluginName:$componentName'
      : (componentName ?? 'unknown');
  stderr.writeln('Description invalid for $source - omitting');
  return null;
}