Skip to content

Commit 8cbc0a6

Browse files
committed
Remove ResourceCollection
1 parent 4306163 commit 8cbc0a6

16 files changed

+33
-44
lines changed

lib/document.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,4 @@ export 'package:json_api/src/document/one.dart';
1111
export 'package:json_api/src/document/outbound_document.dart';
1212
export 'package:json_api/src/document/relationship.dart';
1313
export 'package:json_api/src/document/resource.dart';
14-
export 'package:json_api/src/document/resource_collection.dart';
1514
export 'package:json_api/src/document/resource_properties.dart';

lib/query.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ export 'package:json_api/src/query/fields.dart';
55
export 'package:json_api/src/query/filter.dart';
66
export 'package:json_api/src/query/include.dart';
77
export 'package:json_api/src/query/page.dart';
8-
export 'package:json_api/src/query/sort.dart';
98
export 'package:json_api/src/query/query.dart';
109
export 'package:json_api/src/query/query_encodable.dart';
10+
export 'package:json_api/src/query/sort.dart';

lib/src/client/response/collection_fetched.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ class CollectionFetched {
1313
final HttpResponse http;
1414

1515
/// The resource collection fetched from the server
16-
final collection = ResourceCollection();
16+
final collection = <Resource>[];
1717

1818
/// Included resources
19-
final included = ResourceCollection();
19+
final included = <Resource>[];
2020

2121
/// Top-level meta data
2222
final meta = <String, Object?>{};

lib/src/client/response/related_resource_fetched.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class RelatedResourceFetched {
1919
final Resource? resource;
2020

2121
/// Included resources
22-
final included = ResourceCollection();
22+
final included = <Resource>[];
2323

2424
/// Top-level meta data
2525
final meta = <String, Object?>{};

lib/src/client/response/relationship_fetched.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@ class RelationshipFetched<R extends Relationship> {
1515

1616
final HttpResponse http;
1717
final R relationship;
18-
final included = ResourceCollection();
18+
final included = <Resource>[];
1919
}

lib/src/client/response/resource_created.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,5 @@ class ResourceCreated {
2525
final links = <String, Link>{};
2626

2727
/// Included resources
28-
final included = ResourceCollection();
28+
final included = <Resource>[];
2929
}

lib/src/client/response/resource_fetched.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,5 @@ class ResourceFetched {
2020
final links = <String, Link>{};
2121

2222
/// Included resources
23-
final included = ResourceCollection();
23+
final included = <Resource>[];
2424
}

lib/src/client/response/resource_updated.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,5 @@ class ResourceUpdated {
3232
final links = <String, Link>{};
3333

3434
/// Included resources
35-
final included = ResourceCollection();
35+
final included = <Resource>[];
3636
}

lib/src/document/resource.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ class Resource with ResourceProperties {
66

77
final String type;
88
final String id;
9+
910
String get key => '$type:$id';
1011

1112
/// Resource links

lib/src/document/resource_collection.dart

Lines changed: 0 additions & 21 deletions
This file was deleted.

lib/src/query/fields.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import 'dart:collection';
22

33
import 'package:json_api/src/query/query_encodable.dart';
44

5-
65
/// Query parameters defining Sparse Fieldsets
76
/// @see https://jsonapi.org/format/#fetching-sparse-fieldsets
87
class Fields with MapMixin<String, Iterable<String>> implements QueryEncodable {

test/contract/crud_test.dart

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,10 @@ void main() {
5555
final fetchedPost = response.collection.first;
5656
expect(fetchedPost.attributes['title'], 'Hello world');
5757

58-
final fetchedAuthor =
59-
response.included[fetchedPost.one('author')?.identifier?.key];
60-
expect(fetchedAuthor?.attributes['name'], 'Alice');
58+
final fetchedAuthor = response.included
59+
.where(fetchedPost.one('author')!.identifier!.identifies)
60+
.single;
61+
expect(fetchedAuthor.attributes['name'], 'Alice');
6162

6263
final fetchedComment =
6364
find(fetchedPost.many('comments')!, response.included).single;
@@ -121,8 +122,10 @@ void main() {
121122
Include(['author'])
122123
]).then((r) {
123124
expect(
124-
r.included[r.resource.one('author')?.identifier?.key]
125-
?.attributes['name'],
125+
r.included
126+
.where(r.resource.one('author')!.identifier!.identifies)
127+
.single
128+
.attributes['name'],
126129
'Bob');
127130
});
128131
});
@@ -179,6 +182,6 @@ void main() {
179182
/// Finds the referenced elements which are found in the [collection].
180183
/// The resulting [Iterable] may contain fewer elements than referred by the
181184
/// relationship if the [collection] does not have all of them.
182-
Iterable<Resource> find(ToMany many, ResourceCollection collection) =>
185+
Iterable<Resource> find(ToMany many, Iterable<Resource> collection) =>
183186
collection.where((resource) =>
184187
many.any((identifier) => identifier.identifies(resource)));

test/unit/query/fields_test.dart

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,10 @@ void main() {
5353
'articles': ['title', 'body'],
5454
'people': ['name']
5555
}).toQuery(),
56-
{'fields[articles]': ['title,body'], 'fields[people]': ['name']});
56+
{
57+
'fields[articles]': ['title,body'],
58+
'fields[people]': ['name']
59+
});
5760
});
5861
});
5962
}

test/unit/query/filter_test.dart

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,10 @@ void main() {
3030
});
3131

3232
test('Can convert to query parameters', () {
33-
expect(Filter({'post': '1,2', 'author': '12'}).toQuery(),
34-
{'filter[post]': ['1,2'], 'filter[author]': ['12']});
33+
expect(Filter({'post': '1,2', 'author': '12'}).toQuery(), {
34+
'filter[post]': ['1,2'],
35+
'filter[author]': ['12']
36+
});
3537
});
3638
});
3739
}

test/unit/query/page_test.dart

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,10 @@ void main() {
3030
});
3131

3232
test('can convert to query parameters', () {
33-
expect(Page({'limit': '10', 'offset': '20'}).toQuery(),
34-
{'page[limit]': ['10'], 'page[offset]': ['20']});
33+
expect(Page({'limit': '10', 'offset': '20'}).toQuery(), {
34+
'page[limit]': ['10'],
35+
'page[offset]': ['20']
36+
});
3537
});
3638
});
3739
}

test/unit/query/sort_test.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ void main() {
2626
});
2727

2828
test('Can convert to query parameters', () {
29-
expect(Sort(['-created', 'title']).toQuery(),
30-
{'sort': ['-created,title']});
29+
expect(Sort(['-created', 'title']).toQuery(), {
30+
'sort': ['-created,title']
31+
});
3132
});
3233
}

0 commit comments

Comments
 (0)