@rive-app/react-native 0.1.1-beta.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/README.md +18 -7
  2. package/android/src/main/java/com/margelo/nitro/rive/BaseHybridViewModelProperty.kt +9 -7
  3. package/android/src/main/java/com/margelo/nitro/rive/BaseHybridViewModelPropertyImpl.kt +43 -24
  4. package/android/src/main/java/com/margelo/nitro/rive/HybridRiveFile.kt +0 -1
  5. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelBooleanProperty.kt +3 -2
  6. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelColorProperty.kt +3 -2
  7. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelEnumProperty.kt +3 -2
  8. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelImageProperty.kt +3 -2
  9. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelInstance.kt +26 -47
  10. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelListProperty.kt +64 -0
  11. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelNumberProperty.kt +3 -2
  12. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelStringProperty.kt +3 -2
  13. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelTriggerProperty.kt +3 -2
  14. package/ios/BaseHybridViewModelProperty.swift +22 -6
  15. package/ios/HybridViewModel.swift +1 -6
  16. package/ios/HybridViewModelBooleanProperty.swift +1 -9
  17. package/ios/HybridViewModelColorProperty.swift +3 -12
  18. package/ios/HybridViewModelEnumProperty.swift +1 -9
  19. package/ios/HybridViewModelImageProperty.swift +4 -4
  20. package/ios/HybridViewModelInstance.swift +6 -6
  21. package/ios/HybridViewModelListProperty.swift +62 -0
  22. package/ios/HybridViewModelNumberProperty.swift +2 -13
  23. package/ios/HybridViewModelStringProperty.swift +1 -9
  24. package/ios/HybridViewModelTriggerProperty.swift +5 -14
  25. package/ios/RiveReactNativeView.swift +36 -0
  26. package/lib/module/hooks/useRiveColor.js +0 -1
  27. package/lib/module/hooks/useRiveColor.js.map +1 -1
  28. package/lib/module/hooks/useRiveList.js +71 -0
  29. package/lib/module/hooks/useRiveList.js.map +1 -0
  30. package/lib/module/hooks/useRiveProperty.js +6 -12
  31. package/lib/module/hooks/useRiveProperty.js.map +1 -1
  32. package/lib/module/hooks/useViewModelInstance.js +139 -0
  33. package/lib/module/hooks/useViewModelInstance.js.map +1 -0
  34. package/lib/module/index.js +2 -0
  35. package/lib/module/index.js.map +1 -1
  36. package/lib/typescript/src/hooks/useRiveColor.d.ts +6 -4
  37. package/lib/typescript/src/hooks/useRiveColor.d.ts.map +1 -1
  38. package/lib/typescript/src/hooks/useRiveList.d.ts +11 -0
  39. package/lib/typescript/src/hooks/useRiveList.d.ts.map +1 -0
  40. package/lib/typescript/src/hooks/useRiveProperty.d.ts +6 -1
  41. package/lib/typescript/src/hooks/useRiveProperty.d.ts.map +1 -1
  42. package/lib/typescript/src/hooks/useViewModelInstance.d.ts +86 -0
  43. package/lib/typescript/src/hooks/useViewModelInstance.d.ts.map +1 -0
  44. package/lib/typescript/src/index.d.ts +4 -1
  45. package/lib/typescript/src/index.d.ts.map +1 -1
  46. package/lib/typescript/src/specs/ViewModel.nitro.d.ts +39 -15
  47. package/lib/typescript/src/specs/ViewModel.nitro.d.ts.map +1 -1
  48. package/lib/typescript/src/types.d.ts +47 -3
  49. package/lib/typescript/src/types.d.ts.map +1 -1
  50. package/nitrogen/generated/android/c++/JHybridViewModelBooleanPropertySpec.cpp +14 -4
  51. package/nitrogen/generated/android/c++/JHybridViewModelBooleanPropertySpec.hpp +1 -1
  52. package/nitrogen/generated/android/c++/JHybridViewModelColorPropertySpec.cpp +14 -4
  53. package/nitrogen/generated/android/c++/JHybridViewModelColorPropertySpec.hpp +1 -1
  54. package/nitrogen/generated/android/c++/JHybridViewModelEnumPropertySpec.cpp +14 -4
  55. package/nitrogen/generated/android/c++/JHybridViewModelEnumPropertySpec.hpp +1 -1
  56. package/nitrogen/generated/android/c++/JHybridViewModelImagePropertySpec.cpp +15 -6
  57. package/nitrogen/generated/android/c++/JHybridViewModelImagePropertySpec.hpp +1 -1
  58. package/nitrogen/generated/android/c++/JHybridViewModelInstanceSpec.cpp +9 -0
  59. package/nitrogen/generated/android/c++/JHybridViewModelInstanceSpec.hpp +1 -0
  60. package/nitrogen/generated/android/c++/JHybridViewModelListPropertySpec.cpp +102 -0
  61. package/nitrogen/generated/android/c++/JHybridViewModelListPropertySpec.hpp +73 -0
  62. package/nitrogen/generated/android/c++/JHybridViewModelNumberPropertySpec.cpp +14 -4
  63. package/nitrogen/generated/android/c++/JHybridViewModelNumberPropertySpec.hpp +1 -1
  64. package/nitrogen/generated/android/c++/JHybridViewModelStringPropertySpec.cpp +14 -4
  65. package/nitrogen/generated/android/c++/JHybridViewModelStringPropertySpec.hpp +1 -1
  66. package/nitrogen/generated/android/c++/JHybridViewModelTriggerPropertySpec.cpp +12 -3
  67. package/nitrogen/generated/android/c++/JHybridViewModelTriggerPropertySpec.hpp +1 -1
  68. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelBooleanPropertySpec.kt +3 -3
  69. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelColorPropertySpec.kt +3 -3
  70. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelEnumPropertySpec.kt +3 -3
  71. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelImagePropertySpec.kt +3 -3
  72. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelInstanceSpec.kt +4 -0
  73. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelListPropertySpec.kt +92 -0
  74. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelNumberPropertySpec.kt +3 -3
  75. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelStringPropertySpec.kt +3 -3
  76. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rive/HybridViewModelTriggerPropertySpec.kt +3 -3
  77. package/nitrogen/generated/android/rive+autolinking.cmake +2 -0
  78. package/nitrogen/generated/android/riveOnLoad.cpp +4 -74
  79. package/nitrogen/generated/ios/RNRive-Swift-Cxx-Bridge.cpp +17 -0
  80. package/nitrogen/generated/ios/RNRive-Swift-Cxx-Bridge.hpp +53 -0
  81. package/nitrogen/generated/ios/RNRive-Swift-Cxx-Umbrella.hpp +5 -0
  82. package/nitrogen/generated/ios/RNRiveAutolinking.mm +0 -72
  83. package/nitrogen/generated/ios/RNRiveAutolinking.swift +0 -135
  84. package/nitrogen/generated/ios/c++/HybridViewModelBooleanPropertySpecSwift.hpp +3 -1
  85. package/nitrogen/generated/ios/c++/HybridViewModelColorPropertySpecSwift.hpp +3 -1
  86. package/nitrogen/generated/ios/c++/HybridViewModelEnumPropertySpecSwift.hpp +3 -1
  87. package/nitrogen/generated/ios/c++/HybridViewModelImagePropertySpecSwift.hpp +3 -1
  88. package/nitrogen/generated/ios/c++/HybridViewModelInstanceSpecSwift.hpp +11 -0
  89. package/nitrogen/generated/ios/c++/HybridViewModelListPropertySpecSwift.cpp +11 -0
  90. package/nitrogen/generated/ios/c++/HybridViewModelListPropertySpecSwift.hpp +134 -0
  91. package/nitrogen/generated/ios/c++/HybridViewModelNumberPropertySpecSwift.hpp +3 -1
  92. package/nitrogen/generated/ios/c++/HybridViewModelStringPropertySpecSwift.hpp +3 -1
  93. package/nitrogen/generated/ios/c++/HybridViewModelTriggerPropertySpecSwift.hpp +3 -1
  94. package/nitrogen/generated/ios/swift/HybridViewModelBooleanPropertySpec.swift +1 -1
  95. package/nitrogen/generated/ios/swift/HybridViewModelBooleanPropertySpec_cxx.swift +8 -4
  96. package/nitrogen/generated/ios/swift/HybridViewModelColorPropertySpec.swift +1 -1
  97. package/nitrogen/generated/ios/swift/HybridViewModelColorPropertySpec_cxx.swift +8 -4
  98. package/nitrogen/generated/ios/swift/HybridViewModelEnumPropertySpec.swift +1 -1
  99. package/nitrogen/generated/ios/swift/HybridViewModelEnumPropertySpec_cxx.swift +8 -4
  100. package/nitrogen/generated/ios/swift/HybridViewModelImagePropertySpec.swift +1 -1
  101. package/nitrogen/generated/ios/swift/HybridViewModelImagePropertySpec_cxx.swift +8 -4
  102. package/nitrogen/generated/ios/swift/HybridViewModelInstanceSpec.swift +1 -0
  103. package/nitrogen/generated/ios/swift/HybridViewModelInstanceSpec_cxx.swift +21 -0
  104. package/nitrogen/generated/ios/swift/HybridViewModelListPropertySpec.swift +63 -0
  105. package/nitrogen/generated/ios/swift/HybridViewModelListPropertySpec_cxx.swift +248 -0
  106. package/nitrogen/generated/ios/swift/HybridViewModelNumberPropertySpec.swift +1 -1
  107. package/nitrogen/generated/ios/swift/HybridViewModelNumberPropertySpec_cxx.swift +8 -4
  108. package/nitrogen/generated/ios/swift/HybridViewModelStringPropertySpec.swift +1 -1
  109. package/nitrogen/generated/ios/swift/HybridViewModelStringPropertySpec_cxx.swift +8 -4
  110. package/nitrogen/generated/ios/swift/HybridViewModelTriggerPropertySpec.swift +1 -1
  111. package/nitrogen/generated/ios/swift/HybridViewModelTriggerPropertySpec_cxx.swift +8 -4
  112. package/nitrogen/generated/shared/c++/HybridViewModelBooleanPropertySpec.hpp +1 -1
  113. package/nitrogen/generated/shared/c++/HybridViewModelColorPropertySpec.hpp +1 -1
  114. package/nitrogen/generated/shared/c++/HybridViewModelEnumPropertySpec.hpp +1 -1
  115. package/nitrogen/generated/shared/c++/HybridViewModelImagePropertySpec.hpp +1 -1
  116. package/nitrogen/generated/shared/c++/HybridViewModelInstanceSpec.cpp +1 -0
  117. package/nitrogen/generated/shared/c++/HybridViewModelInstanceSpec.hpp +4 -0
  118. package/nitrogen/generated/shared/c++/HybridViewModelListPropertySpec.cpp +30 -0
  119. package/nitrogen/generated/shared/c++/HybridViewModelListPropertySpec.hpp +76 -0
  120. package/nitrogen/generated/shared/c++/HybridViewModelNumberPropertySpec.hpp +1 -1
  121. package/nitrogen/generated/shared/c++/HybridViewModelStringPropertySpec.hpp +1 -1
  122. package/nitrogen/generated/shared/c++/HybridViewModelTriggerPropertySpec.hpp +1 -1
  123. package/package.json +3 -3
  124. package/src/hooks/useRiveColor.ts +7 -4
  125. package/src/hooks/useRiveList.ts +108 -0
  126. package/src/hooks/useRiveProperty.ts +20 -13
  127. package/src/hooks/useViewModelInstance.ts +195 -0
  128. package/src/index.tsx +4 -0
  129. package/src/specs/ViewModel.nitro.ts +43 -15
  130. package/src/types.tsx +58 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useViewModelInstance.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useViewModelInstance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAChD;AAED,KAAK,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;AAgD1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,0BAA0B,GAAG;IAAE,QAAQ,EAAE,IAAI,CAAA;CAAE,GACtD,iBAAiB,CAAC;AACrB,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,eAAe,GAAG,IAAI,EAC9B,MAAM,CAAC,EAAE,0BAA0B,GAClC,iBAAiB,GAAG,IAAI,CAAC"}
@@ -9,7 +9,7 @@ export { RiveView, type RiveViewProps } from './core/RiveView';
9
9
  export type { RiveViewMethods };
10
10
  export type RiveViewRef = HybridView<NativeRiveViewProps, RiveViewTSMethods>;
11
11
  export type { RiveFile } from './specs/RiveFile.nitro';
12
- export type { ViewModel, ViewModelInstance, ViewModelNumberProperty, ViewModelStringProperty, ViewModelBooleanProperty, ViewModelColorProperty, ViewModelEnumProperty, ViewModelTriggerProperty, ViewModelImageProperty, } from './specs/ViewModel.nitro';
12
+ export type { ViewModel, ViewModelInstance, ViewModelNumberProperty, ViewModelStringProperty, ViewModelBooleanProperty, ViewModelColorProperty, ViewModelEnumProperty, ViewModelTriggerProperty, ViewModelImageProperty, ViewModelListProperty, } from './specs/ViewModel.nitro';
13
13
  export { Fit } from './core/Fit';
14
14
  export { Alignment } from './core/Alignment';
15
15
  export { RiveFileFactory } from './core/RiveFile';
@@ -26,7 +26,10 @@ export { useRiveBoolean } from './hooks/useRiveBoolean';
26
26
  export { useRiveEnum } from './hooks/useRiveEnum';
27
27
  export { useRiveColor } from './hooks/useRiveColor';
28
28
  export { useRiveTrigger } from './hooks/useRiveTrigger';
29
+ export { useRiveList } from './hooks/useRiveList';
30
+ export { useViewModelInstance } from './hooks/useViewModelInstance';
29
31
  export { useRiveFile } from './hooks/useRiveFile';
30
32
  export { type RiveFileInput } from './hooks/useRiveFile';
33
+ export { type SetValueAction } from './types';
31
34
  export { DataBindMode };
32
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,aAAa,IAAI,mBAAmB,EACzC,YAAY,EACZ,KAAK,cAAc,IAAI,uBAAuB,EAC/C,MAAM,wBAAwB,CAAC;AAEhC,qBAAa,cAAe,YAAW,uBAAuB;IAC5D,MAAM,EAAE,MAAM,CAAC;gBACH,IAAI,EAAE,MAAM;CAGzB;AAED,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC/D,YAAY,EAAE,eAAe,EAAE,CAAC;AAChC,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;AAC7E,YAAY,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,KAAK,SAAS,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,KAAK,SAAS,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,aAAa,IAAI,mBAAmB,EACzC,YAAY,EACZ,KAAK,cAAc,IAAI,uBAAuB,EAC/C,MAAM,wBAAwB,CAAC;AAEhC,qBAAa,cAAe,YAAW,uBAAuB;IAC5D,MAAM,EAAE,MAAM,CAAC;gBACH,IAAI,EAAE,MAAM;CAGzB;AAED,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC/D,YAAY,EAAE,eAAe,EAAE,CAAC;AAChC,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;AAC7E,YAAY,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,KAAK,SAAS,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,KAAK,SAAS,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -48,6 +48,8 @@ export interface ViewModelInstance extends HybridObject<{
48
48
  triggerProperty(path: string): ViewModelTriggerProperty | undefined;
49
49
  /** Get an image property from the view model instance at the given path */
50
50
  imageProperty(path: string): ViewModelImageProperty | undefined;
51
+ /** Get a list property from the view model instance at the given path */
52
+ listProperty(path: string): ViewModelListProperty | undefined;
51
53
  }
52
54
  export interface ViewModelProperty extends HybridObject<{
53
55
  ios: 'swift';
@@ -55,49 +57,71 @@ export interface ViewModelProperty extends HybridObject<{
55
57
  }> {
56
58
  }
57
59
  export interface ObservableProperty {
58
- /** Remove all listeners from the view model number property */
60
+ /** Remove all listeners from the property */
59
61
  removeListeners(): void;
60
62
  }
61
63
  export interface ViewModelNumberProperty extends ViewModelProperty, ObservableProperty {
62
64
  /** The value of the view model number property */
63
65
  value: number;
64
- /** Add a listener to the view model number property */
65
- addListener(onChanged: (value: number) => void): void;
66
+ /** Add a listener to the view model number property. Returns a function to remove the listener. */
67
+ addListener(onChanged: (value: number) => void): () => void;
66
68
  }
67
69
  export interface ViewModelStringProperty extends ViewModelProperty, ObservableProperty {
68
70
  /** The value of the view model string property */
69
71
  value: string;
70
- /** Add a listener to the view model string property */
71
- addListener(onChanged: (value: string) => void): void;
72
+ /** Add a listener to the view model string property. Returns a function to remove the listener. */
73
+ addListener(onChanged: (value: string) => void): () => void;
72
74
  }
73
75
  export interface ViewModelBooleanProperty extends ViewModelProperty, ObservableProperty {
74
76
  /** The value of the view model boolean property */
75
77
  value: boolean;
76
- /** Add a listener to the view model boolean property */
77
- addListener(onChanged: (value: boolean) => void): void;
78
+ /** Add a listener to the view model boolean property. Returns a function to remove the listener. */
79
+ addListener(onChanged: (value: boolean) => void): () => void;
78
80
  }
79
81
  export interface ViewModelColorProperty extends ViewModelProperty, ObservableProperty {
80
82
  /** The value of the view model color property */
81
83
  value: number;
82
- /** Add a listener to the view model color property */
83
- addListener(onChanged: (value: number) => void): void;
84
+ /** Add a listener to the view model color property. Returns a function to remove the listener. */
85
+ addListener(onChanged: (value: number) => void): () => void;
84
86
  }
85
87
  export interface ViewModelEnumProperty extends ViewModelProperty, ObservableProperty {
86
88
  /** The value of the view model enum property */
87
89
  value: string;
88
- /** Add a listener to the view model enum property */
89
- addListener(onChanged: (value: string) => void): void;
90
+ /** Add a listener to the view model enum property. Returns a function to remove the listener. */
91
+ addListener(onChanged: (value: string) => void): () => void;
90
92
  }
91
93
  export interface ViewModelTriggerProperty extends ViewModelProperty, ObservableProperty {
92
- /** Add a listener to the view model trigger property */
93
- addListener(onChanged: () => void): void;
94
+ /** Add a listener to the view model trigger property. Returns a function to remove the listener. */
95
+ addListener(onChanged: () => void): () => void;
94
96
  /** Trigger the view model trigger property */
95
97
  trigger(): void;
96
98
  }
97
99
  export interface ViewModelImageProperty extends ViewModelProperty, ObservableProperty {
98
100
  /** Set the image property value */
99
101
  set(image: RiveImage | undefined): void;
100
- /** Add a listener to the view model image property */
101
- addListener(onChanged: () => void): void;
102
+ /** Add a listener to the view model image property. Returns a function to remove the listener. */
103
+ addListener(onChanged: () => void): () => void;
104
+ }
105
+ /**
106
+ * A list property that contains a dynamic collection of {@link ViewModelInstance} objects.
107
+ * @see {@link https://rive.app/docs/runtimes/data-binding#lists Rive Data Binding Lists}
108
+ */
109
+ export interface ViewModelListProperty extends ViewModelProperty, ObservableProperty {
110
+ /** The number of instances in the list */
111
+ readonly length: number;
112
+ /** Get the instance at the given index */
113
+ getInstanceAt(index: number): ViewModelInstance | undefined;
114
+ /** Add an instance to the end of the list */
115
+ addInstance(instance: ViewModelInstance): void;
116
+ /** Add an instance at the given index, returns true if successful */
117
+ addInstanceAt(instance: ViewModelInstance, index: number): boolean;
118
+ /** Remove an instance from the list */
119
+ removeInstance(instance: ViewModelInstance): void;
120
+ /** Remove the instance at the given index */
121
+ removeInstanceAt(index: number): void;
122
+ /** Swap the instances at the given indices, returns true if successful */
123
+ swap(index1: number, index2: number): boolean;
124
+ /** Add a listener to be notified when the list changes. Returns a function to remove the listener. */
125
+ addListener(onChanged: () => void): () => void;
102
126
  }
103
127
  //# sourceMappingURL=ViewModel.nitro.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ViewModel.nitro.d.ts","sourceRoot":"","sources":["../../../../src/specs/ViewModel.nitro.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ViewModel.nitro.d.ts","sourceRoot":"","sources":["../../../../src/specs/ViewModel.nitro.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,21 @@
1
+ /**
2
+ * A value or a function that computes a new value from the previous value.
3
+ * Similar to React's SetStateAction pattern.
4
+ */
5
+ export type SetValueAction<T> = T | ((prevValue: T | undefined) => T);
1
6
  export interface UseRivePropertyResult<T> {
2
7
  /**
3
8
  * The current value of the property.
4
9
  */
5
10
  value: T | undefined;
6
11
  /**
7
- * Set the value of the property.
8
- * @param value - The value to set the property to.
12
+ * Set the value of the property. Accepts either a direct value or
13
+ * a function that receives the previous value and returns the new value.
14
+ * @example
15
+ * setValue(10) // Set to 10
16
+ * setValue((prev) => (prev ?? 0) + 5) // Increment by 5
9
17
  */
10
- setValue: (value: T) => void;
18
+ setValue: (value: SetValueAction<T>) => void;
11
19
  /**
12
20
  * The error if the property is not found.
13
21
  */
@@ -30,4 +38,40 @@ export interface UseRiveTriggerResult {
30
38
  export type UseViewModelInstanceTriggerParameters = {
31
39
  onTrigger?: () => void;
32
40
  };
41
+ export interface UseRiveListResult {
42
+ /**
43
+ * The number of instances in the list.
44
+ */
45
+ length: number;
46
+ /**
47
+ * Get the instance at the given index.
48
+ */
49
+ getInstanceAt: (index: number) => import('./specs/ViewModel.nitro').ViewModelInstance | undefined;
50
+ /**
51
+ * Add an instance to the end of the list.
52
+ */
53
+ addInstance: (instance: import('./specs/ViewModel.nitro').ViewModelInstance) => void;
54
+ /**
55
+ * Add an instance at the given index.
56
+ * @returns true if successful
57
+ */
58
+ addInstanceAt: (instance: import('./specs/ViewModel.nitro').ViewModelInstance, index: number) => boolean;
59
+ /**
60
+ * Remove an instance from the list.
61
+ */
62
+ removeInstance: (instance: import('./specs/ViewModel.nitro').ViewModelInstance) => void;
63
+ /**
64
+ * Remove the instance at the given index.
65
+ */
66
+ removeInstanceAt: (index: number) => void;
67
+ /**
68
+ * Swap the instances at the given indices.
69
+ * @returns true if successful
70
+ */
71
+ swap: (index1: number, index2: number) => boolean;
72
+ /**
73
+ * The error if the property is not found.
74
+ */
75
+ error: Error | null;
76
+ }
33
77
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC;;OAEG;IACH,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC;IACrB;;;OAGG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B;;OAEG;IACH,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;OAEG;IACH,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,MAAM,qCAAqC,GAAG;IAClD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC;AAEtE,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC;;OAEG;IACH,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC;IACrB;;;;;;OAMG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC7C;;OAEG;IACH,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;OAEG;IACH,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,MAAM,qCAAqC,GAAG;IAClD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,aAAa,EAAE,CACb,KAAK,EAAE,MAAM,KACV,OAAO,yBAAyB,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACrE;;OAEG;IACH,WAAW,EAAE,CACX,QAAQ,EAAE,OAAO,yBAAyB,EAAE,iBAAiB,KAC1D,IAAI,CAAC;IACV;;;OAGG;IACH,aAAa,EAAE,CACb,QAAQ,EAAE,OAAO,yBAAyB,EAAE,iBAAiB,EAC7D,KAAK,EAAE,MAAM,KACV,OAAO,CAAC;IACb;;OAEG;IACH,cAAc,EAAE,CACd,QAAQ,EAAE,OAAO,yBAAyB,EAAE,iBAAiB,KAC1D,IAAI,CAAC;IACV;;OAEG;IACH,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C;;;OAGG;IACH,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAClD;;OAEG;IACH,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB"}
@@ -10,8 +10,9 @@
10
10
 
11
11
 
12
12
  #include <functional>
13
- #include "JFunc_void_bool.hpp"
13
+ #include "JFunc_void.hpp"
14
14
  #include <NitroModules/JNICallable.hpp>
15
+ #include "JFunc_void_bool.hpp"
15
16
 
16
17
  namespace margelo::nitro::rive {
17
18
 
@@ -53,9 +54,18 @@ namespace margelo::nitro::rive {
53
54
  }
54
55
 
55
56
  // Methods
56
- void JHybridViewModelBooleanPropertySpec::addListener(const std::function<void(bool /* value */)>& onChanged) {
57
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_bool::javaobject> /* onChanged */)>("addListener_cxx");
58
- method(_javaPart, JFunc_void_bool_cxx::fromCpp(onChanged));
57
+ std::function<void()> JHybridViewModelBooleanPropertySpec::addListener(const std::function<void(bool /* value */)>& onChanged) {
58
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void::javaobject>(jni::alias_ref<JFunc_void_bool::javaobject> /* onChanged */)>("addListener_cxx");
59
+ auto __result = method(_javaPart, JFunc_void_bool_cxx::fromCpp(onChanged));
60
+ return [&]() -> std::function<void()> {
61
+ if (__result->isInstanceOf(JFunc_void_cxx::javaClassStatic())) [[likely]] {
62
+ auto downcast = jni::static_ref_cast<JFunc_void_cxx::javaobject>(__result);
63
+ return downcast->cthis()->getFunction();
64
+ } else {
65
+ auto __resultRef = jni::make_global(__result);
66
+ return JNICallable<JFunc_void, void()>(std::move(__resultRef));
67
+ }
68
+ }();
59
69
  }
60
70
  void JHybridViewModelBooleanPropertySpec::removeListeners() {
61
71
  static const auto method = javaClassStatic()->getMethod<void()>("removeListeners");
@@ -56,7 +56,7 @@ namespace margelo::nitro::rive {
56
56
 
57
57
  public:
58
58
  // Methods
59
- void addListener(const std::function<void(bool /* value */)>& onChanged) override;
59
+ std::function<void()> addListener(const std::function<void(bool /* value */)>& onChanged) override;
60
60
  void removeListeners() override;
61
61
 
62
62
  private:
@@ -10,8 +10,9 @@
10
10
 
11
11
 
12
12
  #include <functional>
13
- #include "JFunc_void_double.hpp"
13
+ #include "JFunc_void.hpp"
14
14
  #include <NitroModules/JNICallable.hpp>
15
+ #include "JFunc_void_double.hpp"
15
16
 
16
17
  namespace margelo::nitro::rive {
17
18
 
@@ -53,9 +54,18 @@ namespace margelo::nitro::rive {
53
54
  }
54
55
 
55
56
  // Methods
56
- void JHybridViewModelColorPropertySpec::addListener(const std::function<void(double /* value */)>& onChanged) {
57
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_double::javaobject> /* onChanged */)>("addListener_cxx");
58
- method(_javaPart, JFunc_void_double_cxx::fromCpp(onChanged));
57
+ std::function<void()> JHybridViewModelColorPropertySpec::addListener(const std::function<void(double /* value */)>& onChanged) {
58
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void::javaobject>(jni::alias_ref<JFunc_void_double::javaobject> /* onChanged */)>("addListener_cxx");
59
+ auto __result = method(_javaPart, JFunc_void_double_cxx::fromCpp(onChanged));
60
+ return [&]() -> std::function<void()> {
61
+ if (__result->isInstanceOf(JFunc_void_cxx::javaClassStatic())) [[likely]] {
62
+ auto downcast = jni::static_ref_cast<JFunc_void_cxx::javaobject>(__result);
63
+ return downcast->cthis()->getFunction();
64
+ } else {
65
+ auto __resultRef = jni::make_global(__result);
66
+ return JNICallable<JFunc_void, void()>(std::move(__resultRef));
67
+ }
68
+ }();
59
69
  }
60
70
  void JHybridViewModelColorPropertySpec::removeListeners() {
61
71
  static const auto method = javaClassStatic()->getMethod<void()>("removeListeners");
@@ -56,7 +56,7 @@ namespace margelo::nitro::rive {
56
56
 
57
57
  public:
58
58
  // Methods
59
- void addListener(const std::function<void(double /* value */)>& onChanged) override;
59
+ std::function<void()> addListener(const std::function<void(double /* value */)>& onChanged) override;
60
60
  void removeListeners() override;
61
61
 
62
62
  private:
@@ -11,8 +11,9 @@
11
11
 
12
12
  #include <string>
13
13
  #include <functional>
14
- #include "JFunc_void_std__string.hpp"
14
+ #include "JFunc_void.hpp"
15
15
  #include <NitroModules/JNICallable.hpp>
16
+ #include "JFunc_void_std__string.hpp"
16
17
 
17
18
  namespace margelo::nitro::rive {
18
19
 
@@ -54,9 +55,18 @@ namespace margelo::nitro::rive {
54
55
  }
55
56
 
56
57
  // Methods
57
- void JHybridViewModelEnumPropertySpec::addListener(const std::function<void(const std::string& /* value */)>& onChanged) {
58
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_std__string::javaobject> /* onChanged */)>("addListener_cxx");
59
- method(_javaPart, JFunc_void_std__string_cxx::fromCpp(onChanged));
58
+ std::function<void()> JHybridViewModelEnumPropertySpec::addListener(const std::function<void(const std::string& /* value */)>& onChanged) {
59
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void::javaobject>(jni::alias_ref<JFunc_void_std__string::javaobject> /* onChanged */)>("addListener_cxx");
60
+ auto __result = method(_javaPart, JFunc_void_std__string_cxx::fromCpp(onChanged));
61
+ return [&]() -> std::function<void()> {
62
+ if (__result->isInstanceOf(JFunc_void_cxx::javaClassStatic())) [[likely]] {
63
+ auto downcast = jni::static_ref_cast<JFunc_void_cxx::javaobject>(__result);
64
+ return downcast->cthis()->getFunction();
65
+ } else {
66
+ auto __resultRef = jni::make_global(__result);
67
+ return JNICallable<JFunc_void, void()>(std::move(__resultRef));
68
+ }
69
+ }();
60
70
  }
61
71
  void JHybridViewModelEnumPropertySpec::removeListeners() {
62
72
  static const auto method = javaClassStatic()->getMethod<void()>("removeListeners");
@@ -56,7 +56,7 @@ namespace margelo::nitro::rive {
56
56
 
57
57
  public:
58
58
  // Methods
59
- void addListener(const std::function<void(const std::string& /* value */)>& onChanged) override;
59
+ std::function<void()> addListener(const std::function<void(const std::string& /* value */)>& onChanged) override;
60
60
  void removeListeners() override;
61
61
 
62
62
  private:
@@ -10,13 +10,13 @@
10
10
  // Forward declaration of `HybridRiveImageSpec` to properly resolve imports.
11
11
  namespace margelo::nitro::rive { class HybridRiveImageSpec; }
12
12
 
13
+ #include <functional>
14
+ #include "JFunc_void.hpp"
15
+ #include <NitroModules/JNICallable.hpp>
13
16
  #include <memory>
14
17
  #include "HybridRiveImageSpec.hpp"
15
18
  #include <optional>
16
19
  #include "JHybridRiveImageSpec.hpp"
17
- #include <functional>
18
- #include "JFunc_void.hpp"
19
- #include <NitroModules/JNICallable.hpp>
20
20
 
21
21
  namespace margelo::nitro::rive {
22
22
 
@@ -54,9 +54,18 @@ namespace margelo::nitro::rive {
54
54
  static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JHybridRiveImageSpec::javaobject> /* image */)>("set");
55
55
  method(_javaPart, image.has_value() ? std::dynamic_pointer_cast<JHybridRiveImageSpec>(image.value())->getJavaPart() : nullptr);
56
56
  }
57
- void JHybridViewModelImagePropertySpec::addListener(const std::function<void()>& onChanged) {
58
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void::javaobject> /* onChanged */)>("addListener_cxx");
59
- method(_javaPart, JFunc_void_cxx::fromCpp(onChanged));
57
+ std::function<void()> JHybridViewModelImagePropertySpec::addListener(const std::function<void()>& onChanged) {
58
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void::javaobject>(jni::alias_ref<JFunc_void::javaobject> /* onChanged */)>("addListener_cxx");
59
+ auto __result = method(_javaPart, JFunc_void_cxx::fromCpp(onChanged));
60
+ return [&]() -> std::function<void()> {
61
+ if (__result->isInstanceOf(JFunc_void_cxx::javaClassStatic())) [[likely]] {
62
+ auto downcast = jni::static_ref_cast<JFunc_void_cxx::javaobject>(__result);
63
+ return downcast->cthis()->getFunction();
64
+ } else {
65
+ auto __resultRef = jni::make_global(__result);
66
+ return JNICallable<JFunc_void, void()>(std::move(__resultRef));
67
+ }
68
+ }();
60
69
  }
61
70
  void JHybridViewModelImagePropertySpec::removeListeners() {
62
71
  static const auto method = javaClassStatic()->getMethod<void()>("removeListeners");
@@ -56,7 +56,7 @@ namespace margelo::nitro::rive {
56
56
  public:
57
57
  // Methods
58
58
  void set(const std::optional<std::shared_ptr<HybridRiveImageSpec>>& image) override;
59
- void addListener(const std::function<void()>& onChanged) override;
59
+ std::function<void()> addListener(const std::function<void()>& onChanged) override;
60
60
  void removeListeners() override;
61
61
 
62
62
  private:
@@ -21,6 +21,8 @@ namespace margelo::nitro::rive { class HybridViewModelEnumPropertySpec; }
21
21
  namespace margelo::nitro::rive { class HybridViewModelTriggerPropertySpec; }
22
22
  // Forward declaration of `HybridViewModelImagePropertySpec` to properly resolve imports.
23
23
  namespace margelo::nitro::rive { class HybridViewModelImagePropertySpec; }
24
+ // Forward declaration of `HybridViewModelListPropertySpec` to properly resolve imports.
25
+ namespace margelo::nitro::rive { class HybridViewModelListPropertySpec; }
24
26
 
25
27
  #include <string>
26
28
  #include <memory>
@@ -39,6 +41,8 @@ namespace margelo::nitro::rive { class HybridViewModelImagePropertySpec; }
39
41
  #include "JHybridViewModelTriggerPropertySpec.hpp"
40
42
  #include "HybridViewModelImagePropertySpec.hpp"
41
43
  #include "JHybridViewModelImagePropertySpec.hpp"
44
+ #include "HybridViewModelListPropertySpec.hpp"
45
+ #include "JHybridViewModelListPropertySpec.hpp"
42
46
 
43
47
  namespace margelo::nitro::rive {
44
48
 
@@ -111,5 +115,10 @@ namespace margelo::nitro::rive {
111
115
  auto __result = method(_javaPart, jni::make_jstring(path));
112
116
  return __result != nullptr ? std::make_optional(__result->cthis()->shared_cast<JHybridViewModelImagePropertySpec>()) : std::nullopt;
113
117
  }
118
+ std::optional<std::shared_ptr<HybridViewModelListPropertySpec>> JHybridViewModelInstanceSpec::listProperty(const std::string& path) {
119
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JHybridViewModelListPropertySpec::javaobject>(jni::alias_ref<jni::JString> /* path */)>("listProperty");
120
+ auto __result = method(_javaPart, jni::make_jstring(path));
121
+ return __result != nullptr ? std::make_optional(__result->cthis()->shared_cast<JHybridViewModelListPropertySpec>()) : std::nullopt;
122
+ }
114
123
 
115
124
  } // namespace margelo::nitro::rive
@@ -61,6 +61,7 @@ namespace margelo::nitro::rive {
61
61
  std::optional<std::shared_ptr<HybridViewModelEnumPropertySpec>> enumProperty(const std::string& path) override;
62
62
  std::optional<std::shared_ptr<HybridViewModelTriggerPropertySpec>> triggerProperty(const std::string& path) override;
63
63
  std::optional<std::shared_ptr<HybridViewModelImagePropertySpec>> imageProperty(const std::string& path) override;
64
+ std::optional<std::shared_ptr<HybridViewModelListPropertySpec>> listProperty(const std::string& path) override;
64
65
 
65
66
  private:
66
67
  friend HybridBase;
@@ -0,0 +1,102 @@
1
+ ///
2
+ /// JHybridViewModelListPropertySpec.cpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #include "JHybridViewModelListPropertySpec.hpp"
9
+
10
+ // Forward declaration of `HybridViewModelInstanceSpec` to properly resolve imports.
11
+ namespace margelo::nitro::rive { class HybridViewModelInstanceSpec; }
12
+
13
+ #include <memory>
14
+ #include "HybridViewModelInstanceSpec.hpp"
15
+ #include <optional>
16
+ #include "JHybridViewModelInstanceSpec.hpp"
17
+ #include <functional>
18
+ #include "JFunc_void.hpp"
19
+ #include <NitroModules/JNICallable.hpp>
20
+
21
+ namespace margelo::nitro::rive {
22
+
23
+ jni::local_ref<JHybridViewModelListPropertySpec::jhybriddata> JHybridViewModelListPropertySpec::initHybrid(jni::alias_ref<jhybridobject> jThis) {
24
+ return makeCxxInstance(jThis);
25
+ }
26
+
27
+ void JHybridViewModelListPropertySpec::registerNatives() {
28
+ registerHybrid({
29
+ makeNativeMethod("initHybrid", JHybridViewModelListPropertySpec::initHybrid),
30
+ });
31
+ }
32
+
33
+ size_t JHybridViewModelListPropertySpec::getExternalMemorySize() noexcept {
34
+ static const auto method = javaClassStatic()->getMethod<jlong()>("getMemorySize");
35
+ return method(_javaPart);
36
+ }
37
+
38
+ void JHybridViewModelListPropertySpec::dispose() noexcept {
39
+ static const auto method = javaClassStatic()->getMethod<void()>("dispose");
40
+ method(_javaPart);
41
+ }
42
+
43
+ std::string JHybridViewModelListPropertySpec::toString() {
44
+ static const auto method = javaClassStatic()->getMethod<jni::JString()>("toString");
45
+ auto javaString = method(_javaPart);
46
+ return javaString->toStdString();
47
+ }
48
+
49
+ // Properties
50
+ double JHybridViewModelListPropertySpec::getLength() {
51
+ static const auto method = javaClassStatic()->getMethod<double()>("getLength");
52
+ auto __result = method(_javaPart);
53
+ return __result;
54
+ }
55
+
56
+ // Methods
57
+ std::optional<std::shared_ptr<HybridViewModelInstanceSpec>> JHybridViewModelListPropertySpec::getInstanceAt(double index) {
58
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JHybridViewModelInstanceSpec::javaobject>(double /* index */)>("getInstanceAt");
59
+ auto __result = method(_javaPart, index);
60
+ return __result != nullptr ? std::make_optional(__result->cthis()->shared_cast<JHybridViewModelInstanceSpec>()) : std::nullopt;
61
+ }
62
+ void JHybridViewModelListPropertySpec::addInstance(const std::shared_ptr<HybridViewModelInstanceSpec>& instance) {
63
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JHybridViewModelInstanceSpec::javaobject> /* instance */)>("addInstance");
64
+ method(_javaPart, std::dynamic_pointer_cast<JHybridViewModelInstanceSpec>(instance)->getJavaPart());
65
+ }
66
+ bool JHybridViewModelListPropertySpec::addInstanceAt(const std::shared_ptr<HybridViewModelInstanceSpec>& instance, double index) {
67
+ static const auto method = javaClassStatic()->getMethod<jboolean(jni::alias_ref<JHybridViewModelInstanceSpec::javaobject> /* instance */, double /* index */)>("addInstanceAt");
68
+ auto __result = method(_javaPart, std::dynamic_pointer_cast<JHybridViewModelInstanceSpec>(instance)->getJavaPart(), index);
69
+ return static_cast<bool>(__result);
70
+ }
71
+ void JHybridViewModelListPropertySpec::removeInstance(const std::shared_ptr<HybridViewModelInstanceSpec>& instance) {
72
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JHybridViewModelInstanceSpec::javaobject> /* instance */)>("removeInstance");
73
+ method(_javaPart, std::dynamic_pointer_cast<JHybridViewModelInstanceSpec>(instance)->getJavaPart());
74
+ }
75
+ void JHybridViewModelListPropertySpec::removeInstanceAt(double index) {
76
+ static const auto method = javaClassStatic()->getMethod<void(double /* index */)>("removeInstanceAt");
77
+ method(_javaPart, index);
78
+ }
79
+ bool JHybridViewModelListPropertySpec::swap(double index1, double index2) {
80
+ static const auto method = javaClassStatic()->getMethod<jboolean(double /* index1 */, double /* index2 */)>("swap");
81
+ auto __result = method(_javaPart, index1, index2);
82
+ return static_cast<bool>(__result);
83
+ }
84
+ std::function<void()> JHybridViewModelListPropertySpec::addListener(const std::function<void()>& onChanged) {
85
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void::javaobject>(jni::alias_ref<JFunc_void::javaobject> /* onChanged */)>("addListener_cxx");
86
+ auto __result = method(_javaPart, JFunc_void_cxx::fromCpp(onChanged));
87
+ return [&]() -> std::function<void()> {
88
+ if (__result->isInstanceOf(JFunc_void_cxx::javaClassStatic())) [[likely]] {
89
+ auto downcast = jni::static_ref_cast<JFunc_void_cxx::javaobject>(__result);
90
+ return downcast->cthis()->getFunction();
91
+ } else {
92
+ auto __resultRef = jni::make_global(__result);
93
+ return JNICallable<JFunc_void, void()>(std::move(__resultRef));
94
+ }
95
+ }();
96
+ }
97
+ void JHybridViewModelListPropertySpec::removeListeners() {
98
+ static const auto method = javaClassStatic()->getMethod<void()>("removeListeners");
99
+ method(_javaPart);
100
+ }
101
+
102
+ } // namespace margelo::nitro::rive
@@ -0,0 +1,73 @@
1
+ ///
2
+ /// HybridViewModelListPropertySpec.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <NitroModules/JHybridObject.hpp>
11
+ #include <fbjni/fbjni.h>
12
+ #include "HybridViewModelListPropertySpec.hpp"
13
+
14
+ // Forward declaration of `JHybridViewModelPropertySpec` to properly resolve imports.
15
+ namespace margelo::nitro::rive { class JHybridViewModelPropertySpec; }
16
+ #include "JHybridViewModelPropertySpec.hpp"
17
+
18
+ namespace margelo::nitro::rive {
19
+
20
+ using namespace facebook;
21
+
22
+ class JHybridViewModelListPropertySpec: public jni::HybridClass<JHybridViewModelListPropertySpec, JHybridViewModelPropertySpec>,
23
+ public virtual HybridViewModelListPropertySpec {
24
+ public:
25
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rive/HybridViewModelListPropertySpec;";
26
+ static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
27
+ static void registerNatives();
28
+
29
+ protected:
30
+ // C++ constructor (called from Java via `initHybrid()`)
31
+ explicit JHybridViewModelListPropertySpec(jni::alias_ref<jhybridobject> jThis) :
32
+ HybridObject(HybridViewModelListPropertySpec::TAG),
33
+ HybridBase(jThis),
34
+ _javaPart(jni::make_global(jThis)) {}
35
+
36
+ public:
37
+ ~JHybridViewModelListPropertySpec() override {
38
+ // Hermes GC can destroy JS objects on a non-JNI Thread.
39
+ jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
40
+ }
41
+
42
+ public:
43
+ size_t getExternalMemorySize() noexcept override;
44
+ void dispose() noexcept override;
45
+ std::string toString() override;
46
+
47
+ public:
48
+ inline const jni::global_ref<JHybridViewModelListPropertySpec::javaobject>& getJavaPart() const noexcept {
49
+ return _javaPart;
50
+ }
51
+
52
+ public:
53
+ // Properties
54
+ double getLength() override;
55
+
56
+ public:
57
+ // Methods
58
+ std::optional<std::shared_ptr<HybridViewModelInstanceSpec>> getInstanceAt(double index) override;
59
+ void addInstance(const std::shared_ptr<HybridViewModelInstanceSpec>& instance) override;
60
+ bool addInstanceAt(const std::shared_ptr<HybridViewModelInstanceSpec>& instance, double index) override;
61
+ void removeInstance(const std::shared_ptr<HybridViewModelInstanceSpec>& instance) override;
62
+ void removeInstanceAt(double index) override;
63
+ bool swap(double index1, double index2) override;
64
+ std::function<void()> addListener(const std::function<void()>& onChanged) override;
65
+ void removeListeners() override;
66
+
67
+ private:
68
+ friend HybridBase;
69
+ using HybridBase::HybridBase;
70
+ jni::global_ref<JHybridViewModelListPropertySpec::javaobject> _javaPart;
71
+ };
72
+
73
+ } // namespace margelo::nitro::rive