@@ -20,19 +20,19 @@ final class HybridRiveFileFactory: HybridRiveFileFactorySpec, @unchecked Sendabl
2020 /// - Throws: Runtime errors if any step fails.
2121 func genericFrom< CheckResult, Prepared> (
2222 check: @escaping ( ) throws -> CheckResult ,
23- prepare: @escaping ( CheckResult ) throws -> Prepared ,
23+ prepare: @escaping ( CheckResult ) async throws -> Prepared ,
2424 fileWithCustomAssetLoader: @escaping ( Prepared , @escaping LoadAsset ) throws -> RiveFile ,
2525 file: @escaping ( Prepared ) throws -> RiveFile ,
2626 referencedAssets: ReferencedAssetsType ?
2727 ) throws -> Promise < ( any HybridRiveFileSpec ) > {
2828 return Promise . async {
2929 do {
3030 let checked = try check ( )
31+ let prepared = try await prepare ( checked)
3132
3233 let result = try await withCheckedThrowingContinuation { continuation in
3334 DispatchQueue . global ( qos: . userInitiated) . async {
3435 do {
35- let prepared = try prepare ( checked)
3636
3737 let referencedAssetCache = SendableRef ( ReferencedAssetCache ( ) )
3838 let factoryCache : SendableRef < RiveFactory ? > = . init( nil )
@@ -94,7 +94,7 @@ final class HybridRiveFileFactory: HybridRiveFileFactorySpec, @unchecked Sendabl
9494 }
9595 return url
9696 } ,
97- prepare: { url in try Data ( contentsOf : url) } ,
97+ prepare: { url in try await HTTPLoader . shared . downloadData ( from : url) } ,
9898 fileWithCustomAssetLoader: { ( data, loader) in
9999 try RiveFile ( data: data, loadCdn: loadCdn, customAssetLoader: loader)
100100 } ,
0 commit comments