convertInsertVal static method

InsertData? convertInsertVal(
  1. dynamic insertPropVal,
  2. OpAttributeSanitizerOptions sanitizeOptions
)

Implementation

static InsertData? convertInsertVal(dynamic insertPropVal, OpAttributeSanitizerOptions sanitizeOptions) {
  if (insertPropVal is String) {
    return InsertDataQuill(DataType.text, insertPropVal);
  }

  if (!isTruthy(insertPropVal) || insertPropVal is! Map<String, dynamic>) {
    return null;
  }

  final List<String> keys = insertPropVal.keys.toList(growable: false);
  if (keys.isEmpty) {
    return null;
  }

  if (keys.contains(DataType.image.value)) {
    return InsertDataQuill(DataType.image, OpLinkSanitizer.sanitize(insertPropVal[DataType.image.value].toString(), sanitizeOptions));
  }

  if (keys.contains(DataType.video.value)) {
    return InsertDataQuill(DataType.video, OpLinkSanitizer.sanitize(insertPropVal[DataType.video.value].toString(), sanitizeOptions));
  }

  if (keys.contains(DataType.formula.value)) {
    return InsertDataQuill(DataType.formula, insertPropVal[DataType.formula.value]);
  }

  // custom
  final String firstKey = keys.first;
  return InsertDataCustom(firstKey, insertPropVal[firstKey]);
}