toValueNode method
ValueNode
toValueNode()
Implementation
ValueNode toValueNode() {
final self = this;
if (self == null) return const NullValueNode();
if (self is String) {
return StringValueNode(value: self, isBlock: false);
} else if (self is int) {
return IntValueNode(value: self.toString());
} else if (self is num) {
return FloatValueNode(value: self.toString());
} else if (self is Iterable<Object?>) {
return ListValueNode(values: self.map((e) => e.toValueNode()).toList());
} else if (self is Map<Object?, Object?>) {
return ObjectValueNode(
fields: self.entries
.map((entry) => ObjectFieldNode(
name: entry.key.toString().toNameNode(),
value: entry.value.toValueNode(),
))
.toList());
} else {
throw "Don't know how to create value node from ${this.runtimeType}";
}
}