react-native-candle 0.1.12 → 0.1.14

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 (33) hide show
  1. package/ios/Sources/CandleLinkSheetWrapperView.swift +179 -38
  2. package/ios/Sources/CandleLinkViewModel.swift +3 -11
  3. package/ios/Sources/RNCandle.swift +301 -100
  4. package/ios/Sources/UIApplication++.swift +0 -1
  5. package/lib/commonjs/index.js +33 -41
  6. package/lib/commonjs/index.js.map +1 -1
  7. package/lib/module/index.js +31 -35
  8. package/lib/module/index.js.map +1 -1
  9. package/lib/typescript/commonjs/src/index.d.ts +23 -19
  10. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  11. package/lib/typescript/commonjs/src/specs/RNCandle.nitro.d.ts +12 -6
  12. package/lib/typescript/commonjs/src/specs/RNCandle.nitro.d.ts.map +1 -1
  13. package/lib/typescript/module/src/index.d.ts +23 -19
  14. package/lib/typescript/module/src/index.d.ts.map +1 -1
  15. package/lib/typescript/module/src/specs/RNCandle.nitro.d.ts +12 -6
  16. package/lib/typescript/module/src/specs/RNCandle.nitro.d.ts.map +1 -1
  17. package/nitrogen/generated/ios/ReactNativeCandle-Swift-Cxx-Bridge.cpp +20 -4
  18. package/nitrogen/generated/ios/ReactNativeCandle-Swift-Cxx-Bridge.hpp +99 -20
  19. package/nitrogen/generated/ios/ReactNativeCandle-Swift-Cxx-Umbrella.hpp +6 -0
  20. package/nitrogen/generated/ios/c++/HybridRNCandleSpecSwift.hpp +15 -3
  21. package/nitrogen/generated/ios/swift/AppUser.swift +75 -0
  22. package/nitrogen/generated/ios/swift/Func_void_LinkedAccount.swift +44 -0
  23. package/nitrogen/generated/ios/swift/Func_void_std__vector_std__shared_ptr_AnyMap__.swift +47 -0
  24. package/nitrogen/generated/ios/swift/HybridRNCandleSpec.swift +4 -2
  25. package/nitrogen/generated/ios/swift/HybridRNCandleSpec_cxx.swift +40 -12
  26. package/nitrogen/generated/ios/swift/Service.swift +292 -0
  27. package/nitrogen/generated/shared/c++/AppUser.hpp +78 -0
  28. package/nitrogen/generated/shared/c++/HybridRNCandleSpec.cpp +1 -0
  29. package/nitrogen/generated/shared/c++/HybridRNCandleSpec.hpp +10 -3
  30. package/nitrogen/generated/shared/c++/Service.hpp +292 -0
  31. package/package.json +1 -1
  32. package/src/index.ts +55 -55
  33. package/src/specs/RNCandle.nitro.ts +86 -6
@@ -4,18 +4,13 @@ import SwiftUI
4
4
  @available(iOS 17.0, *)
5
5
  struct CandleLinkSheetWrapper: View {
6
6
 
7
- let candleClient = CandleClient(
8
- appUser:
9
- .init(
10
- appKey: Bundle.main.object(forInfoDictionaryKey: "CandleAppKey") as? String ?? "",
11
- appSecret: Bundle.main.object(forInfoDictionaryKey: "CandleAppSecret") as? String ?? ""
12
- )
13
- )
7
+ let candleClient: CandleClient
14
8
 
15
9
  @ObservedObject var viewModel: CandleLinkViewModel
16
10
 
17
- init(viewModel: CandleLinkViewModel) {
18
- self.viewModel = viewModel
11
+ init(appUser: Candle.Models.AppUser) {
12
+ self.candleClient = CandleClient(appUser: appUser)
13
+ self.viewModel = CandleLinkViewModel(candleClient: candleClient)
19
14
  }
20
15
 
21
16
  func toCandleService(service: Service) -> Candle.Models.Service {
@@ -34,40 +29,186 @@ struct CandleLinkSheetWrapper: View {
34
29
  return .lyft
35
30
  case .venmo:
36
31
  return .venmo
32
+ case .chime:
33
+ return .chime
34
+ case .paypal:
35
+ return .paypal
36
+ case .coinbase:
37
+ return .coinbase
38
+ case .discover:
39
+ return .discover
40
+ case .americanExpress:
41
+ return .americanExpress
42
+ case .jpmorganChase:
43
+ return .jpmorganChase
44
+ case .bankOfAmerica:
45
+ return .bankOfAmerica
46
+ case .capitalOne:
47
+ return .capitalOne
48
+ case .citibank:
49
+ return .citibank
50
+ case .vanguard:
51
+ return .vanguard
52
+ case .wellsFargo:
53
+ return .wellsFargo
54
+ case .charlesSchwab:
55
+ return .charlesSchwab
56
+ case .kalshi:
57
+ return .kalshi
58
+ case .experian:
59
+ return .experian
60
+ case .waymo:
61
+ return .waymo
62
+ case .revel:
63
+ return .revel
64
+ case .turo:
65
+ return .turo
66
+ case .getaround:
67
+ return .getaround
68
+ case .zipcar:
69
+ return .zipcar
70
+ case .airbnb:
71
+ return .airbnb
72
+ case .americanAirlines:
73
+ return .americanAirlines
74
+ case .delta:
75
+ return .delta
76
+ case .united:
77
+ return .united
78
+ case .jetblue:
79
+ return .jetblue
80
+ case .southwest:
81
+ return .southwest
82
+ case .hawaiian:
83
+ return .hawaiian
84
+ case .hotels:
85
+ return .hotels
86
+ case .geico:
87
+ return .geico
88
+ case .progressive:
89
+ return .progressive
90
+ case .aaa:
91
+ return .aaa
92
+ case .stateFarm:
93
+ return .stateFarm
94
+ case .hertz:
95
+ return .hertz
96
+ case .avis:
97
+ return .avis
98
+ case .tesla:
99
+ return .tesla
100
+ case .doordash:
101
+ return .doordash
102
+ case .uberEats:
103
+ return .uberEats
104
+ case .grubhub:
105
+ return .grubhub
106
+ case .resy:
107
+ return .resy
108
+ case .opentable:
109
+ return .opentable
110
+ case .starbucks:
111
+ return .starbucks
112
+ case .blueBottle:
113
+ return .blueBottle
114
+ case .costco:
115
+ return .costco
116
+ case .amazon:
117
+ return .amazon
118
+ case .walmart:
119
+ return .walmart
120
+ case .wholeFoods:
121
+ return .wholeFoods
122
+ case .mcdonalds:
123
+ return .mcdonalds
124
+ case .chipotle:
125
+ return .chipotle
126
+ case .sweetgreen:
127
+ return .sweetgreen
128
+ case .snapchat:
129
+ return .snapchat
130
+ case .x:
131
+ return .x
132
+ case .facebook:
133
+ return .facebook
134
+ case .instagram:
135
+ return .instagram
136
+ case .signal:
137
+ return .signal
138
+ case .whatsapp:
139
+ return .whatsapp
140
+ case .messenger:
141
+ return .messenger
142
+ case .linkedin:
143
+ return .linkedin
144
+ case .discord:
145
+ return .discord
146
+ case .messages:
147
+ return .messages
148
+ case .telegram:
149
+ return .telegram
150
+ case .reddit:
151
+ return .reddit
152
+ case .pinterest:
153
+ return .pinterest
154
+ case .newYorkTimes:
155
+ return .newYorkTimes
156
+ case .washingtonPost:
157
+ return .washingtonPost
158
+ case .wallStreetJournal:
159
+ return .wallStreetJournal
160
+ case .cnn:
161
+ return .cnn
162
+ case .yahoo:
163
+ return .yahoo
164
+ case .fox:
165
+ return .fox
166
+ case .perplexity:
167
+ return .perplexity
168
+ case .openai:
169
+ return .openai
170
+ case .polymarket:
171
+ return .polymarket
172
+ case .espn:
173
+ return .espn
174
+ case .youtube:
175
+ return .youtube
176
+ case .netflix:
177
+ return .netflix
37
178
  }
38
179
  }
39
180
 
40
181
  var body: some View {
41
182
  if let services = viewModel.services {
42
- if services.count == 1 {
43
- Spacer()
44
- .candleLinkSheet(
45
- isPresented: $viewModel.showSheet,
46
- service: toCandleService(service: services[0]),
47
- customerName: viewModel.customerName,
48
- cornerRadius: viewModel.cornerRadius,
49
- showDynamicLoading: viewModel.showDynamicLoading,
50
- presentationStyle: viewModel.toCandlePresentationStyle,
51
- presentationBackground: viewModel.toCandlePresentationBackground
52
- ) { newLinkedAccount in
53
- viewModel.linkedAccount = newLinkedAccount
54
- }
55
- .environment(candleClient)
56
- } else {
57
- Spacer()
58
- .candleLinkSheet(
59
- isPresented: $viewModel.showSheet,
60
- customerName: viewModel.customerName,
61
- cornerRadius: viewModel.cornerRadius,
62
- services: services.map(toCandleService),
63
- showDynamicLoading: viewModel.showDynamicLoading,
64
- presentationStyle: viewModel.toCandlePresentationStyle,
65
- presentationBackground: viewModel.toCandlePresentationBackground
66
- ) { newLinkedAccount in
67
- viewModel.linkedAccount = newLinkedAccount
68
- }
69
- .environment(candleClient)
70
- }
183
+ if let service = services.first, services.count == 1 {
184
+ Spacer()
185
+ .candleLinkSheet(
186
+ isPresented: $viewModel.showSheet,
187
+ service: toCandleService(service: service),
188
+ customerName: viewModel.customerName,
189
+ cornerRadius: viewModel.cornerRadius,
190
+ showDynamicLoading: viewModel.showDynamicLoading,
191
+ presentationStyle: viewModel.toCandlePresentationStyle,
192
+ presentationBackground: viewModel.toCandlePresentationBackground
193
+ ) { newLinkedAccount in
194
+ viewModel.linkedAccount = newLinkedAccount
195
+ }
196
+ .environment(candleClient)
197
+ } else {
198
+ Spacer()
199
+ .candleLinkSheet(
200
+ isPresented: $viewModel.showSheet,
201
+ customerName: viewModel.customerName,
202
+ cornerRadius: viewModel.cornerRadius,
203
+ services: services.map(toCandleService),
204
+ showDynamicLoading: viewModel.showDynamicLoading,
205
+ presentationStyle: viewModel.toCandlePresentationStyle,
206
+ presentationBackground: viewModel.toCandlePresentationBackground
207
+ ) { newLinkedAccount in
208
+ viewModel.linkedAccount = newLinkedAccount
209
+ }
210
+ .environment(candleClient)
211
+ }
71
212
  } else {
72
213
  Spacer()
73
214
  .candleLinkSheet(
@@ -4,7 +4,7 @@ import SwiftUI
4
4
  @available(iOS 17.0, *)
5
5
  final class CandleLinkViewModel: ObservableObject {
6
6
 
7
- var candleClient: CandleClient?
7
+ let candleClient: CandleClient
8
8
 
9
9
  @Published var showSheet = false
10
10
  @Published var linkedAccount: Models.LinkedAccount?
@@ -16,16 +16,8 @@ final class CandleLinkViewModel: ObservableObject {
16
16
  @Published var presentationBackground: PresentationBackground = .default
17
17
  @Published var presentationStyle: PresentationStyle = .fullscreen
18
18
 
19
- init() {
20
- Task { @MainActor in
21
- self.candleClient = CandleClient(
22
- appUser:
23
- .init(
24
- appKey: Bundle.main.object(forInfoDictionaryKey: "CandleAppKey") as? String ?? "",
25
- appSecret: Bundle.main.object(forInfoDictionaryKey: "CandleAppSecret") as? String ?? ""
26
- )
27
- )
28
- }
19
+ init(candleClient: Candle.CandleClient) {
20
+ self.candleClient = candleClient
29
21
  }
30
22
 
31
23
  @available(iOS 17.0, *)