Map<String, dynamic> get asMap => { 'type': type, if (id != null) 'id': id, 'attributes': attributes, if (relationships.isNotEmpty) 'relationships': relationships, if (links.isNotEmpty) 'links': links, };