FieldDefinition.fromJson constructor
Creates a FieldDefinition from JSON
Implementation
factory FieldDefinition.fromJson(Map<String, dynamic> json) {
Type fieldType;
final typeString = json['type'] as String;
switch (typeString.toLowerCase()) {
case 'string':
fieldType = String;
break;
case 'int':
case 'integer':
fieldType = int;
break;
case 'double':
case 'num':
case 'number':
fieldType = double;
break;
case 'bool':
case 'boolean':
fieldType = bool;
break;
case 'datetime':
fieldType = DateTime;
break;
default:
fieldType = String; // fallback
}
return FieldDefinition(
name: json['name'],
displayName: json['displayName'] ?? json['name'],
type: fieldType,
isRequired: json['isRequired'] ?? false,
defaultValue: json['defaultValue'],
validationRules: List<String>.from(json['validationRules'] ?? []),
description: json['description'],
metadata: json['metadata'],
);
}