Skip to content

Commit bb6bf70

Browse files
committed
fix: add missing getPropertyCountAsync/getInstanceCountAsync to new backends
1 parent a7f496f commit bb6bf70

2 files changed

Lines changed: 22 additions & 0 deletions

File tree

android/src/new/java/com/margelo/nitro/rive/HybridViewModel.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,16 @@ class HybridViewModel(
5656
override val modelName: String
5757
get() = viewModelName ?: throw UnsupportedOperationException(NO_NAME_ERROR)
5858

59+
override fun getPropertyCountAsync(): Promise<Double> {
60+
val name = viewModelName ?: return Promise.rejected(UnsupportedOperationException(NO_NAME_ERROR))
61+
return Promise.async { riveFile.getViewModelProperties(name).size.toDouble() }
62+
}
63+
64+
override fun getInstanceCountAsync(): Promise<Double> {
65+
val name = viewModelName ?: return Promise.rejected(UnsupportedOperationException(NO_NAME_ERROR))
66+
return Promise.async { riveFile.getViewModelInstanceNames(name).size.toDouble() }
67+
}
68+
5969
// Deprecated: Use createInstanceByNameAsync instead
6070
override fun createInstanceByIndex(index: Double): HybridViewModelInstanceSpec? {
6171
val name = viewModelName ?: throw UnsupportedOperationException(NO_NAME_ERROR)

ios/new/HybridViewModel.swift

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,18 @@ class HybridViewModel: HybridViewModelSpec {
3232
}
3333
}
3434

35+
func getPropertyCountAsync() throws -> Promise<Double> {
36+
return Promise.async {
37+
Double(try await self.file.getProperties(of: self.vmName).count)
38+
}
39+
}
40+
41+
func getInstanceCountAsync() throws -> Promise<Double> {
42+
return Promise.async {
43+
Double(try await self.file.getInstanceNames(of: self.vmName).count)
44+
}
45+
}
46+
3547
private func createDefaultInstanceImpl() async throws -> (any HybridViewModelInstanceSpec)? {
3648
let vmi = try await self.file.createViewModelInstance(.viewModelDefault(from: .name(self.vmName)))
3749
return HybridViewModelInstance(viewModelInstance: vmi, worker: self.worker)

0 commit comments

Comments
 (0)