@onekeyfe/react-native-perp-depth-bar 3.0.39

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 (168) hide show
  1. package/LICENSE +21 -0
  2. package/PerpDepthBar.podspec +29 -0
  3. package/README.md +31 -0
  4. package/android/CMakeLists.txt +24 -0
  5. package/android/build.gradle +128 -0
  6. package/android/src/main/AndroidManifest.xml +2 -0
  7. package/android/src/main/cpp/cpp-adapter.cpp +6 -0
  8. package/android/src/main/java/com/margelo/nitro/perpdepthbar/HybridPerpDepthBars.kt +164 -0
  9. package/android/src/main/java/com/margelo/nitro/perpdepthbar/HybridPerpSideRatio.kt +139 -0
  10. package/android/src/main/java/com/margelo/nitro/perpdepthbar/PerpColorParser.kt +56 -0
  11. package/android/src/main/java/com/margelo/nitro/perpdepthbar/PerpDepthBarPackage.kt +33 -0
  12. package/ios/HybridPerpDepthBars.swift +148 -0
  13. package/ios/HybridPerpSideRatio.swift +118 -0
  14. package/ios/PerpColorParser.swift +92 -0
  15. package/lib/module/PerpDepthBars.nitro.js +4 -0
  16. package/lib/module/PerpDepthBars.nitro.js.map +1 -0
  17. package/lib/module/PerpSideRatio.nitro.js +4 -0
  18. package/lib/module/PerpSideRatio.nitro.js.map +1 -0
  19. package/lib/module/index.js +8 -0
  20. package/lib/module/index.js.map +1 -0
  21. package/lib/module/package.json +1 -0
  22. package/lib/nitrogen/generated/android/c++/JHybridPerpDepthBarsSpec.cpp +130 -0
  23. package/lib/nitrogen/generated/android/c++/JHybridPerpDepthBarsSpec.hpp +80 -0
  24. package/lib/nitrogen/generated/android/c++/JHybridPerpSideRatioSpec.cpp +119 -0
  25. package/lib/nitrogen/generated/android/c++/JHybridPerpSideRatioSpec.hpp +80 -0
  26. package/lib/nitrogen/generated/android/c++/views/JHybridPerpDepthBarsStateUpdater.cpp +84 -0
  27. package/lib/nitrogen/generated/android/c++/views/JHybridPerpDepthBarsStateUpdater.hpp +49 -0
  28. package/lib/nitrogen/generated/android/c++/views/JHybridPerpSideRatioStateUpdater.cpp +84 -0
  29. package/lib/nitrogen/generated/android/c++/views/JHybridPerpSideRatioStateUpdater.hpp +49 -0
  30. package/lib/nitrogen/generated/android/kotlin/com/margelo/nitro/perpdepthbar/HybridPerpDepthBarsSpec.kt +101 -0
  31. package/lib/nitrogen/generated/android/kotlin/com/margelo/nitro/perpdepthbar/HybridPerpSideRatioSpec.kt +101 -0
  32. package/lib/nitrogen/generated/android/kotlin/com/margelo/nitro/perpdepthbar/perpdepthbarOnLoad.kt +35 -0
  33. package/lib/nitrogen/generated/android/kotlin/com/margelo/nitro/perpdepthbar/views/HybridPerpDepthBarsManager.kt +50 -0
  34. package/lib/nitrogen/generated/android/kotlin/com/margelo/nitro/perpdepthbar/views/HybridPerpDepthBarsStateUpdater.kt +23 -0
  35. package/lib/nitrogen/generated/android/kotlin/com/margelo/nitro/perpdepthbar/views/HybridPerpSideRatioManager.kt +50 -0
  36. package/lib/nitrogen/generated/android/kotlin/com/margelo/nitro/perpdepthbar/views/HybridPerpSideRatioStateUpdater.kt +23 -0
  37. package/lib/nitrogen/generated/android/perpdepthbar+autolinking.cmake +87 -0
  38. package/lib/nitrogen/generated/android/perpdepthbar+autolinking.gradle +27 -0
  39. package/lib/nitrogen/generated/android/perpdepthbarOnLoad.cpp +58 -0
  40. package/lib/nitrogen/generated/android/perpdepthbarOnLoad.hpp +25 -0
  41. package/lib/nitrogen/generated/ios/PerpDepthBar+autolinking.rb +60 -0
  42. package/lib/nitrogen/generated/ios/PerpDepthBar-Swift-Cxx-Bridge.cpp +50 -0
  43. package/lib/nitrogen/generated/ios/PerpDepthBar-Swift-Cxx-Bridge.hpp +69 -0
  44. package/lib/nitrogen/generated/ios/PerpDepthBar-Swift-Cxx-Umbrella.hpp +48 -0
  45. package/lib/nitrogen/generated/ios/PerpDepthBarAutolinking.mm +41 -0
  46. package/lib/nitrogen/generated/ios/PerpDepthBarAutolinking.swift +40 -0
  47. package/lib/nitrogen/generated/ios/c++/HybridPerpDepthBarsSpecSwift.cpp +11 -0
  48. package/lib/nitrogen/generated/ios/c++/HybridPerpDepthBarsSpecSwift.hpp +120 -0
  49. package/lib/nitrogen/generated/ios/c++/HybridPerpSideRatioSpecSwift.cpp +11 -0
  50. package/lib/nitrogen/generated/ios/c++/HybridPerpSideRatioSpecSwift.hpp +118 -0
  51. package/lib/nitrogen/generated/ios/c++/views/HybridPerpDepthBarsComponent.mm +131 -0
  52. package/lib/nitrogen/generated/ios/c++/views/HybridPerpSideRatioComponent.mm +131 -0
  53. package/lib/nitrogen/generated/ios/swift/HybridPerpDepthBarsSpec.swift +63 -0
  54. package/lib/nitrogen/generated/ios/swift/HybridPerpDepthBarsSpec_cxx.swift +223 -0
  55. package/lib/nitrogen/generated/ios/swift/HybridPerpSideRatioSpec.swift +63 -0
  56. package/lib/nitrogen/generated/ios/swift/HybridPerpSideRatioSpec_cxx.swift +217 -0
  57. package/lib/nitrogen/generated/shared/c++/HybridPerpDepthBarsSpec.cpp +36 -0
  58. package/lib/nitrogen/generated/shared/c++/HybridPerpDepthBarsSpec.hpp +78 -0
  59. package/lib/nitrogen/generated/shared/c++/HybridPerpSideRatioSpec.cpp +36 -0
  60. package/lib/nitrogen/generated/shared/c++/HybridPerpSideRatioSpec.hpp +77 -0
  61. package/lib/nitrogen/generated/shared/c++/views/HybridPerpDepthBarsComponent.cpp +171 -0
  62. package/lib/nitrogen/generated/shared/c++/views/HybridPerpDepthBarsComponent.hpp +116 -0
  63. package/lib/nitrogen/generated/shared/c++/views/HybridPerpSideRatioComponent.cpp +171 -0
  64. package/lib/nitrogen/generated/shared/c++/views/HybridPerpSideRatioComponent.hpp +115 -0
  65. package/lib/nitrogen/generated/shared/json/PerpDepthBarsConfig.json +17 -0
  66. package/lib/nitrogen/generated/shared/json/PerpSideRatioConfig.json +17 -0
  67. package/lib/nitrogen/nitrogen/generated/android/c++/JHybridPerpDepthBarsSpec.cpp +130 -0
  68. package/lib/nitrogen/nitrogen/generated/android/c++/JHybridPerpDepthBarsSpec.hpp +80 -0
  69. package/lib/nitrogen/nitrogen/generated/android/c++/JHybridPerpSideRatioSpec.cpp +119 -0
  70. package/lib/nitrogen/nitrogen/generated/android/c++/JHybridPerpSideRatioSpec.hpp +80 -0
  71. package/lib/nitrogen/nitrogen/generated/android/c++/views/JHybridPerpDepthBarsStateUpdater.cpp +84 -0
  72. package/lib/nitrogen/nitrogen/generated/android/c++/views/JHybridPerpDepthBarsStateUpdater.hpp +49 -0
  73. package/lib/nitrogen/nitrogen/generated/android/c++/views/JHybridPerpSideRatioStateUpdater.cpp +84 -0
  74. package/lib/nitrogen/nitrogen/generated/android/c++/views/JHybridPerpSideRatioStateUpdater.hpp +49 -0
  75. package/lib/nitrogen/nitrogen/generated/android/kotlin/com/margelo/nitro/perpdepthbar/HybridPerpDepthBarsSpec.kt +101 -0
  76. package/lib/nitrogen/nitrogen/generated/android/kotlin/com/margelo/nitro/perpdepthbar/HybridPerpSideRatioSpec.kt +101 -0
  77. package/lib/nitrogen/nitrogen/generated/android/kotlin/com/margelo/nitro/perpdepthbar/perpdepthbarOnLoad.kt +35 -0
  78. package/lib/nitrogen/nitrogen/generated/android/kotlin/com/margelo/nitro/perpdepthbar/views/HybridPerpDepthBarsManager.kt +50 -0
  79. package/lib/nitrogen/nitrogen/generated/android/kotlin/com/margelo/nitro/perpdepthbar/views/HybridPerpDepthBarsStateUpdater.kt +23 -0
  80. package/lib/nitrogen/nitrogen/generated/android/kotlin/com/margelo/nitro/perpdepthbar/views/HybridPerpSideRatioManager.kt +50 -0
  81. package/lib/nitrogen/nitrogen/generated/android/kotlin/com/margelo/nitro/perpdepthbar/views/HybridPerpSideRatioStateUpdater.kt +23 -0
  82. package/lib/nitrogen/nitrogen/generated/android/perpdepthbar+autolinking.cmake +87 -0
  83. package/lib/nitrogen/nitrogen/generated/android/perpdepthbar+autolinking.gradle +27 -0
  84. package/lib/nitrogen/nitrogen/generated/android/perpdepthbarOnLoad.cpp +58 -0
  85. package/lib/nitrogen/nitrogen/generated/android/perpdepthbarOnLoad.hpp +25 -0
  86. package/lib/nitrogen/nitrogen/generated/ios/PerpDepthBar+autolinking.rb +60 -0
  87. package/lib/nitrogen/nitrogen/generated/ios/PerpDepthBar-Swift-Cxx-Bridge.cpp +50 -0
  88. package/lib/nitrogen/nitrogen/generated/ios/PerpDepthBar-Swift-Cxx-Bridge.hpp +69 -0
  89. package/lib/nitrogen/nitrogen/generated/ios/PerpDepthBar-Swift-Cxx-Umbrella.hpp +48 -0
  90. package/lib/nitrogen/nitrogen/generated/ios/PerpDepthBarAutolinking.mm +41 -0
  91. package/lib/nitrogen/nitrogen/generated/ios/PerpDepthBarAutolinking.swift +40 -0
  92. package/lib/nitrogen/nitrogen/generated/ios/c++/HybridPerpDepthBarsSpecSwift.cpp +11 -0
  93. package/lib/nitrogen/nitrogen/generated/ios/c++/HybridPerpDepthBarsSpecSwift.hpp +120 -0
  94. package/lib/nitrogen/nitrogen/generated/ios/c++/HybridPerpSideRatioSpecSwift.cpp +11 -0
  95. package/lib/nitrogen/nitrogen/generated/ios/c++/HybridPerpSideRatioSpecSwift.hpp +118 -0
  96. package/lib/nitrogen/nitrogen/generated/ios/c++/views/HybridPerpDepthBarsComponent.mm +131 -0
  97. package/lib/nitrogen/nitrogen/generated/ios/c++/views/HybridPerpSideRatioComponent.mm +131 -0
  98. package/lib/nitrogen/nitrogen/generated/ios/swift/HybridPerpDepthBarsSpec.swift +63 -0
  99. package/lib/nitrogen/nitrogen/generated/ios/swift/HybridPerpDepthBarsSpec_cxx.swift +223 -0
  100. package/lib/nitrogen/nitrogen/generated/ios/swift/HybridPerpSideRatioSpec.swift +63 -0
  101. package/lib/nitrogen/nitrogen/generated/ios/swift/HybridPerpSideRatioSpec_cxx.swift +217 -0
  102. package/lib/nitrogen/nitrogen/generated/shared/c++/HybridPerpDepthBarsSpec.cpp +36 -0
  103. package/lib/nitrogen/nitrogen/generated/shared/c++/HybridPerpDepthBarsSpec.hpp +78 -0
  104. package/lib/nitrogen/nitrogen/generated/shared/c++/HybridPerpSideRatioSpec.cpp +36 -0
  105. package/lib/nitrogen/nitrogen/generated/shared/c++/HybridPerpSideRatioSpec.hpp +77 -0
  106. package/lib/nitrogen/nitrogen/generated/shared/c++/views/HybridPerpDepthBarsComponent.cpp +171 -0
  107. package/lib/nitrogen/nitrogen/generated/shared/c++/views/HybridPerpDepthBarsComponent.hpp +116 -0
  108. package/lib/nitrogen/nitrogen/generated/shared/c++/views/HybridPerpSideRatioComponent.cpp +171 -0
  109. package/lib/nitrogen/nitrogen/generated/shared/c++/views/HybridPerpSideRatioComponent.hpp +115 -0
  110. package/lib/nitrogen/nitrogen/generated/shared/json/PerpDepthBarsConfig.json +17 -0
  111. package/lib/nitrogen/nitrogen/generated/shared/json/PerpSideRatioConfig.json +17 -0
  112. package/lib/typescript/package.json +1 -0
  113. package/lib/typescript/src/PerpDepthBars.nitro.d.ts +37 -0
  114. package/lib/typescript/src/PerpDepthBars.nitro.d.ts.map +1 -0
  115. package/lib/typescript/src/PerpSideRatio.nitro.d.ts +29 -0
  116. package/lib/typescript/src/PerpSideRatio.nitro.d.ts.map +1 -0
  117. package/lib/typescript/src/index.d.ts +6 -0
  118. package/lib/typescript/src/index.d.ts.map +1 -0
  119. package/nitro.json +21 -0
  120. package/nitrogen/generated/android/c++/JHybridPerpDepthBarsSpec.cpp +130 -0
  121. package/nitrogen/generated/android/c++/JHybridPerpDepthBarsSpec.hpp +80 -0
  122. package/nitrogen/generated/android/c++/JHybridPerpSideRatioSpec.cpp +119 -0
  123. package/nitrogen/generated/android/c++/JHybridPerpSideRatioSpec.hpp +80 -0
  124. package/nitrogen/generated/android/c++/views/JHybridPerpDepthBarsStateUpdater.cpp +84 -0
  125. package/nitrogen/generated/android/c++/views/JHybridPerpDepthBarsStateUpdater.hpp +49 -0
  126. package/nitrogen/generated/android/c++/views/JHybridPerpSideRatioStateUpdater.cpp +84 -0
  127. package/nitrogen/generated/android/c++/views/JHybridPerpSideRatioStateUpdater.hpp +49 -0
  128. package/nitrogen/generated/android/kotlin/com/margelo/nitro/perpdepthbar/HybridPerpDepthBarsSpec.kt +101 -0
  129. package/nitrogen/generated/android/kotlin/com/margelo/nitro/perpdepthbar/HybridPerpSideRatioSpec.kt +101 -0
  130. package/nitrogen/generated/android/kotlin/com/margelo/nitro/perpdepthbar/perpdepthbarOnLoad.kt +35 -0
  131. package/nitrogen/generated/android/kotlin/com/margelo/nitro/perpdepthbar/views/HybridPerpDepthBarsManager.kt +50 -0
  132. package/nitrogen/generated/android/kotlin/com/margelo/nitro/perpdepthbar/views/HybridPerpDepthBarsStateUpdater.kt +23 -0
  133. package/nitrogen/generated/android/kotlin/com/margelo/nitro/perpdepthbar/views/HybridPerpSideRatioManager.kt +50 -0
  134. package/nitrogen/generated/android/kotlin/com/margelo/nitro/perpdepthbar/views/HybridPerpSideRatioStateUpdater.kt +23 -0
  135. package/nitrogen/generated/android/perpdepthbar+autolinking.cmake +87 -0
  136. package/nitrogen/generated/android/perpdepthbar+autolinking.gradle +27 -0
  137. package/nitrogen/generated/android/perpdepthbarOnLoad.cpp +58 -0
  138. package/nitrogen/generated/android/perpdepthbarOnLoad.hpp +25 -0
  139. package/nitrogen/generated/ios/PerpDepthBar+autolinking.rb +60 -0
  140. package/nitrogen/generated/ios/PerpDepthBar-Swift-Cxx-Bridge.cpp +50 -0
  141. package/nitrogen/generated/ios/PerpDepthBar-Swift-Cxx-Bridge.hpp +69 -0
  142. package/nitrogen/generated/ios/PerpDepthBar-Swift-Cxx-Umbrella.hpp +48 -0
  143. package/nitrogen/generated/ios/PerpDepthBarAutolinking.mm +41 -0
  144. package/nitrogen/generated/ios/PerpDepthBarAutolinking.swift +40 -0
  145. package/nitrogen/generated/ios/c++/HybridPerpDepthBarsSpecSwift.cpp +11 -0
  146. package/nitrogen/generated/ios/c++/HybridPerpDepthBarsSpecSwift.hpp +120 -0
  147. package/nitrogen/generated/ios/c++/HybridPerpSideRatioSpecSwift.cpp +11 -0
  148. package/nitrogen/generated/ios/c++/HybridPerpSideRatioSpecSwift.hpp +118 -0
  149. package/nitrogen/generated/ios/c++/views/HybridPerpDepthBarsComponent.mm +131 -0
  150. package/nitrogen/generated/ios/c++/views/HybridPerpSideRatioComponent.mm +131 -0
  151. package/nitrogen/generated/ios/swift/HybridPerpDepthBarsSpec.swift +63 -0
  152. package/nitrogen/generated/ios/swift/HybridPerpDepthBarsSpec_cxx.swift +223 -0
  153. package/nitrogen/generated/ios/swift/HybridPerpSideRatioSpec.swift +63 -0
  154. package/nitrogen/generated/ios/swift/HybridPerpSideRatioSpec_cxx.swift +217 -0
  155. package/nitrogen/generated/shared/c++/HybridPerpDepthBarsSpec.cpp +36 -0
  156. package/nitrogen/generated/shared/c++/HybridPerpDepthBarsSpec.hpp +78 -0
  157. package/nitrogen/generated/shared/c++/HybridPerpSideRatioSpec.cpp +36 -0
  158. package/nitrogen/generated/shared/c++/HybridPerpSideRatioSpec.hpp +77 -0
  159. package/nitrogen/generated/shared/c++/views/HybridPerpDepthBarsComponent.cpp +171 -0
  160. package/nitrogen/generated/shared/c++/views/HybridPerpDepthBarsComponent.hpp +116 -0
  161. package/nitrogen/generated/shared/c++/views/HybridPerpSideRatioComponent.cpp +171 -0
  162. package/nitrogen/generated/shared/c++/views/HybridPerpSideRatioComponent.hpp +115 -0
  163. package/nitrogen/generated/shared/json/PerpDepthBarsConfig.json +17 -0
  164. package/nitrogen/generated/shared/json/PerpSideRatioConfig.json +17 -0
  165. package/package.json +170 -0
  166. package/src/PerpDepthBars.nitro.ts +42 -0
  167. package/src/PerpSideRatio.nitro.ts +34 -0
  168. package/src/index.tsx +30 -0
@@ -0,0 +1,223 @@
1
+ ///
2
+ /// HybridPerpDepthBarsSpec_cxx.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import Foundation
9
+ import NitroModules
10
+
11
+ /**
12
+ * A class implementation that bridges HybridPerpDepthBarsSpec over to C++.
13
+ * In C++, we cannot use Swift protocols - so we need to wrap it in a class to make it strongly defined.
14
+ *
15
+ * Also, some Swift types need to be bridged with special handling:
16
+ * - Enums need to be wrapped in Structs, otherwise they cannot be accessed bi-directionally (Swift bug: https://github.com/swiftlang/swift/issues/75330)
17
+ * - Other HybridObjects need to be wrapped/unwrapped from the Swift TCxx wrapper
18
+ * - Throwing methods need to be wrapped with a Result<T, Error> type, as exceptions cannot be propagated to C++
19
+ */
20
+ open class HybridPerpDepthBarsSpec_cxx {
21
+ /**
22
+ * The Swift <> C++ bridge's namespace (`margelo::nitro::perpdepthbar::bridge::swift`)
23
+ * from `PerpDepthBar-Swift-Cxx-Bridge.hpp`.
24
+ * This contains specialized C++ templates, and C++ helper functions that can be accessed from Swift.
25
+ */
26
+ public typealias bridge = margelo.nitro.perpdepthbar.bridge.swift
27
+
28
+ /**
29
+ * Holds an instance of the `HybridPerpDepthBarsSpec` Swift protocol.
30
+ */
31
+ private var __implementation: any HybridPerpDepthBarsSpec
32
+
33
+ /**
34
+ * Holds a weak pointer to the C++ class that wraps the Swift class.
35
+ */
36
+ private var __cxxPart: bridge.std__weak_ptr_HybridPerpDepthBarsSpec_
37
+
38
+ /**
39
+ * Create a new `HybridPerpDepthBarsSpec_cxx` that wraps the given `HybridPerpDepthBarsSpec`.
40
+ * All properties and methods bridge to C++ types.
41
+ */
42
+ public init(_ implementation: any HybridPerpDepthBarsSpec) {
43
+ self.__implementation = implementation
44
+ self.__cxxPart = .init()
45
+ /* no base class */
46
+ }
47
+
48
+ /**
49
+ * Get the actual `HybridPerpDepthBarsSpec` instance this class wraps.
50
+ */
51
+ @inline(__always)
52
+ public func getHybridPerpDepthBarsSpec() -> any HybridPerpDepthBarsSpec {
53
+ return __implementation
54
+ }
55
+
56
+ /**
57
+ * Casts this instance to a retained unsafe raw pointer.
58
+ * This acquires one additional strong reference on the object!
59
+ */
60
+ public func toUnsafe() -> UnsafeMutableRawPointer {
61
+ return Unmanaged.passRetained(self).toOpaque()
62
+ }
63
+
64
+ /**
65
+ * Casts an unsafe pointer to a `HybridPerpDepthBarsSpec_cxx`.
66
+ * The pointer has to be a retained opaque `Unmanaged<HybridPerpDepthBarsSpec_cxx>`.
67
+ * This removes one strong reference from the object!
68
+ */
69
+ public class func fromUnsafe(_ pointer: UnsafeMutableRawPointer) -> HybridPerpDepthBarsSpec_cxx {
70
+ return Unmanaged<HybridPerpDepthBarsSpec_cxx>.fromOpaque(pointer).takeRetainedValue()
71
+ }
72
+
73
+ /**
74
+ * Gets (or creates) the C++ part of this Hybrid Object.
75
+ * The C++ part is a `std::shared_ptr<HybridPerpDepthBarsSpec>`.
76
+ */
77
+ public func getCxxPart() -> bridge.std__shared_ptr_HybridPerpDepthBarsSpec_ {
78
+ let cachedCxxPart = self.__cxxPart.lock()
79
+ if Bool(fromCxx: cachedCxxPart) {
80
+ return cachedCxxPart
81
+ } else {
82
+ let newCxxPart = bridge.create_std__shared_ptr_HybridPerpDepthBarsSpec_(self.toUnsafe())
83
+ __cxxPart = bridge.weakify_std__shared_ptr_HybridPerpDepthBarsSpec_(newCxxPart)
84
+ return newCxxPart
85
+ }
86
+ }
87
+
88
+
89
+
90
+ /**
91
+ * Get the memory size of the Swift class (plus size of any other allocations)
92
+ * so the JS VM can properly track it and garbage-collect the JS object if needed.
93
+ */
94
+ @inline(__always)
95
+ public var memorySize: Int {
96
+ return MemoryHelper.getSizeOf(self.__implementation) + self.__implementation.memorySize
97
+ }
98
+
99
+ /**
100
+ * Call dispose() on the Swift class.
101
+ * This _may_ be called manually from JS.
102
+ */
103
+ @inline(__always)
104
+ public func dispose() {
105
+ self.__implementation.dispose()
106
+ }
107
+
108
+ /**
109
+ * Call toString() on the Swift class.
110
+ */
111
+ @inline(__always)
112
+ public func toString() -> String {
113
+ return self.__implementation.toString()
114
+ }
115
+
116
+ // Properties
117
+ public final var percents: bridge.std__vector_double_ {
118
+ @inline(__always)
119
+ get {
120
+ return { () -> bridge.std__vector_double_ in
121
+ var __vector = bridge.create_std__vector_double_(self.__implementation.percents.count)
122
+ for __item in self.__implementation.percents {
123
+ __vector.push_back(__item)
124
+ }
125
+ return __vector
126
+ }()
127
+ }
128
+ @inline(__always)
129
+ set {
130
+ self.__implementation.percents = newValue.map({ __item in __item })
131
+ }
132
+ }
133
+
134
+ public final var rowHeight: Double {
135
+ @inline(__always)
136
+ get {
137
+ return self.__implementation.rowHeight
138
+ }
139
+ @inline(__always)
140
+ set {
141
+ self.__implementation.rowHeight = newValue
142
+ }
143
+ }
144
+
145
+ public final var rowMarginTop: Double {
146
+ @inline(__always)
147
+ get {
148
+ return self.__implementation.rowMarginTop
149
+ }
150
+ @inline(__always)
151
+ set {
152
+ self.__implementation.rowMarginTop = newValue
153
+ }
154
+ }
155
+
156
+ public final var barInset: Double {
157
+ @inline(__always)
158
+ get {
159
+ return self.__implementation.barInset
160
+ }
161
+ @inline(__always)
162
+ set {
163
+ self.__implementation.barInset = newValue
164
+ }
165
+ }
166
+
167
+ public final var color: std.string {
168
+ @inline(__always)
169
+ get {
170
+ return std.string(self.__implementation.color)
171
+ }
172
+ @inline(__always)
173
+ set {
174
+ self.__implementation.color = String(newValue)
175
+ }
176
+ }
177
+
178
+ public final var origin: std.string {
179
+ @inline(__always)
180
+ get {
181
+ return std.string(self.__implementation.origin)
182
+ }
183
+ @inline(__always)
184
+ set {
185
+ self.__implementation.origin = String(newValue)
186
+ }
187
+ }
188
+
189
+ public final var reducedMotion: Bool {
190
+ @inline(__always)
191
+ get {
192
+ return self.__implementation.reducedMotion
193
+ }
194
+ @inline(__always)
195
+ set {
196
+ self.__implementation.reducedMotion = newValue
197
+ }
198
+ }
199
+
200
+ public final var epoch: Double {
201
+ @inline(__always)
202
+ get {
203
+ return self.__implementation.epoch
204
+ }
205
+ @inline(__always)
206
+ set {
207
+ self.__implementation.epoch = newValue
208
+ }
209
+ }
210
+
211
+ // Methods
212
+ public final func getView() -> UnsafeMutableRawPointer {
213
+ return Unmanaged.passRetained(__implementation.view).toOpaque()
214
+ }
215
+
216
+ public final func beforeUpdate() {
217
+ __implementation.beforeUpdate()
218
+ }
219
+
220
+ public final func afterUpdate() {
221
+ __implementation.afterUpdate()
222
+ }
223
+ }
@@ -0,0 +1,63 @@
1
+ ///
2
+ /// HybridPerpSideRatioSpec.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import Foundation
9
+ import NitroModules
10
+
11
+ /// See ``HybridPerpSideRatioSpec``
12
+ public protocol HybridPerpSideRatioSpec_protocol: HybridObject, HybridView {
13
+ // Properties
14
+ var bidPercentage: Double { get set }
15
+ var askPercentage: Double { get set }
16
+ var longColor: String { get set }
17
+ var shortColor: String { get set }
18
+ var segmentHeight: Double { get set }
19
+ var cornerRadius: Double { get set }
20
+ var gap: Double { get set }
21
+ var reducedMotion: Bool { get set }
22
+
23
+ // Methods
24
+
25
+ }
26
+
27
+ public extension HybridPerpSideRatioSpec_protocol {
28
+ /// Default implementation of ``HybridObject.toString``
29
+ func toString() -> String {
30
+ return "[HybridObject PerpSideRatio]"
31
+ }
32
+ }
33
+
34
+ /// See ``HybridPerpSideRatioSpec``
35
+ open class HybridPerpSideRatioSpec_base {
36
+ private weak var cxxWrapper: HybridPerpSideRatioSpec_cxx? = nil
37
+ public init() { }
38
+ public func getCxxWrapper() -> HybridPerpSideRatioSpec_cxx {
39
+ #if DEBUG
40
+ guard self is HybridPerpSideRatioSpec else {
41
+ fatalError("`self` is not a `HybridPerpSideRatioSpec`! Did you accidentally inherit from `HybridPerpSideRatioSpec_base` instead of `HybridPerpSideRatioSpec`?")
42
+ }
43
+ #endif
44
+ if let cxxWrapper = self.cxxWrapper {
45
+ return cxxWrapper
46
+ } else {
47
+ let cxxWrapper = HybridPerpSideRatioSpec_cxx(self as! HybridPerpSideRatioSpec)
48
+ self.cxxWrapper = cxxWrapper
49
+ return cxxWrapper
50
+ }
51
+ }
52
+ }
53
+
54
+ /**
55
+ * A Swift base-protocol representing the PerpSideRatio HybridObject.
56
+ * Implement this protocol to create Swift-based instances of PerpSideRatio.
57
+ * ```swift
58
+ * class HybridPerpSideRatio : HybridPerpSideRatioSpec {
59
+ * // ...
60
+ * }
61
+ * ```
62
+ */
63
+ public typealias HybridPerpSideRatioSpec = HybridPerpSideRatioSpec_protocol & HybridPerpSideRatioSpec_base
@@ -0,0 +1,217 @@
1
+ ///
2
+ /// HybridPerpSideRatioSpec_cxx.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import Foundation
9
+ import NitroModules
10
+
11
+ /**
12
+ * A class implementation that bridges HybridPerpSideRatioSpec over to C++.
13
+ * In C++, we cannot use Swift protocols - so we need to wrap it in a class to make it strongly defined.
14
+ *
15
+ * Also, some Swift types need to be bridged with special handling:
16
+ * - Enums need to be wrapped in Structs, otherwise they cannot be accessed bi-directionally (Swift bug: https://github.com/swiftlang/swift/issues/75330)
17
+ * - Other HybridObjects need to be wrapped/unwrapped from the Swift TCxx wrapper
18
+ * - Throwing methods need to be wrapped with a Result<T, Error> type, as exceptions cannot be propagated to C++
19
+ */
20
+ open class HybridPerpSideRatioSpec_cxx {
21
+ /**
22
+ * The Swift <> C++ bridge's namespace (`margelo::nitro::perpdepthbar::bridge::swift`)
23
+ * from `PerpDepthBar-Swift-Cxx-Bridge.hpp`.
24
+ * This contains specialized C++ templates, and C++ helper functions that can be accessed from Swift.
25
+ */
26
+ public typealias bridge = margelo.nitro.perpdepthbar.bridge.swift
27
+
28
+ /**
29
+ * Holds an instance of the `HybridPerpSideRatioSpec` Swift protocol.
30
+ */
31
+ private var __implementation: any HybridPerpSideRatioSpec
32
+
33
+ /**
34
+ * Holds a weak pointer to the C++ class that wraps the Swift class.
35
+ */
36
+ private var __cxxPart: bridge.std__weak_ptr_HybridPerpSideRatioSpec_
37
+
38
+ /**
39
+ * Create a new `HybridPerpSideRatioSpec_cxx` that wraps the given `HybridPerpSideRatioSpec`.
40
+ * All properties and methods bridge to C++ types.
41
+ */
42
+ public init(_ implementation: any HybridPerpSideRatioSpec) {
43
+ self.__implementation = implementation
44
+ self.__cxxPart = .init()
45
+ /* no base class */
46
+ }
47
+
48
+ /**
49
+ * Get the actual `HybridPerpSideRatioSpec` instance this class wraps.
50
+ */
51
+ @inline(__always)
52
+ public func getHybridPerpSideRatioSpec() -> any HybridPerpSideRatioSpec {
53
+ return __implementation
54
+ }
55
+
56
+ /**
57
+ * Casts this instance to a retained unsafe raw pointer.
58
+ * This acquires one additional strong reference on the object!
59
+ */
60
+ public func toUnsafe() -> UnsafeMutableRawPointer {
61
+ return Unmanaged.passRetained(self).toOpaque()
62
+ }
63
+
64
+ /**
65
+ * Casts an unsafe pointer to a `HybridPerpSideRatioSpec_cxx`.
66
+ * The pointer has to be a retained opaque `Unmanaged<HybridPerpSideRatioSpec_cxx>`.
67
+ * This removes one strong reference from the object!
68
+ */
69
+ public class func fromUnsafe(_ pointer: UnsafeMutableRawPointer) -> HybridPerpSideRatioSpec_cxx {
70
+ return Unmanaged<HybridPerpSideRatioSpec_cxx>.fromOpaque(pointer).takeRetainedValue()
71
+ }
72
+
73
+ /**
74
+ * Gets (or creates) the C++ part of this Hybrid Object.
75
+ * The C++ part is a `std::shared_ptr<HybridPerpSideRatioSpec>`.
76
+ */
77
+ public func getCxxPart() -> bridge.std__shared_ptr_HybridPerpSideRatioSpec_ {
78
+ let cachedCxxPart = self.__cxxPart.lock()
79
+ if Bool(fromCxx: cachedCxxPart) {
80
+ return cachedCxxPart
81
+ } else {
82
+ let newCxxPart = bridge.create_std__shared_ptr_HybridPerpSideRatioSpec_(self.toUnsafe())
83
+ __cxxPart = bridge.weakify_std__shared_ptr_HybridPerpSideRatioSpec_(newCxxPart)
84
+ return newCxxPart
85
+ }
86
+ }
87
+
88
+
89
+
90
+ /**
91
+ * Get the memory size of the Swift class (plus size of any other allocations)
92
+ * so the JS VM can properly track it and garbage-collect the JS object if needed.
93
+ */
94
+ @inline(__always)
95
+ public var memorySize: Int {
96
+ return MemoryHelper.getSizeOf(self.__implementation) + self.__implementation.memorySize
97
+ }
98
+
99
+ /**
100
+ * Call dispose() on the Swift class.
101
+ * This _may_ be called manually from JS.
102
+ */
103
+ @inline(__always)
104
+ public func dispose() {
105
+ self.__implementation.dispose()
106
+ }
107
+
108
+ /**
109
+ * Call toString() on the Swift class.
110
+ */
111
+ @inline(__always)
112
+ public func toString() -> String {
113
+ return self.__implementation.toString()
114
+ }
115
+
116
+ // Properties
117
+ public final var bidPercentage: Double {
118
+ @inline(__always)
119
+ get {
120
+ return self.__implementation.bidPercentage
121
+ }
122
+ @inline(__always)
123
+ set {
124
+ self.__implementation.bidPercentage = newValue
125
+ }
126
+ }
127
+
128
+ public final var askPercentage: Double {
129
+ @inline(__always)
130
+ get {
131
+ return self.__implementation.askPercentage
132
+ }
133
+ @inline(__always)
134
+ set {
135
+ self.__implementation.askPercentage = newValue
136
+ }
137
+ }
138
+
139
+ public final var longColor: std.string {
140
+ @inline(__always)
141
+ get {
142
+ return std.string(self.__implementation.longColor)
143
+ }
144
+ @inline(__always)
145
+ set {
146
+ self.__implementation.longColor = String(newValue)
147
+ }
148
+ }
149
+
150
+ public final var shortColor: std.string {
151
+ @inline(__always)
152
+ get {
153
+ return std.string(self.__implementation.shortColor)
154
+ }
155
+ @inline(__always)
156
+ set {
157
+ self.__implementation.shortColor = String(newValue)
158
+ }
159
+ }
160
+
161
+ public final var segmentHeight: Double {
162
+ @inline(__always)
163
+ get {
164
+ return self.__implementation.segmentHeight
165
+ }
166
+ @inline(__always)
167
+ set {
168
+ self.__implementation.segmentHeight = newValue
169
+ }
170
+ }
171
+
172
+ public final var cornerRadius: Double {
173
+ @inline(__always)
174
+ get {
175
+ return self.__implementation.cornerRadius
176
+ }
177
+ @inline(__always)
178
+ set {
179
+ self.__implementation.cornerRadius = newValue
180
+ }
181
+ }
182
+
183
+ public final var gap: Double {
184
+ @inline(__always)
185
+ get {
186
+ return self.__implementation.gap
187
+ }
188
+ @inline(__always)
189
+ set {
190
+ self.__implementation.gap = newValue
191
+ }
192
+ }
193
+
194
+ public final var reducedMotion: Bool {
195
+ @inline(__always)
196
+ get {
197
+ return self.__implementation.reducedMotion
198
+ }
199
+ @inline(__always)
200
+ set {
201
+ self.__implementation.reducedMotion = newValue
202
+ }
203
+ }
204
+
205
+ // Methods
206
+ public final func getView() -> UnsafeMutableRawPointer {
207
+ return Unmanaged.passRetained(__implementation.view).toOpaque()
208
+ }
209
+
210
+ public final func beforeUpdate() {
211
+ __implementation.beforeUpdate()
212
+ }
213
+
214
+ public final func afterUpdate() {
215
+ __implementation.afterUpdate()
216
+ }
217
+ }
@@ -0,0 +1,36 @@
1
+ ///
2
+ /// HybridPerpDepthBarsSpec.cpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #include "HybridPerpDepthBarsSpec.hpp"
9
+
10
+ namespace margelo::nitro::perpdepthbar {
11
+
12
+ void HybridPerpDepthBarsSpec::loadHybridMethods() {
13
+ // load base methods/properties
14
+ HybridObject::loadHybridMethods();
15
+ // load custom methods/properties
16
+ registerHybrids(this, [](Prototype& prototype) {
17
+ prototype.registerHybridGetter("percents", &HybridPerpDepthBarsSpec::getPercents);
18
+ prototype.registerHybridSetter("percents", &HybridPerpDepthBarsSpec::setPercents);
19
+ prototype.registerHybridGetter("rowHeight", &HybridPerpDepthBarsSpec::getRowHeight);
20
+ prototype.registerHybridSetter("rowHeight", &HybridPerpDepthBarsSpec::setRowHeight);
21
+ prototype.registerHybridGetter("rowMarginTop", &HybridPerpDepthBarsSpec::getRowMarginTop);
22
+ prototype.registerHybridSetter("rowMarginTop", &HybridPerpDepthBarsSpec::setRowMarginTop);
23
+ prototype.registerHybridGetter("barInset", &HybridPerpDepthBarsSpec::getBarInset);
24
+ prototype.registerHybridSetter("barInset", &HybridPerpDepthBarsSpec::setBarInset);
25
+ prototype.registerHybridGetter("color", &HybridPerpDepthBarsSpec::getColor);
26
+ prototype.registerHybridSetter("color", &HybridPerpDepthBarsSpec::setColor);
27
+ prototype.registerHybridGetter("origin", &HybridPerpDepthBarsSpec::getOrigin);
28
+ prototype.registerHybridSetter("origin", &HybridPerpDepthBarsSpec::setOrigin);
29
+ prototype.registerHybridGetter("reducedMotion", &HybridPerpDepthBarsSpec::getReducedMotion);
30
+ prototype.registerHybridSetter("reducedMotion", &HybridPerpDepthBarsSpec::setReducedMotion);
31
+ prototype.registerHybridGetter("epoch", &HybridPerpDepthBarsSpec::getEpoch);
32
+ prototype.registerHybridSetter("epoch", &HybridPerpDepthBarsSpec::setEpoch);
33
+ });
34
+ }
35
+
36
+ } // namespace margelo::nitro::perpdepthbar
@@ -0,0 +1,78 @@
1
+ ///
2
+ /// HybridPerpDepthBarsSpec.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #if __has_include(<NitroModules/HybridObject.hpp>)
11
+ #include <NitroModules/HybridObject.hpp>
12
+ #else
13
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
14
+ #endif
15
+
16
+
17
+
18
+ #include <vector>
19
+ #include <string>
20
+
21
+ namespace margelo::nitro::perpdepthbar {
22
+
23
+ using namespace margelo::nitro;
24
+
25
+ /**
26
+ * An abstract base class for `PerpDepthBars`
27
+ * Inherit this class to create instances of `HybridPerpDepthBarsSpec` in C++.
28
+ * You must explicitly call `HybridObject`'s constructor yourself, because it is virtual.
29
+ * @example
30
+ * ```cpp
31
+ * class HybridPerpDepthBars: public HybridPerpDepthBarsSpec {
32
+ * public:
33
+ * HybridPerpDepthBars(...): HybridObject(TAG) { ... }
34
+ * // ...
35
+ * };
36
+ * ```
37
+ */
38
+ class HybridPerpDepthBarsSpec: public virtual HybridObject {
39
+ public:
40
+ // Constructor
41
+ explicit HybridPerpDepthBarsSpec(): HybridObject(TAG) { }
42
+
43
+ // Destructor
44
+ ~HybridPerpDepthBarsSpec() override = default;
45
+
46
+ public:
47
+ // Properties
48
+ virtual std::vector<double> getPercents() = 0;
49
+ virtual void setPercents(const std::vector<double>& percents) = 0;
50
+ virtual double getRowHeight() = 0;
51
+ virtual void setRowHeight(double rowHeight) = 0;
52
+ virtual double getRowMarginTop() = 0;
53
+ virtual void setRowMarginTop(double rowMarginTop) = 0;
54
+ virtual double getBarInset() = 0;
55
+ virtual void setBarInset(double barInset) = 0;
56
+ virtual std::string getColor() = 0;
57
+ virtual void setColor(const std::string& color) = 0;
58
+ virtual std::string getOrigin() = 0;
59
+ virtual void setOrigin(const std::string& origin) = 0;
60
+ virtual bool getReducedMotion() = 0;
61
+ virtual void setReducedMotion(bool reducedMotion) = 0;
62
+ virtual double getEpoch() = 0;
63
+ virtual void setEpoch(double epoch) = 0;
64
+
65
+ public:
66
+ // Methods
67
+
68
+
69
+ protected:
70
+ // Hybrid Setup
71
+ void loadHybridMethods() override;
72
+
73
+ protected:
74
+ // Tag for logging
75
+ static constexpr auto TAG = "PerpDepthBars";
76
+ };
77
+
78
+ } // namespace margelo::nitro::perpdepthbar
@@ -0,0 +1,36 @@
1
+ ///
2
+ /// HybridPerpSideRatioSpec.cpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #include "HybridPerpSideRatioSpec.hpp"
9
+
10
+ namespace margelo::nitro::perpdepthbar {
11
+
12
+ void HybridPerpSideRatioSpec::loadHybridMethods() {
13
+ // load base methods/properties
14
+ HybridObject::loadHybridMethods();
15
+ // load custom methods/properties
16
+ registerHybrids(this, [](Prototype& prototype) {
17
+ prototype.registerHybridGetter("bidPercentage", &HybridPerpSideRatioSpec::getBidPercentage);
18
+ prototype.registerHybridSetter("bidPercentage", &HybridPerpSideRatioSpec::setBidPercentage);
19
+ prototype.registerHybridGetter("askPercentage", &HybridPerpSideRatioSpec::getAskPercentage);
20
+ prototype.registerHybridSetter("askPercentage", &HybridPerpSideRatioSpec::setAskPercentage);
21
+ prototype.registerHybridGetter("longColor", &HybridPerpSideRatioSpec::getLongColor);
22
+ prototype.registerHybridSetter("longColor", &HybridPerpSideRatioSpec::setLongColor);
23
+ prototype.registerHybridGetter("shortColor", &HybridPerpSideRatioSpec::getShortColor);
24
+ prototype.registerHybridSetter("shortColor", &HybridPerpSideRatioSpec::setShortColor);
25
+ prototype.registerHybridGetter("segmentHeight", &HybridPerpSideRatioSpec::getSegmentHeight);
26
+ prototype.registerHybridSetter("segmentHeight", &HybridPerpSideRatioSpec::setSegmentHeight);
27
+ prototype.registerHybridGetter("cornerRadius", &HybridPerpSideRatioSpec::getCornerRadius);
28
+ prototype.registerHybridSetter("cornerRadius", &HybridPerpSideRatioSpec::setCornerRadius);
29
+ prototype.registerHybridGetter("gap", &HybridPerpSideRatioSpec::getGap);
30
+ prototype.registerHybridSetter("gap", &HybridPerpSideRatioSpec::setGap);
31
+ prototype.registerHybridGetter("reducedMotion", &HybridPerpSideRatioSpec::getReducedMotion);
32
+ prototype.registerHybridSetter("reducedMotion", &HybridPerpSideRatioSpec::setReducedMotion);
33
+ });
34
+ }
35
+
36
+ } // namespace margelo::nitro::perpdepthbar