isPrimitive method

bool isPrimitive()

Checks if this object is a primitive type.

Implementation

bool isPrimitive() {
  bool isPrimitiveValue(Object? value) {
    if (value == null) return false;
    if (value is num ||
        value is bool ||
        value is String ||
        value is BigInt ||
        value is DateTime) {
      return true;
    }
    if (value is Iterable) {
      return value.every(isPrimitiveValue);
    }
    if (value is Map) {
      return value.keys.every(isPrimitiveValue) &&
          value.values.every(isPrimitiveValue);
    }
    return false;
  }

  return isPrimitiveValue(this);
}