toMap method
Convertit le JSObject en Map Dart pour un acces facile aux propertes Cela evite les multiples appels a getProperty() dans les tests
Implementation
Map<String, dynamic> toMap() {
final result = <String, dynamic>{};
for (final key in _properties.keys) {
final value = getProperty(key);
// Convertir les valeurs JSValue en types Dart natifs
if (value.isNull || value.isUndefined) {
result[key] = null;
} else if (value.isBoolean) {
result[key] = value.toBoolean();
} else if (value.isNumber) {
final num = value.toNumber();
result[key] = num == num.truncateToDouble() ? num.toInt() : num;
} else if (value.isString) {
result[key] = value.toString();
} else if (value is JSArray) {
result[key] = value.toList();
} else if (value is JSObject) {
result[key] = value.toMap();
} else {
// For les autres types (fonctions, symboles, etc.), return la valeur JS
result[key] = value;
}
}
return result;
}