Skip to content

Commit 13a5e9f

Browse files
committed
better way to type Erase a Resource
1 parent 24b7a6b commit 13a5e9f

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

Source/Resource.swift

+7-1
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,17 @@ public struct Resource<Model>: ResourceModeling {
4242
}
4343

4444
public extension ResourceModeling {
45-
4645
/// Wrappes self into a `Resource` to hide away implementation details. This could be helpful when you think your typeinformation gets leaked.
4746
///
4847
/// - Returns: the wrapped ressource
48+
@available(*, deprecated, message: "Use `init<R: ResourceModeling>(resource: R)`")
4949
func wrapped() -> Resource<Model> {
5050
return Resource(request: request, parse: parse)
5151
}
5252
}
53+
54+
public extension Resource {
55+
init<R: ResourceModeling>(resource: R) where Model == R.Model {
56+
self = Resource(request: resource.request, parse: resource.parse)
57+
}
58+
}

0 commit comments

Comments
 (0)