description

# CustomEvent constructor Null safety

CustomEvent(

1. String type,
2. {bool canBubble: true,
3. bool cancelable: true,
4. Object? detail}

)

## Implementation

    factory CustomEvent(String type,
        {bool canBubble: true, bool cancelable: true, Object? detail}) {
      final CustomEvent e = document._createEvent('CustomEvent') as CustomEvent;

      e._dartDetail = detail;

      // Only try setting the detail if it's one of these types to avoid
      // first-chance exceptions. Can expand this list in the future as needed.
      if (detail is List || detail is Map || detail is String || detail is num) {
        try {
          detail = convertDartToNative_SerializedScriptValue(detail);
          e._initCustomEvent(type, canBubble, cancelable, detail);
        } catch (_) {
          e._initCustomEvent(type, canBubble, cancelable, null);
        }
      } else {
        e._initCustomEvent(type, canBubble, cancelable, null);
      }

      return e;
    }