readRequiredString function

String readRequiredString(
  1. CrossmintJsonMap source,
  2. List<String> keys, {
  3. required String entityName,
  4. required CrossmintException exceptionFactory(
    1. String, {
    2. Object? cause,
    }),
})

Implementation

String readRequiredString(
  CrossmintJsonMap source,
  List<String> keys, {
  required String entityName,
  required CrossmintException Function(String, {Object? cause})
  exceptionFactory,
}) {
  for (final String key in keys) {
    final Object? value = source[key];
    if (value is String && value.trim().isNotEmpty) {
      return value;
    }
  }

  throw exceptionFactory(
    'Missing required identifier for $entityName.',
    cause: source,
  );
}