@@ -4,46 +4,6 @@ import RiveRuntime
44final class HybridRiveFileFactory : HybridRiveFileFactorySpec , @unchecked Sendable {
55 let assetLoader = ReferencedAssetLoader ( )
66
7- private final func buildRiveFile(
8- fileWithCustomAssetLoader: ( @escaping LoadAsset ) throws -> RiveFile ,
9- file: ( ) throws -> RiveFile ,
10- referencedAssets: ReferencedAssetsType ?
11- ) throws -> (
12- file: RiveFile , cache: ReferencedAssetCache , factory: RiveFactory ? ,
13- loader: ReferencedAssetLoader ?
14- ) {
15- let referencedAssetCache = SendableRef ( ReferencedAssetCache ( ) )
16- let factoryCache : SendableRef < RiveFactory ? > = . init( nil )
17- let customLoader = assetLoader. createCustomLoader (
18- referencedAssets: referencedAssets, cache: referencedAssetCache, factory: factoryCache)
19-
20- let riveFile =
21- if let customLoader = customLoader {
22- try fileWithCustomAssetLoader ( customLoader)
23- } else {
24- try file ( )
25- }
26-
27- return (
28- file: riveFile, cache: referencedAssetCache. value, factory: factoryCache. value,
29- loader: customLoader != nil ? assetLoader : nil
30- )
31- }
32-
33- private func buildRiveFile( data: Data , loadCdn: Bool , referencedAssets: ReferencedAssetsType ? )
34- throws -> (
35- file: RiveFile , cache: ReferencedAssetCache , factory: RiveFactory ? ,
36- loader: ReferencedAssetLoader ?
37- )
38- {
39- return try buildRiveFile (
40- fileWithCustomAssetLoader: { ( loader) in
41- try RiveFile ( data: data, loadCdn: loadCdn, customAssetLoader: loader)
42- } ,
43- file: { try RiveFile ( data: data, loadCdn: loadCdn) } ,
44- referencedAssets: referencedAssets)
45- }
46-
477 /// Asynchronously creates a `HybridRiveFileSpec` by performing the following steps:
488 /// 1. Executes `check()` to validate or fetch initial data.
499 /// 2. Processes the result with `prepare()`.
0 commit comments