Skip to content

Commit

Permalink
Introduce cxxreactpackage provider into default tmmdelegate (facebook…
Browse files Browse the repository at this point in the history
…#41735)

Summary:
Pull Request resolved: facebook#41735

Changelog: [Internal]

Reviewed By: christophpurrer

Differential Revision: D51734655

fbshipit-source-id: 2966e9d7ef0af852750c35b35ec39d9e8f9b9a80
  • Loading branch information
RSNara authored and Othinn committed Jan 9, 2024
1 parent ee2ecd3 commit 80f1251
Showing 1 changed file with 24 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -47,20 +47,39 @@ private constructor(

class Builder : ReactPackageTurboModuleManagerDelegate.Builder() {
private var eagerInitModuleNames: List<String> = emptyList()
private var cxxReactPackages: MutableList<CxxReactPackage> = mutableListOf()
private var cxxReactPackageProviders:
MutableList<((context: ReactApplicationContext) -> CxxReactPackage)> =
mutableListOf()

fun setEagerInitModuleNames(eagerInitModuleNames: List<String>): Builder {
this.eagerInitModuleNames = eagerInitModuleNames
return this
}

fun addCxxReactPackage(cxxReactPackage: CxxReactPackage): Builder {
this.cxxReactPackages.add(cxxReactPackage)
fun addCxxReactPackage(provider: () -> CxxReactPackage): Builder {
this.cxxReactPackageProviders.add({ _ -> provider() })
return this
}

override fun build(context: ReactApplicationContext, packages: List<ReactPackage>) =
DefaultTurboModuleManagerDelegate(context, packages, eagerInitModuleNames, cxxReactPackages)
fun addCxxReactPackage(
provider: (context: ReactApplicationContext) -> CxxReactPackage
): Builder {
this.cxxReactPackageProviders.add(provider)
return this
}

override fun build(
context: ReactApplicationContext,
packages: List<ReactPackage>
): DefaultTurboModuleManagerDelegate {
val cxxReactPackages = mutableListOf<CxxReactPackage>()
for (cxxReactPackageProvider in cxxReactPackageProviders) {
cxxReactPackages.add(cxxReactPackageProvider(context))
}

return DefaultTurboModuleManagerDelegate(
context, packages, eagerInitModuleNames, cxxReactPackages)
}
}

companion object {
Expand Down

0 comments on commit 80f1251

Please sign in to comment.