react-native-candle 19.0.12-beta → 40.0.6-beta

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 (138) hide show
  1. package/README.md +17 -25
  2. package/android/gradle.properties +5 -0
  3. package/android/src/main/java/com/margelo/nitro/rncandle/BridgeTypes.kt +189 -2
  4. package/android/src/main/java/com/margelo/nitro/rncandle/HybridRNCandle.kt +63 -10
  5. package/ios/Sources/CandleLinkSheetWrapperView.swift +3 -2
  6. package/ios/Sources/CandleLinkViewModel.swift +2 -1
  7. package/ios/Sources/RNCandle.swift +86 -9
  8. package/ios/Sources/Types.swift +199 -5
  9. package/lib/typescript/commonjs/src/context.d.ts +16 -6
  10. package/lib/typescript/commonjs/src/provider.d.ts +1 -2
  11. package/lib/typescript/commonjs/src/specs/RNCandle.nitro.d.ts +76 -6
  12. package/lib/typescript/commonjs/src/types.d.ts +15 -3
  13. package/lib/typescript/module/src/context.d.ts +16 -6
  14. package/lib/typescript/module/src/provider.d.ts +1 -2
  15. package/lib/typescript/module/src/specs/RNCandle.nitro.d.ts +76 -6
  16. package/lib/typescript/module/src/types.d.ts +15 -3
  17. package/nitrogen/generated/android/c++/JAssetAccount.hpp +2 -0
  18. package/nitrogen/generated/android/c++/JAssetAccountsResponse.hpp +2 -0
  19. package/nitrogen/generated/android/c++/JCounterparty.hpp +2 -0
  20. package/nitrogen/generated/android/c++/JCryptoAccount.hpp +3 -0
  21. package/nitrogen/generated/android/c++/JCryptoAsset.hpp +3 -0
  22. package/nitrogen/generated/android/c++/JEventAsset.hpp +3 -0
  23. package/nitrogen/generated/android/c++/JFiatAccount.hpp +2 -0
  24. package/nitrogen/generated/android/c++/JFiatAsset.hpp +2 -0
  25. package/nitrogen/generated/android/c++/JFriendRequestAsset.hpp +86 -0
  26. package/nitrogen/generated/android/c++/JFriendRequestAssetDirection.hpp +58 -0
  27. package/nitrogen/generated/android/c++/JFriendRequestAssetQuoteRequest.hpp +63 -0
  28. package/nitrogen/generated/android/c++/JFriendRequestAssetQuoteRequestAction.hpp +64 -0
  29. package/nitrogen/generated/android/c++/JFriendRequestAssetRef.hpp +66 -0
  30. package/nitrogen/generated/android/c++/JFunc_void_LinkedAccount.hpp +13 -11
  31. package/nitrogen/generated/android/c++/JFunc_void_TradeExecutionResult.hpp +11 -0
  32. package/nitrogen/generated/android/c++/JHostedAuthorizationCallback.hpp +66 -0
  33. package/nitrogen/generated/android/c++/JHostedAuthorizationRequest.hpp +69 -0
  34. package/nitrogen/generated/android/c++/JHybridRNCandleSpec.cpp +78 -15
  35. package/nitrogen/generated/android/c++/JHybridRNCandleSpec.hpp +7 -4
  36. package/nitrogen/generated/android/c++/JLinkedAccount.hpp +2 -0
  37. package/nitrogen/generated/android/c++/JLinkedAccountStatusRef.hpp +3 -0
  38. package/nitrogen/generated/android/c++/JMessageThreadAsset.hpp +99 -0
  39. package/nitrogen/generated/android/c++/JMessageThreadAssetQuoteRequest.hpp +61 -0
  40. package/nitrogen/generated/android/c++/JMessageThreadAssetRef.hpp +65 -0
  41. package/nitrogen/generated/android/c++/JMessageThreadMessage.hpp +78 -0
  42. package/nitrogen/generated/android/c++/JService.hpp +36 -252
  43. package/nitrogen/generated/android/c++/JServiceCounterparty.hpp +3 -0
  44. package/nitrogen/generated/android/c++/JServiceID.hpp +316 -0
  45. package/nitrogen/generated/android/c++/JStockAccount.hpp +3 -0
  46. package/nitrogen/generated/android/c++/JStockAsset.hpp +3 -0
  47. package/nitrogen/generated/android/c++/JTrade.hpp +11 -0
  48. package/nitrogen/generated/android/c++/JTradeAsset.hpp +22 -1
  49. package/nitrogen/generated/android/c++/JTradeAssetKind.hpp +6 -0
  50. package/nitrogen/generated/android/c++/JTradeAssetQuoteRequest.hpp +15 -1
  51. package/nitrogen/generated/android/c++/JTradeAssetRef.hpp +13 -1
  52. package/nitrogen/generated/android/c++/JTradeExecutionResult.hpp +11 -0
  53. package/nitrogen/generated/android/c++/JTradeQuote.hpp +11 -0
  54. package/nitrogen/generated/android/c++/JTradeQuotesRequest.hpp +6 -0
  55. package/nitrogen/generated/android/c++/JTradeQuotesResponse.hpp +10 -0
  56. package/nitrogen/generated/android/c++/JTradeRef.hpp +4 -0
  57. package/nitrogen/generated/android/c++/JTradesResponse.hpp +10 -0
  58. package/nitrogen/generated/android/c++/JTransportAccount.hpp +3 -0
  59. package/nitrogen/generated/android/c++/JTransportAsset.hpp +3 -0
  60. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rncandle/FriendRequestAsset.kt +53 -0
  61. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rncandle/FriendRequestAssetDirection.kt +23 -0
  62. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rncandle/FriendRequestAssetQuoteRequest.kt +41 -0
  63. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rncandle/FriendRequestAssetQuoteRequestAction.kt +25 -0
  64. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rncandle/FriendRequestAssetRef.kt +44 -0
  65. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rncandle/Func_void_LinkedAccount.kt +9 -9
  66. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rncandle/HostedAuthorizationCallback.kt +44 -0
  67. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rncandle/HostedAuthorizationRequest.kt +47 -0
  68. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rncandle/HybridRNCandleSpec.kt +18 -6
  69. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rncandle/MessageThreadAsset.kt +50 -0
  70. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rncandle/MessageThreadAssetQuoteRequest.kt +41 -0
  71. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rncandle/MessageThreadAssetRef.kt +44 -0
  72. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rncandle/MessageThreadMessage.kt +53 -0
  73. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rncandle/Service.kt +32 -83
  74. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rncandle/ServiceID.kt +109 -0
  75. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rncandle/TradeAsset.kt +8 -2
  76. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rncandle/TradeAssetKind.kt +4 -2
  77. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rncandle/TradeAssetQuoteRequest.kt +8 -2
  78. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rncandle/TradeAssetRef.kt +8 -2
  79. package/nitrogen/generated/ios/ReactNativeCandle-Swift-Cxx-Bridge.cpp +3 -3
  80. package/nitrogen/generated/ios/ReactNativeCandle-Swift-Cxx-Bridge.hpp +184 -20
  81. package/nitrogen/generated/ios/ReactNativeCandle-Swift-Cxx-Umbrella.hpp +37 -1
  82. package/nitrogen/generated/ios/c++/HybridRNCandleSpecSwift.hpp +74 -14
  83. package/nitrogen/generated/ios/swift/FriendRequestAsset.swift +67 -0
  84. package/nitrogen/generated/ios/swift/FriendRequestAssetDirection.swift +40 -0
  85. package/nitrogen/generated/ios/swift/FriendRequestAssetQuoteRequest.swift +34 -0
  86. package/nitrogen/generated/ios/swift/FriendRequestAssetQuoteRequestAction.swift +48 -0
  87. package/nitrogen/generated/ios/swift/FriendRequestAssetRef.swift +52 -0
  88. package/nitrogen/generated/ios/swift/Func_void_LinkedAccount.swift +5 -5
  89. package/nitrogen/generated/ios/swift/HostedAuthorizationCallback.swift +52 -0
  90. package/nitrogen/generated/ios/swift/HostedAuthorizationRequest.swift +44 -0
  91. package/nitrogen/generated/ios/swift/HybridRNCandleSpec.swift +7 -4
  92. package/nitrogen/generated/ios/swift/HybridRNCandleSpec_cxx.swift +56 -13
  93. package/nitrogen/generated/ios/swift/MessageThreadAsset.swift +68 -0
  94. package/nitrogen/generated/ios/swift/MessageThreadAssetQuoteRequest.swift +34 -0
  95. package/nitrogen/generated/ios/swift/MessageThreadAssetRef.swift +39 -0
  96. package/nitrogen/generated/ios/swift/MessageThreadMessage.swift +119 -0
  97. package/nitrogen/generated/ios/swift/Service.swift +44 -334
  98. package/nitrogen/generated/ios/swift/ServiceID.swift +384 -0
  99. package/nitrogen/generated/ios/swift/TradeAsset.swift +23 -1
  100. package/nitrogen/generated/ios/swift/TradeAssetKind.swift +8 -0
  101. package/nitrogen/generated/ios/swift/TradeAssetQuoteRequest.swift +23 -1
  102. package/nitrogen/generated/ios/swift/TradeAssetRef.swift +23 -1
  103. package/nitrogen/generated/shared/c++/CryptoAccount.hpp +1 -1
  104. package/nitrogen/generated/shared/c++/CryptoAsset.hpp +1 -1
  105. package/nitrogen/generated/shared/c++/EventAsset.hpp +1 -1
  106. package/nitrogen/generated/shared/c++/FiatAccount.hpp +1 -1
  107. package/nitrogen/generated/shared/c++/FiatAsset.hpp +1 -1
  108. package/nitrogen/generated/shared/c++/FriendRequestAsset.hpp +112 -0
  109. package/nitrogen/generated/shared/c++/FriendRequestAssetDirection.hpp +76 -0
  110. package/nitrogen/generated/shared/c++/FriendRequestAssetQuoteRequest.hpp +89 -0
  111. package/nitrogen/generated/shared/c++/FriendRequestAssetQuoteRequestAction.hpp +84 -0
  112. package/nitrogen/generated/shared/c++/FriendRequestAssetRef.hpp +92 -0
  113. package/nitrogen/generated/shared/c++/HostedAuthorizationCallback.hpp +92 -0
  114. package/nitrogen/generated/shared/c++/HostedAuthorizationRequest.hpp +95 -0
  115. package/nitrogen/generated/shared/c++/HybridRNCandleSpec.cpp +5 -2
  116. package/nitrogen/generated/shared/c++/HybridRNCandleSpec.hpp +16 -7
  117. package/nitrogen/generated/shared/c++/LinkedAccount.hpp +1 -1
  118. package/nitrogen/generated/shared/c++/LinkedAccountStatusRef.hpp +1 -1
  119. package/nitrogen/generated/shared/c++/MessageThreadAsset.hpp +106 -0
  120. package/nitrogen/generated/shared/c++/MessageThreadAssetQuoteRequest.hpp +87 -0
  121. package/nitrogen/generated/shared/c++/MessageThreadAssetRef.hpp +91 -0
  122. package/nitrogen/generated/shared/c++/MessageThreadMessage.hpp +104 -0
  123. package/nitrogen/generated/shared/c++/Service.hpp +60 -346
  124. package/nitrogen/generated/shared/c++/ServiceCounterparty.hpp +1 -1
  125. package/nitrogen/generated/shared/c++/ServiceID.hpp +420 -0
  126. package/nitrogen/generated/shared/c++/StockAccount.hpp +1 -1
  127. package/nitrogen/generated/shared/c++/StockAsset.hpp +1 -1
  128. package/nitrogen/generated/shared/c++/TradeAsset.hpp +15 -1
  129. package/nitrogen/generated/shared/c++/TradeAssetKind.hpp +10 -2
  130. package/nitrogen/generated/shared/c++/TradeAssetQuoteRequest.hpp +15 -1
  131. package/nitrogen/generated/shared/c++/TradeAssetRef.hpp +15 -1
  132. package/nitrogen/generated/shared/c++/TransportAccount.hpp +1 -1
  133. package/nitrogen/generated/shared/c++/TransportAsset.hpp +1 -1
  134. package/package.json +1 -1
  135. package/src/context.ts +21 -5
  136. package/src/provider.tsx +62 -34
  137. package/src/specs/RNCandle.nitro.ts +109 -7
  138. package/src/types.ts +50 -1
@@ -7,11 +7,6 @@
7
7
 
8
8
  #pragma once
9
9
 
10
- #if __has_include(<NitroModules/NitroHash.hpp>)
11
- #include <NitroModules/NitroHash.hpp>
12
- #else
13
- #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
14
- #endif
15
10
  #if __has_include(<NitroModules/JSIConverter.hpp>)
16
11
  #include <NitroModules/JSIConverter.hpp>
17
12
  #else
@@ -22,366 +17,85 @@
22
17
  #else
23
18
  #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
19
  #endif
20
+ #if __has_include(<NitroModules/JSIHelpers.hpp>)
21
+ #include <NitroModules/JSIHelpers.hpp>
22
+ #else
23
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
+ #endif
25
+ #if __has_include(<NitroModules/PropNameIDCache.hpp>)
26
+ #include <NitroModules/PropNameIDCache.hpp>
27
+ #else
28
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
29
+ #endif
30
+
31
+ // Forward declaration of `ServiceID` to properly resolve imports.
32
+ namespace margelo::nitro::rncandle { enum class ServiceID; }
33
+
34
+ #include "ServiceID.hpp"
35
+ #include <string>
36
+ #include <optional>
25
37
 
26
38
  namespace margelo::nitro::rncandle {
27
39
 
28
40
  /**
29
- * An enum which can be represented as a JavaScript union (Service).
41
+ * A struct which can be represented as a JavaScript object (Service).
30
42
  */
31
- enum class Service {
32
- ROBINHOOD SWIFT_NAME(robinhood) = 0,
33
- CASH_APP SWIFT_NAME(cashApp) = 1,
34
- VENMO SWIFT_NAME(venmo) = 2,
35
- APPLE SWIFT_NAME(apple) = 3,
36
- SANDBOX SWIFT_NAME(sandbox) = 4,
37
- UBER SWIFT_NAME(uber) = 5,
38
- LYFT SWIFT_NAME(lyft) = 6,
39
- CHIME SWIFT_NAME(chime) = 7,
40
- PAYPAL SWIFT_NAME(paypal) = 8,
41
- COINBASE SWIFT_NAME(coinbase) = 9,
42
- DISCOVER SWIFT_NAME(discover) = 10,
43
- AMERICAN_EXPRESS SWIFT_NAME(americanExpress) = 11,
44
- JPMORGAN_CHASE SWIFT_NAME(jpmorganChase) = 12,
45
- BANK_OF_AMERICA SWIFT_NAME(bankOfAmerica) = 13,
46
- CAPITAL_ONE SWIFT_NAME(capitalOne) = 14,
47
- CITIBANK SWIFT_NAME(citibank) = 15,
48
- VANGUARD SWIFT_NAME(vanguard) = 16,
49
- WELLS_FARGO SWIFT_NAME(wellsFargo) = 17,
50
- CHARLES_SCHWAB SWIFT_NAME(charlesSchwab) = 18,
51
- KALSHI SWIFT_NAME(kalshi) = 19,
52
- EXPERIAN SWIFT_NAME(experian) = 20,
53
- WAYMO SWIFT_NAME(waymo) = 21,
54
- REVEL SWIFT_NAME(revel) = 22,
55
- TURO SWIFT_NAME(turo) = 23,
56
- GETAROUND SWIFT_NAME(getaround) = 24,
57
- ZIPCAR SWIFT_NAME(zipcar) = 25,
58
- AIRBNB SWIFT_NAME(airbnb) = 26,
59
- AMERICAN_AIRLINES SWIFT_NAME(americanAirlines) = 27,
60
- DELTA SWIFT_NAME(delta) = 28,
61
- UNITED SWIFT_NAME(united) = 29,
62
- JETBLUE SWIFT_NAME(jetblue) = 30,
63
- SOUTHWEST SWIFT_NAME(southwest) = 31,
64
- HAWAIIAN SWIFT_NAME(hawaiian) = 32,
65
- HOTELS SWIFT_NAME(hotels) = 33,
66
- GEICO SWIFT_NAME(geico) = 34,
67
- PROGRESSIVE SWIFT_NAME(progressive) = 35,
68
- AAA SWIFT_NAME(aaa) = 36,
69
- STATE_FARM SWIFT_NAME(stateFarm) = 37,
70
- HERTZ SWIFT_NAME(hertz) = 38,
71
- AVIS SWIFT_NAME(avis) = 39,
72
- TESLA SWIFT_NAME(tesla) = 40,
73
- DOORDASH SWIFT_NAME(doordash) = 41,
74
- UBER_EATS SWIFT_NAME(uberEats) = 42,
75
- GRUBHUB SWIFT_NAME(grubhub) = 43,
76
- RESY SWIFT_NAME(resy) = 44,
77
- OPENTABLE SWIFT_NAME(opentable) = 45,
78
- STARBUCKS SWIFT_NAME(starbucks) = 46,
79
- BLUE_BOTTLE SWIFT_NAME(blueBottle) = 47,
80
- COSTCO SWIFT_NAME(costco) = 48,
81
- AMAZON SWIFT_NAME(amazon) = 49,
82
- WALMART SWIFT_NAME(walmart) = 50,
83
- WHOLE_FOODS SWIFT_NAME(wholeFoods) = 51,
84
- MCDONALDS SWIFT_NAME(mcdonalds) = 52,
85
- CHIPOTLE SWIFT_NAME(chipotle) = 53,
86
- SWEETGREEN SWIFT_NAME(sweetgreen) = 54,
87
- SNAPCHAT SWIFT_NAME(snapchat) = 55,
88
- X SWIFT_NAME(x) = 56,
89
- FACEBOOK SWIFT_NAME(facebook) = 57,
90
- INSTAGRAM SWIFT_NAME(instagram) = 58,
91
- SIGNAL SWIFT_NAME(signal) = 59,
92
- WHATSAPP SWIFT_NAME(whatsapp) = 60,
93
- MESSENGER SWIFT_NAME(messenger) = 61,
94
- LINKEDIN SWIFT_NAME(linkedin) = 62,
95
- DISCORD SWIFT_NAME(discord) = 63,
96
- MESSAGES SWIFT_NAME(messages) = 64,
97
- TELEGRAM SWIFT_NAME(telegram) = 65,
98
- REDDIT SWIFT_NAME(reddit) = 66,
99
- PINTEREST SWIFT_NAME(pinterest) = 67,
100
- NEW_YORK_TIMES SWIFT_NAME(newYorkTimes) = 68,
101
- WASHINGTON_POST SWIFT_NAME(washingtonPost) = 69,
102
- WALL_STREET_JOURNAL SWIFT_NAME(wallStreetJournal) = 70,
103
- CNN SWIFT_NAME(cnn) = 71,
104
- YAHOO SWIFT_NAME(yahoo) = 72,
105
- FOX SWIFT_NAME(fox) = 73,
106
- PERPLEXITY SWIFT_NAME(perplexity) = 74,
107
- OPENAI SWIFT_NAME(openai) = 75,
108
- POLYMARKET SWIFT_NAME(polymarket) = 76,
109
- ESPN SWIFT_NAME(espn) = 77,
110
- YOUTUBE SWIFT_NAME(youtube) = 78,
111
- NETFLIX SWIFT_NAME(netflix) = 79,
112
- } CLOSED_ENUM;
43
+ struct Service final {
44
+ public:
45
+ ServiceID id SWIFT_PRIVATE;
46
+ std::string displayName SWIFT_PRIVATE;
47
+ std::string logoURL SWIFT_PRIVATE;
48
+ std::optional<std::string> thumbhash SWIFT_PRIVATE;
49
+ std::string accentColor SWIFT_PRIVATE;
50
+
51
+ public:
52
+ Service() = default;
53
+ explicit Service(ServiceID id, std::string displayName, std::string logoURL, std::optional<std::string> thumbhash, std::string accentColor): id(id), displayName(displayName), logoURL(logoURL), thumbhash(thumbhash), accentColor(accentColor) {}
54
+
55
+ public:
56
+ friend bool operator==(const Service& lhs, const Service& rhs) = default;
57
+ };
113
58
 
114
59
  } // namespace margelo::nitro::rncandle
115
60
 
116
61
  namespace margelo::nitro {
117
62
 
118
- // C++ Service <> JS Service (union)
63
+ // C++ Service <> JS Service (object)
119
64
  template <>
120
65
  struct JSIConverter<margelo::nitro::rncandle::Service> final {
121
66
  static inline margelo::nitro::rncandle::Service fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
122
- std::string unionValue = JSIConverter<std::string>::fromJSI(runtime, arg);
123
- switch (hashString(unionValue.c_str(), unionValue.size())) {
124
- case hashString("robinhood"): return margelo::nitro::rncandle::Service::ROBINHOOD;
125
- case hashString("cash_app"): return margelo::nitro::rncandle::Service::CASH_APP;
126
- case hashString("venmo"): return margelo::nitro::rncandle::Service::VENMO;
127
- case hashString("apple"): return margelo::nitro::rncandle::Service::APPLE;
128
- case hashString("sandbox"): return margelo::nitro::rncandle::Service::SANDBOX;
129
- case hashString("uber"): return margelo::nitro::rncandle::Service::UBER;
130
- case hashString("lyft"): return margelo::nitro::rncandle::Service::LYFT;
131
- case hashString("chime"): return margelo::nitro::rncandle::Service::CHIME;
132
- case hashString("paypal"): return margelo::nitro::rncandle::Service::PAYPAL;
133
- case hashString("coinbase"): return margelo::nitro::rncandle::Service::COINBASE;
134
- case hashString("discover"): return margelo::nitro::rncandle::Service::DISCOVER;
135
- case hashString("american_express"): return margelo::nitro::rncandle::Service::AMERICAN_EXPRESS;
136
- case hashString("jpmorgan_chase"): return margelo::nitro::rncandle::Service::JPMORGAN_CHASE;
137
- case hashString("bank_of_america"): return margelo::nitro::rncandle::Service::BANK_OF_AMERICA;
138
- case hashString("capital_one"): return margelo::nitro::rncandle::Service::CAPITAL_ONE;
139
- case hashString("citibank"): return margelo::nitro::rncandle::Service::CITIBANK;
140
- case hashString("vanguard"): return margelo::nitro::rncandle::Service::VANGUARD;
141
- case hashString("wells_fargo"): return margelo::nitro::rncandle::Service::WELLS_FARGO;
142
- case hashString("charles_schwab"): return margelo::nitro::rncandle::Service::CHARLES_SCHWAB;
143
- case hashString("kalshi"): return margelo::nitro::rncandle::Service::KALSHI;
144
- case hashString("experian"): return margelo::nitro::rncandle::Service::EXPERIAN;
145
- case hashString("waymo"): return margelo::nitro::rncandle::Service::WAYMO;
146
- case hashString("revel"): return margelo::nitro::rncandle::Service::REVEL;
147
- case hashString("turo"): return margelo::nitro::rncandle::Service::TURO;
148
- case hashString("getaround"): return margelo::nitro::rncandle::Service::GETAROUND;
149
- case hashString("zipcar"): return margelo::nitro::rncandle::Service::ZIPCAR;
150
- case hashString("airbnb"): return margelo::nitro::rncandle::Service::AIRBNB;
151
- case hashString("american_airlines"): return margelo::nitro::rncandle::Service::AMERICAN_AIRLINES;
152
- case hashString("delta"): return margelo::nitro::rncandle::Service::DELTA;
153
- case hashString("united"): return margelo::nitro::rncandle::Service::UNITED;
154
- case hashString("jetblue"): return margelo::nitro::rncandle::Service::JETBLUE;
155
- case hashString("southwest"): return margelo::nitro::rncandle::Service::SOUTHWEST;
156
- case hashString("hawaiian"): return margelo::nitro::rncandle::Service::HAWAIIAN;
157
- case hashString("hotels"): return margelo::nitro::rncandle::Service::HOTELS;
158
- case hashString("geico"): return margelo::nitro::rncandle::Service::GEICO;
159
- case hashString("progressive"): return margelo::nitro::rncandle::Service::PROGRESSIVE;
160
- case hashString("aaa"): return margelo::nitro::rncandle::Service::AAA;
161
- case hashString("state_farm"): return margelo::nitro::rncandle::Service::STATE_FARM;
162
- case hashString("hertz"): return margelo::nitro::rncandle::Service::HERTZ;
163
- case hashString("avis"): return margelo::nitro::rncandle::Service::AVIS;
164
- case hashString("tesla"): return margelo::nitro::rncandle::Service::TESLA;
165
- case hashString("doordash"): return margelo::nitro::rncandle::Service::DOORDASH;
166
- case hashString("uber_eats"): return margelo::nitro::rncandle::Service::UBER_EATS;
167
- case hashString("grubhub"): return margelo::nitro::rncandle::Service::GRUBHUB;
168
- case hashString("resy"): return margelo::nitro::rncandle::Service::RESY;
169
- case hashString("opentable"): return margelo::nitro::rncandle::Service::OPENTABLE;
170
- case hashString("starbucks"): return margelo::nitro::rncandle::Service::STARBUCKS;
171
- case hashString("blue_bottle"): return margelo::nitro::rncandle::Service::BLUE_BOTTLE;
172
- case hashString("costco"): return margelo::nitro::rncandle::Service::COSTCO;
173
- case hashString("amazon"): return margelo::nitro::rncandle::Service::AMAZON;
174
- case hashString("walmart"): return margelo::nitro::rncandle::Service::WALMART;
175
- case hashString("whole_foods"): return margelo::nitro::rncandle::Service::WHOLE_FOODS;
176
- case hashString("mcdonalds"): return margelo::nitro::rncandle::Service::MCDONALDS;
177
- case hashString("chipotle"): return margelo::nitro::rncandle::Service::CHIPOTLE;
178
- case hashString("sweetgreen"): return margelo::nitro::rncandle::Service::SWEETGREEN;
179
- case hashString("snapchat"): return margelo::nitro::rncandle::Service::SNAPCHAT;
180
- case hashString("x"): return margelo::nitro::rncandle::Service::X;
181
- case hashString("facebook"): return margelo::nitro::rncandle::Service::FACEBOOK;
182
- case hashString("instagram"): return margelo::nitro::rncandle::Service::INSTAGRAM;
183
- case hashString("signal"): return margelo::nitro::rncandle::Service::SIGNAL;
184
- case hashString("whatsapp"): return margelo::nitro::rncandle::Service::WHATSAPP;
185
- case hashString("messenger"): return margelo::nitro::rncandle::Service::MESSENGER;
186
- case hashString("linkedin"): return margelo::nitro::rncandle::Service::LINKEDIN;
187
- case hashString("discord"): return margelo::nitro::rncandle::Service::DISCORD;
188
- case hashString("messages"): return margelo::nitro::rncandle::Service::MESSAGES;
189
- case hashString("telegram"): return margelo::nitro::rncandle::Service::TELEGRAM;
190
- case hashString("reddit"): return margelo::nitro::rncandle::Service::REDDIT;
191
- case hashString("pinterest"): return margelo::nitro::rncandle::Service::PINTEREST;
192
- case hashString("new_york_times"): return margelo::nitro::rncandle::Service::NEW_YORK_TIMES;
193
- case hashString("washington_post"): return margelo::nitro::rncandle::Service::WASHINGTON_POST;
194
- case hashString("wall_street_journal"): return margelo::nitro::rncandle::Service::WALL_STREET_JOURNAL;
195
- case hashString("cnn"): return margelo::nitro::rncandle::Service::CNN;
196
- case hashString("yahoo"): return margelo::nitro::rncandle::Service::YAHOO;
197
- case hashString("fox"): return margelo::nitro::rncandle::Service::FOX;
198
- case hashString("perplexity"): return margelo::nitro::rncandle::Service::PERPLEXITY;
199
- case hashString("openai"): return margelo::nitro::rncandle::Service::OPENAI;
200
- case hashString("polymarket"): return margelo::nitro::rncandle::Service::POLYMARKET;
201
- case hashString("espn"): return margelo::nitro::rncandle::Service::ESPN;
202
- case hashString("youtube"): return margelo::nitro::rncandle::Service::YOUTUBE;
203
- case hashString("netflix"): return margelo::nitro::rncandle::Service::NETFLIX;
204
- default: [[unlikely]]
205
- throw std::invalid_argument("Cannot convert \"" + unionValue + "\" to enum Service - invalid value!");
206
- }
67
+ jsi::Object obj = arg.asObject(runtime);
68
+ return margelo::nitro::rncandle::Service(
69
+ JSIConverter<margelo::nitro::rncandle::ServiceID>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "id"))),
70
+ JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "displayName"))),
71
+ JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "logoURL"))),
72
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "thumbhash"))),
73
+ JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "accentColor")))
74
+ );
207
75
  }
208
- static inline jsi::Value toJSI(jsi::Runtime& runtime, margelo::nitro::rncandle::Service arg) {
209
- switch (arg) {
210
- case margelo::nitro::rncandle::Service::ROBINHOOD: return JSIConverter<std::string>::toJSI(runtime, "robinhood");
211
- case margelo::nitro::rncandle::Service::CASH_APP: return JSIConverter<std::string>::toJSI(runtime, "cash_app");
212
- case margelo::nitro::rncandle::Service::VENMO: return JSIConverter<std::string>::toJSI(runtime, "venmo");
213
- case margelo::nitro::rncandle::Service::APPLE: return JSIConverter<std::string>::toJSI(runtime, "apple");
214
- case margelo::nitro::rncandle::Service::SANDBOX: return JSIConverter<std::string>::toJSI(runtime, "sandbox");
215
- case margelo::nitro::rncandle::Service::UBER: return JSIConverter<std::string>::toJSI(runtime, "uber");
216
- case margelo::nitro::rncandle::Service::LYFT: return JSIConverter<std::string>::toJSI(runtime, "lyft");
217
- case margelo::nitro::rncandle::Service::CHIME: return JSIConverter<std::string>::toJSI(runtime, "chime");
218
- case margelo::nitro::rncandle::Service::PAYPAL: return JSIConverter<std::string>::toJSI(runtime, "paypal");
219
- case margelo::nitro::rncandle::Service::COINBASE: return JSIConverter<std::string>::toJSI(runtime, "coinbase");
220
- case margelo::nitro::rncandle::Service::DISCOVER: return JSIConverter<std::string>::toJSI(runtime, "discover");
221
- case margelo::nitro::rncandle::Service::AMERICAN_EXPRESS: return JSIConverter<std::string>::toJSI(runtime, "american_express");
222
- case margelo::nitro::rncandle::Service::JPMORGAN_CHASE: return JSIConverter<std::string>::toJSI(runtime, "jpmorgan_chase");
223
- case margelo::nitro::rncandle::Service::BANK_OF_AMERICA: return JSIConverter<std::string>::toJSI(runtime, "bank_of_america");
224
- case margelo::nitro::rncandle::Service::CAPITAL_ONE: return JSIConverter<std::string>::toJSI(runtime, "capital_one");
225
- case margelo::nitro::rncandle::Service::CITIBANK: return JSIConverter<std::string>::toJSI(runtime, "citibank");
226
- case margelo::nitro::rncandle::Service::VANGUARD: return JSIConverter<std::string>::toJSI(runtime, "vanguard");
227
- case margelo::nitro::rncandle::Service::WELLS_FARGO: return JSIConverter<std::string>::toJSI(runtime, "wells_fargo");
228
- case margelo::nitro::rncandle::Service::CHARLES_SCHWAB: return JSIConverter<std::string>::toJSI(runtime, "charles_schwab");
229
- case margelo::nitro::rncandle::Service::KALSHI: return JSIConverter<std::string>::toJSI(runtime, "kalshi");
230
- case margelo::nitro::rncandle::Service::EXPERIAN: return JSIConverter<std::string>::toJSI(runtime, "experian");
231
- case margelo::nitro::rncandle::Service::WAYMO: return JSIConverter<std::string>::toJSI(runtime, "waymo");
232
- case margelo::nitro::rncandle::Service::REVEL: return JSIConverter<std::string>::toJSI(runtime, "revel");
233
- case margelo::nitro::rncandle::Service::TURO: return JSIConverter<std::string>::toJSI(runtime, "turo");
234
- case margelo::nitro::rncandle::Service::GETAROUND: return JSIConverter<std::string>::toJSI(runtime, "getaround");
235
- case margelo::nitro::rncandle::Service::ZIPCAR: return JSIConverter<std::string>::toJSI(runtime, "zipcar");
236
- case margelo::nitro::rncandle::Service::AIRBNB: return JSIConverter<std::string>::toJSI(runtime, "airbnb");
237
- case margelo::nitro::rncandle::Service::AMERICAN_AIRLINES: return JSIConverter<std::string>::toJSI(runtime, "american_airlines");
238
- case margelo::nitro::rncandle::Service::DELTA: return JSIConverter<std::string>::toJSI(runtime, "delta");
239
- case margelo::nitro::rncandle::Service::UNITED: return JSIConverter<std::string>::toJSI(runtime, "united");
240
- case margelo::nitro::rncandle::Service::JETBLUE: return JSIConverter<std::string>::toJSI(runtime, "jetblue");
241
- case margelo::nitro::rncandle::Service::SOUTHWEST: return JSIConverter<std::string>::toJSI(runtime, "southwest");
242
- case margelo::nitro::rncandle::Service::HAWAIIAN: return JSIConverter<std::string>::toJSI(runtime, "hawaiian");
243
- case margelo::nitro::rncandle::Service::HOTELS: return JSIConverter<std::string>::toJSI(runtime, "hotels");
244
- case margelo::nitro::rncandle::Service::GEICO: return JSIConverter<std::string>::toJSI(runtime, "geico");
245
- case margelo::nitro::rncandle::Service::PROGRESSIVE: return JSIConverter<std::string>::toJSI(runtime, "progressive");
246
- case margelo::nitro::rncandle::Service::AAA: return JSIConverter<std::string>::toJSI(runtime, "aaa");
247
- case margelo::nitro::rncandle::Service::STATE_FARM: return JSIConverter<std::string>::toJSI(runtime, "state_farm");
248
- case margelo::nitro::rncandle::Service::HERTZ: return JSIConverter<std::string>::toJSI(runtime, "hertz");
249
- case margelo::nitro::rncandle::Service::AVIS: return JSIConverter<std::string>::toJSI(runtime, "avis");
250
- case margelo::nitro::rncandle::Service::TESLA: return JSIConverter<std::string>::toJSI(runtime, "tesla");
251
- case margelo::nitro::rncandle::Service::DOORDASH: return JSIConverter<std::string>::toJSI(runtime, "doordash");
252
- case margelo::nitro::rncandle::Service::UBER_EATS: return JSIConverter<std::string>::toJSI(runtime, "uber_eats");
253
- case margelo::nitro::rncandle::Service::GRUBHUB: return JSIConverter<std::string>::toJSI(runtime, "grubhub");
254
- case margelo::nitro::rncandle::Service::RESY: return JSIConverter<std::string>::toJSI(runtime, "resy");
255
- case margelo::nitro::rncandle::Service::OPENTABLE: return JSIConverter<std::string>::toJSI(runtime, "opentable");
256
- case margelo::nitro::rncandle::Service::STARBUCKS: return JSIConverter<std::string>::toJSI(runtime, "starbucks");
257
- case margelo::nitro::rncandle::Service::BLUE_BOTTLE: return JSIConverter<std::string>::toJSI(runtime, "blue_bottle");
258
- case margelo::nitro::rncandle::Service::COSTCO: return JSIConverter<std::string>::toJSI(runtime, "costco");
259
- case margelo::nitro::rncandle::Service::AMAZON: return JSIConverter<std::string>::toJSI(runtime, "amazon");
260
- case margelo::nitro::rncandle::Service::WALMART: return JSIConverter<std::string>::toJSI(runtime, "walmart");
261
- case margelo::nitro::rncandle::Service::WHOLE_FOODS: return JSIConverter<std::string>::toJSI(runtime, "whole_foods");
262
- case margelo::nitro::rncandle::Service::MCDONALDS: return JSIConverter<std::string>::toJSI(runtime, "mcdonalds");
263
- case margelo::nitro::rncandle::Service::CHIPOTLE: return JSIConverter<std::string>::toJSI(runtime, "chipotle");
264
- case margelo::nitro::rncandle::Service::SWEETGREEN: return JSIConverter<std::string>::toJSI(runtime, "sweetgreen");
265
- case margelo::nitro::rncandle::Service::SNAPCHAT: return JSIConverter<std::string>::toJSI(runtime, "snapchat");
266
- case margelo::nitro::rncandle::Service::X: return JSIConverter<std::string>::toJSI(runtime, "x");
267
- case margelo::nitro::rncandle::Service::FACEBOOK: return JSIConverter<std::string>::toJSI(runtime, "facebook");
268
- case margelo::nitro::rncandle::Service::INSTAGRAM: return JSIConverter<std::string>::toJSI(runtime, "instagram");
269
- case margelo::nitro::rncandle::Service::SIGNAL: return JSIConverter<std::string>::toJSI(runtime, "signal");
270
- case margelo::nitro::rncandle::Service::WHATSAPP: return JSIConverter<std::string>::toJSI(runtime, "whatsapp");
271
- case margelo::nitro::rncandle::Service::MESSENGER: return JSIConverter<std::string>::toJSI(runtime, "messenger");
272
- case margelo::nitro::rncandle::Service::LINKEDIN: return JSIConverter<std::string>::toJSI(runtime, "linkedin");
273
- case margelo::nitro::rncandle::Service::DISCORD: return JSIConverter<std::string>::toJSI(runtime, "discord");
274
- case margelo::nitro::rncandle::Service::MESSAGES: return JSIConverter<std::string>::toJSI(runtime, "messages");
275
- case margelo::nitro::rncandle::Service::TELEGRAM: return JSIConverter<std::string>::toJSI(runtime, "telegram");
276
- case margelo::nitro::rncandle::Service::REDDIT: return JSIConverter<std::string>::toJSI(runtime, "reddit");
277
- case margelo::nitro::rncandle::Service::PINTEREST: return JSIConverter<std::string>::toJSI(runtime, "pinterest");
278
- case margelo::nitro::rncandle::Service::NEW_YORK_TIMES: return JSIConverter<std::string>::toJSI(runtime, "new_york_times");
279
- case margelo::nitro::rncandle::Service::WASHINGTON_POST: return JSIConverter<std::string>::toJSI(runtime, "washington_post");
280
- case margelo::nitro::rncandle::Service::WALL_STREET_JOURNAL: return JSIConverter<std::string>::toJSI(runtime, "wall_street_journal");
281
- case margelo::nitro::rncandle::Service::CNN: return JSIConverter<std::string>::toJSI(runtime, "cnn");
282
- case margelo::nitro::rncandle::Service::YAHOO: return JSIConverter<std::string>::toJSI(runtime, "yahoo");
283
- case margelo::nitro::rncandle::Service::FOX: return JSIConverter<std::string>::toJSI(runtime, "fox");
284
- case margelo::nitro::rncandle::Service::PERPLEXITY: return JSIConverter<std::string>::toJSI(runtime, "perplexity");
285
- case margelo::nitro::rncandle::Service::OPENAI: return JSIConverter<std::string>::toJSI(runtime, "openai");
286
- case margelo::nitro::rncandle::Service::POLYMARKET: return JSIConverter<std::string>::toJSI(runtime, "polymarket");
287
- case margelo::nitro::rncandle::Service::ESPN: return JSIConverter<std::string>::toJSI(runtime, "espn");
288
- case margelo::nitro::rncandle::Service::YOUTUBE: return JSIConverter<std::string>::toJSI(runtime, "youtube");
289
- case margelo::nitro::rncandle::Service::NETFLIX: return JSIConverter<std::string>::toJSI(runtime, "netflix");
290
- default: [[unlikely]]
291
- throw std::invalid_argument("Cannot convert Service to JS - invalid value: "
292
- + std::to_string(static_cast<int>(arg)) + "!");
293
- }
76
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::rncandle::Service& arg) {
77
+ jsi::Object obj(runtime);
78
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "id"), JSIConverter<margelo::nitro::rncandle::ServiceID>::toJSI(runtime, arg.id));
79
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "displayName"), JSIConverter<std::string>::toJSI(runtime, arg.displayName));
80
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "logoURL"), JSIConverter<std::string>::toJSI(runtime, arg.logoURL));
81
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "thumbhash"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.thumbhash));
82
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "accentColor"), JSIConverter<std::string>::toJSI(runtime, arg.accentColor));
83
+ return obj;
294
84
  }
295
85
  static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
296
- if (!value.isString()) {
86
+ if (!value.isObject()) {
297
87
  return false;
298
88
  }
299
- std::string unionValue = JSIConverter<std::string>::fromJSI(runtime, value);
300
- switch (hashString(unionValue.c_str(), unionValue.size())) {
301
- case hashString("robinhood"):
302
- case hashString("cash_app"):
303
- case hashString("venmo"):
304
- case hashString("apple"):
305
- case hashString("sandbox"):
306
- case hashString("uber"):
307
- case hashString("lyft"):
308
- case hashString("chime"):
309
- case hashString("paypal"):
310
- case hashString("coinbase"):
311
- case hashString("discover"):
312
- case hashString("american_express"):
313
- case hashString("jpmorgan_chase"):
314
- case hashString("bank_of_america"):
315
- case hashString("capital_one"):
316
- case hashString("citibank"):
317
- case hashString("vanguard"):
318
- case hashString("wells_fargo"):
319
- case hashString("charles_schwab"):
320
- case hashString("kalshi"):
321
- case hashString("experian"):
322
- case hashString("waymo"):
323
- case hashString("revel"):
324
- case hashString("turo"):
325
- case hashString("getaround"):
326
- case hashString("zipcar"):
327
- case hashString("airbnb"):
328
- case hashString("american_airlines"):
329
- case hashString("delta"):
330
- case hashString("united"):
331
- case hashString("jetblue"):
332
- case hashString("southwest"):
333
- case hashString("hawaiian"):
334
- case hashString("hotels"):
335
- case hashString("geico"):
336
- case hashString("progressive"):
337
- case hashString("aaa"):
338
- case hashString("state_farm"):
339
- case hashString("hertz"):
340
- case hashString("avis"):
341
- case hashString("tesla"):
342
- case hashString("doordash"):
343
- case hashString("uber_eats"):
344
- case hashString("grubhub"):
345
- case hashString("resy"):
346
- case hashString("opentable"):
347
- case hashString("starbucks"):
348
- case hashString("blue_bottle"):
349
- case hashString("costco"):
350
- case hashString("amazon"):
351
- case hashString("walmart"):
352
- case hashString("whole_foods"):
353
- case hashString("mcdonalds"):
354
- case hashString("chipotle"):
355
- case hashString("sweetgreen"):
356
- case hashString("snapchat"):
357
- case hashString("x"):
358
- case hashString("facebook"):
359
- case hashString("instagram"):
360
- case hashString("signal"):
361
- case hashString("whatsapp"):
362
- case hashString("messenger"):
363
- case hashString("linkedin"):
364
- case hashString("discord"):
365
- case hashString("messages"):
366
- case hashString("telegram"):
367
- case hashString("reddit"):
368
- case hashString("pinterest"):
369
- case hashString("new_york_times"):
370
- case hashString("washington_post"):
371
- case hashString("wall_street_journal"):
372
- case hashString("cnn"):
373
- case hashString("yahoo"):
374
- case hashString("fox"):
375
- case hashString("perplexity"):
376
- case hashString("openai"):
377
- case hashString("polymarket"):
378
- case hashString("espn"):
379
- case hashString("youtube"):
380
- case hashString("netflix"):
381
- return true;
382
- default:
383
- return false;
89
+ jsi::Object obj = value.getObject(runtime);
90
+ if (!nitro::isPlainObject(runtime, obj)) {
91
+ return false;
384
92
  }
93
+ if (!JSIConverter<margelo::nitro::rncandle::ServiceID>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "id")))) return false;
94
+ if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "displayName")))) return false;
95
+ if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "logoURL")))) return false;
96
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "thumbhash")))) return false;
97
+ if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "accentColor")))) return false;
98
+ return true;
385
99
  }
386
100
  };
387
101
 
@@ -29,7 +29,7 @@
29
29
  #endif
30
30
 
31
31
  // Forward declaration of `Service` to properly resolve imports.
32
- namespace margelo::nitro::rncandle { enum class Service; }
32
+ namespace margelo::nitro::rncandle { struct Service; }
33
33
 
34
34
  #include <string>
35
35
  #include "Service.hpp"