toJson method
Implementation
Map<String, Object?> toJson() => {
'name': name,
'kind': kind.name,
if (defaultValue != null)
'default': encodePropertyValue(defaultValue!, (id) => id.toToken()),
if (doc != null) 'doc': doc,
if (group != null) 'group': group,
if (resourceKind != null) 'resourceKind': resourceKind,
if (options != null) 'options': options,
if (constraints.isNotEmpty)
'constraints': [
for (final constraint in constraints) constraint.toJson(),
],
if (formerNames.isNotEmpty) 'formerNames': formerNames,
if (transient) 'transient': true,
if (itemDef != null) 'item': itemDef!.toJson(),
if (objectFields != null)
'fields': [for (final field in objectFields!) field.toJson()],
if (unionVariants != null) ...{
if (unionTag != 'kind') 'unionTag': unionTag,
'variants': {
for (final entry in unionVariants!.entries)
entry.key: [for (final field in entry.value) field.toJson()],
},
},
};