[FIX] Node initialization logic for non-dynamic values.

This commit is contained in:
2026-01-27 14:37:05 +02:00
parent 53cd7da463
commit 304b7fb717

View File

@@ -38,39 +38,6 @@ class AstromicFormController {
/// Retrieves a specific [AstromicFieldNode] by its unique [id], creating it if an [initialValue] is provided.
AstromicFieldNode<T> node<T>(String id, {T? initialValue}) {
// if (_nodes.containsKey(id)) {
// return (_nodes[id] as dynamic) as AstromicFieldNode<T>;
// }
// if (initialValue != null || _isNullable<T>()) {
// final newNode = AstromicFieldNode<T>(
// initialValue as T,
// formatter: (v) => v?.toString() ?? '',
// parser: (v) => (T == String ? v : null) as T?,
// );
// _nodes[id] = newNode;
// return newNode;
// }
// T? defaultValue;
// if (T == String || T == _typeOf<String?>()) {
// defaultValue = '' as T;
// } else if (T == int || T == _typeOf<int?>()) {
// defaultValue = 0 as T;
// } else if (T == bool || T == _typeOf<bool?>()) {
// defaultValue = false as T;
// }
// if (defaultValue != null) {
// final newNode = AstromicFieldNode<T>(
// defaultValue,
// formatter: (v) => v.toString(),
// parser: (v) => null,
// );
// _nodes[id] = newNode;
// return newNode;
// }
// 1. Check if it exists
if (_nodes.containsKey(id)) {
final existingNode = _nodes[id]!;
@@ -90,7 +57,7 @@ class AstromicFormController {
}
final replacementNode = AstromicFieldNode<T>(
migratedValue as T, // Should be safe now
migratedValue as T,
formatter: (v) => v?.toString() ?? '',
parser: (v) => (T == String ? v : null) as T?,
);