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.
- package/ios/Sources/CandleLinkSheetWrapperView.swift +179 -38
- package/ios/Sources/CandleLinkViewModel.swift +3 -11
- package/ios/Sources/RNCandle.swift +301 -100
- package/ios/Sources/UIApplication++.swift +0 -1
- package/lib/commonjs/index.js +33 -41
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +31 -35
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +23 -19
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/specs/RNCandle.nitro.d.ts +12 -6
- package/lib/typescript/commonjs/src/specs/RNCandle.nitro.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +23 -19
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/specs/RNCandle.nitro.d.ts +12 -6
- package/lib/typescript/module/src/specs/RNCandle.nitro.d.ts.map +1 -1
- package/nitrogen/generated/ios/ReactNativeCandle-Swift-Cxx-Bridge.cpp +20 -4
- package/nitrogen/generated/ios/ReactNativeCandle-Swift-Cxx-Bridge.hpp +99 -20
- package/nitrogen/generated/ios/ReactNativeCandle-Swift-Cxx-Umbrella.hpp +6 -0
- package/nitrogen/generated/ios/c++/HybridRNCandleSpecSwift.hpp +15 -3
- package/nitrogen/generated/ios/swift/AppUser.swift +75 -0
- package/nitrogen/generated/ios/swift/Func_void_LinkedAccount.swift +44 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_std__shared_ptr_AnyMap__.swift +47 -0
- package/nitrogen/generated/ios/swift/HybridRNCandleSpec.swift +4 -2
- package/nitrogen/generated/ios/swift/HybridRNCandleSpec_cxx.swift +40 -12
- package/nitrogen/generated/ios/swift/Service.swift +292 -0
- package/nitrogen/generated/shared/c++/AppUser.hpp +78 -0
- package/nitrogen/generated/shared/c++/HybridRNCandleSpec.cpp +1 -0
- package/nitrogen/generated/shared/c++/HybridRNCandleSpec.hpp +10 -3
- package/nitrogen/generated/shared/c++/Service.hpp +292 -0
- package/package.json +1 -1
- package/src/index.ts +55 -55
- package/src/specs/RNCandle.nitro.ts +86 -6
|
@@ -8,19 +8,45 @@ import UIKit
|
|
|
8
8
|
@available(iOS 17.0, *)
|
|
9
9
|
final class HybridRNCandle: HybridRNCandleSpec {
|
|
10
10
|
|
|
11
|
-
private
|
|
12
|
-
|
|
11
|
+
private var rootVC: HostingViewController<CandleLinkSheetWrapper>?
|
|
12
|
+
|
|
13
13
|
private var cancellables = Set<AnyCancellable>()
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
var viewModel: CandleLinkViewModel {
|
|
16
|
+
get throws {
|
|
17
|
+
if let viewModel = rootVC?.uiView.viewModel {
|
|
18
|
+
return viewModel
|
|
19
|
+
}
|
|
20
|
+
throw RNClientError.badInitialization(message: "Failed to properly initialize the client.")
|
|
19
21
|
}
|
|
20
22
|
}
|
|
21
23
|
|
|
22
24
|
// MARK: - UI
|
|
23
25
|
|
|
26
|
+
public func initialize(appUser: AppUser) throws {
|
|
27
|
+
Task { @MainActor in
|
|
28
|
+
let wrapperView = CandleLinkSheetWrapper(
|
|
29
|
+
appUser: .init(
|
|
30
|
+
appKey: appUser.appKey, appSecret: appUser.appSecret, appUserID: appUser.appUserID))
|
|
31
|
+
let hostingVC = HostingViewController(uiView: wrapperView)
|
|
32
|
+
self.rootVC = hostingVC
|
|
33
|
+
guard let rootViewController = UIApplication.keyWindow?.rootViewController,
|
|
34
|
+
let view = rootViewController.view,
|
|
35
|
+
let rootView = view.subviews.first
|
|
36
|
+
else {
|
|
37
|
+
throw RNClientError.badInitialization(message: "Application root view was not initialized.")
|
|
38
|
+
}
|
|
39
|
+
view.insertSubview(hostingVC.view, belowSubview: rootView)
|
|
40
|
+
hostingVC.view.translatesAutoresizingMaskIntoConstraints = false
|
|
41
|
+
NSLayoutConstraint.activate([
|
|
42
|
+
hostingVC.view.heightAnchor.constraint(equalTo: view.heightAnchor),
|
|
43
|
+
hostingVC.view.widthAnchor.constraint(equalTo: view.widthAnchor),
|
|
44
|
+
hostingVC.view.leadingAnchor.constraint(equalTo: view.leadingAnchor),
|
|
45
|
+
hostingVC.view.trailingAnchor.constraint(equalTo: view.trailingAnchor),
|
|
46
|
+
])
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
24
50
|
public func candleLinkSheet(
|
|
25
51
|
isPresented: Bool,
|
|
26
52
|
services: [Service]?,
|
|
@@ -29,24 +55,24 @@ final class HybridRNCandle: HybridRNCandleSpec {
|
|
|
29
55
|
showDynamicLoading: Bool,
|
|
30
56
|
presentationBackground: PresentationBackground,
|
|
31
57
|
presentationStyle: PresentationStyle,
|
|
32
|
-
onSuccess: @escaping (
|
|
58
|
+
onSuccess: @escaping (LinkedAccount) -> Void
|
|
33
59
|
) throws {
|
|
34
60
|
Task { @MainActor in
|
|
35
|
-
viewModel.isPresented = isPresented
|
|
36
|
-
viewModel.services = services
|
|
37
|
-
viewModel.cornerRadius = cornerRadius
|
|
38
|
-
viewModel.customerName = customerName
|
|
39
|
-
viewModel.showDynamicLoading = showDynamicLoading
|
|
40
|
-
viewModel.presentationBackground = presentationBackground
|
|
41
|
-
viewModel.presentationStyle = presentationStyle
|
|
42
|
-
viewModel.showSheet = isPresented
|
|
43
|
-
viewModel.$linkedAccount
|
|
61
|
+
try viewModel.isPresented = isPresented
|
|
62
|
+
try viewModel.services = services
|
|
63
|
+
try viewModel.cornerRadius = cornerRadius
|
|
64
|
+
try viewModel.customerName = customerName
|
|
65
|
+
try viewModel.showDynamicLoading = showDynamicLoading
|
|
66
|
+
try viewModel.presentationBackground = presentationBackground
|
|
67
|
+
try viewModel.presentationStyle = presentationStyle
|
|
68
|
+
try viewModel.showSheet = isPresented
|
|
69
|
+
try viewModel.$linkedAccount
|
|
70
|
+
.removeDuplicates()
|
|
71
|
+
.compactMap { $0 }
|
|
44
72
|
.receive(on: RunLoop.main)
|
|
45
73
|
.sink { [weak self] linkedAccount in
|
|
46
|
-
guard let
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
onSuccess(account)
|
|
74
|
+
guard let self else { return }
|
|
75
|
+
onSuccess(self.toLinkedAccount(linkedAccount))
|
|
50
76
|
}
|
|
51
77
|
.store(in: &cancellables)
|
|
52
78
|
}
|
|
@@ -56,94 +82,54 @@ final class HybridRNCandle: HybridRNCandleSpec {
|
|
|
56
82
|
|
|
57
83
|
public func unlinkAccount(linkedAccountID: String) throws -> Promise<Void> {
|
|
58
84
|
Promise.async {
|
|
59
|
-
try await self.viewModel.candleClient
|
|
85
|
+
try await self.viewModel.candleClient.unlinkAccount(linkedAccountID: linkedAccountID)
|
|
60
86
|
}
|
|
61
87
|
}
|
|
62
88
|
|
|
63
|
-
public func getLinkedAccounts() throws ->
|
|
64
|
-
Promise.async {
|
|
65
|
-
let
|
|
66
|
-
|
|
67
|
-
return accounts.map { account in
|
|
68
|
-
let service: Service
|
|
69
|
-
switch account.service {
|
|
70
|
-
case .apple:
|
|
71
|
-
service = .apple
|
|
72
|
-
case .cashApp:
|
|
73
|
-
service = .cashApp
|
|
74
|
-
case .lyft:
|
|
75
|
-
service = .lyft
|
|
76
|
-
case .uber:
|
|
77
|
-
service = .uber
|
|
78
|
-
case .robinhood:
|
|
79
|
-
service = .robinhood
|
|
80
|
-
case .venmo:
|
|
81
|
-
service = .venmo
|
|
82
|
-
default:
|
|
83
|
-
service = .sandbox
|
|
84
|
-
}
|
|
85
|
-
switch account.details {
|
|
86
|
-
case .ActiveLinkedAccountDetails(let details):
|
|
87
|
-
return LinkedAccount(
|
|
88
|
-
serviceUserID: account.serviceUserID,
|
|
89
|
-
details: .init(
|
|
90
|
-
state: .active,
|
|
91
|
-
username: details.username,
|
|
92
|
-
legalName: details.legalName,
|
|
93
|
-
accountOpened: details.accountOpened
|
|
94
|
-
),
|
|
95
|
-
linkedAccountID: account.linkedAccountID,
|
|
96
|
-
service: service
|
|
97
|
-
)
|
|
98
|
-
case .InactiveLinkedAccountDetails:
|
|
99
|
-
return LinkedAccount(
|
|
100
|
-
serviceUserID: account.serviceUserID,
|
|
101
|
-
details: nil,
|
|
102
|
-
linkedAccountID: account.linkedAccountID,
|
|
103
|
-
service: service
|
|
104
|
-
)
|
|
105
|
-
}
|
|
89
|
+
public func getLinkedAccounts() throws -> Promise<[LinkedAccount]> {
|
|
90
|
+
Promise.async { [weak self] in
|
|
91
|
+
guard let self else {
|
|
92
|
+
throw RNClientError.badInitialization(message: "Self was deinitialized \(#function).")
|
|
106
93
|
}
|
|
94
|
+
let accounts = try await self.viewModel.candleClient.getLinkedAccounts()
|
|
95
|
+
return accounts.map(self.toLinkedAccount)
|
|
107
96
|
}
|
|
108
97
|
}
|
|
109
98
|
|
|
110
|
-
public func getFiatAccounts() throws ->
|
|
99
|
+
public func getFiatAccounts() throws -> Promise<String> {
|
|
111
100
|
.async {
|
|
112
|
-
let accounts = try await self.viewModel.candleClient
|
|
101
|
+
let accounts = try await self.viewModel.candleClient.getFiatAccounts()
|
|
113
102
|
return try self.encodeToJSONString(accounts)
|
|
114
103
|
}
|
|
115
104
|
}
|
|
116
105
|
|
|
117
|
-
public func getActivity(span: String?) throws ->
|
|
106
|
+
public func getActivity(span: String?) throws -> Promise<String> {
|
|
118
107
|
.async {
|
|
119
108
|
let activity =
|
|
120
|
-
try await self.viewModel.candleClient
|
|
109
|
+
try await self.viewModel.candleClient.getActivity(query: .init(span: span))
|
|
121
110
|
return try self.encodeToJSONString(activity)
|
|
122
111
|
}
|
|
123
112
|
}
|
|
124
113
|
|
|
125
|
-
public func deleteUser() throws ->
|
|
114
|
+
public func deleteUser() throws -> Promise<Void> {
|
|
126
115
|
.async {
|
|
127
|
-
try await self.viewModel.candleClient
|
|
116
|
+
try await self.viewModel.candleClient.deleteUser()
|
|
128
117
|
}
|
|
129
118
|
}
|
|
130
119
|
|
|
131
|
-
public func getAvailableTools() throws ->
|
|
132
|
-
.async {
|
|
133
|
-
let
|
|
134
|
-
|
|
135
|
-
let data = try? JSONSerialization.data(withJSONObject: result, options: []),
|
|
136
|
-
let string = String(data: data, encoding: .utf8)
|
|
137
|
-
{
|
|
138
|
-
return string
|
|
120
|
+
public func getAvailableTools() throws -> Promise<[AnyMapHolder]> {
|
|
121
|
+
.async { [weak self] in
|
|
122
|
+
guard let self else {
|
|
123
|
+
throw RNClientError.badInitialization(message: "Self was deinitialized \(#function).")
|
|
139
124
|
}
|
|
140
|
-
|
|
125
|
+
let result = try await self.viewModel.candleClient.getAvailableTools()
|
|
126
|
+
return result.map(self.toHolder)
|
|
141
127
|
}
|
|
142
128
|
}
|
|
143
129
|
|
|
144
|
-
public func executeTool(tool: ToolCall) throws ->
|
|
130
|
+
public func executeTool(tool: ToolCall) throws -> Promise<String> {
|
|
145
131
|
.async {
|
|
146
|
-
let result = await self.viewModel.candleClient
|
|
132
|
+
let result = try await self.viewModel.candleClient.executeTool(
|
|
147
133
|
tool: RNToolCall(name: tool.name, arguments: tool.arguments)
|
|
148
134
|
)
|
|
149
135
|
return try self.encodeToJSONString(result)
|
|
@@ -152,30 +138,55 @@ final class HybridRNCandle: HybridRNCandleSpec {
|
|
|
152
138
|
|
|
153
139
|
// MARK: - Private
|
|
154
140
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
let
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
141
|
+
private func toHolder(_ dict: [String: Any]) -> AnyMapHolder {
|
|
142
|
+
let holder = AnyMapHolder()
|
|
143
|
+
for (key, rawValue) in dict {
|
|
144
|
+
let anyValue = self.toValue(rawValue)
|
|
145
|
+
switch anyValue {
|
|
146
|
+
case .string(let s):
|
|
147
|
+
holder.setString(key: key, value: s)
|
|
148
|
+
case .number(let d):
|
|
149
|
+
holder.setDouble(key: key, value: d)
|
|
150
|
+
case .bigint(let i):
|
|
151
|
+
holder.setBigInt(key: key, value: i)
|
|
152
|
+
case .bool(let b):
|
|
153
|
+
holder.setBoolean(key: key, value: b)
|
|
154
|
+
case .array(let arr):
|
|
155
|
+
holder.setArray(key: key, value: arr)
|
|
156
|
+
case .object(let obj):
|
|
157
|
+
holder.setObject(key: key, value: obj)
|
|
158
|
+
case .null:
|
|
159
|
+
holder.setNull(key: key)
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
return holder
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
private func toValue(_ value: Any) -> AnyValue {
|
|
166
|
+
switch value {
|
|
167
|
+
case let int as Int:
|
|
168
|
+
return .bigint(Int64(int))
|
|
169
|
+
case let int as Int64:
|
|
170
|
+
return .bigint(int)
|
|
171
|
+
case let double as Double:
|
|
172
|
+
return .number(double)
|
|
173
|
+
case let bool as Bool:
|
|
174
|
+
return .bool(bool)
|
|
175
|
+
case let str as String:
|
|
176
|
+
return .string(str)
|
|
177
|
+
case let array as [Any]:
|
|
178
|
+
return .array(array.map(toValue(_:)))
|
|
179
|
+
case let object as [String: Any]:
|
|
180
|
+
let mapped = object.mapValues { toValue($0) }
|
|
181
|
+
return .object(mapped)
|
|
182
|
+
default:
|
|
183
|
+
return .null
|
|
166
184
|
}
|
|
167
|
-
view.insertSubview(hostingVC.view, belowSubview: rootView)
|
|
168
|
-
hostingVC.view.translatesAutoresizingMaskIntoConstraints = false
|
|
169
|
-
NSLayoutConstraint.activate([
|
|
170
|
-
hostingVC.view.heightAnchor.constraint(equalTo: view.heightAnchor),
|
|
171
|
-
hostingVC.view.widthAnchor.constraint(equalTo: view.widthAnchor),
|
|
172
|
-
hostingVC.view.leadingAnchor.constraint(equalTo: view.leadingAnchor),
|
|
173
|
-
hostingVC.view.trailingAnchor.constraint(equalTo: view.trailingAnchor),
|
|
174
|
-
])
|
|
175
185
|
}
|
|
176
186
|
|
|
177
187
|
enum RNClientError: Error {
|
|
178
188
|
case badEncoding
|
|
189
|
+
case badInitialization(message: String)
|
|
179
190
|
}
|
|
180
191
|
|
|
181
192
|
struct RNToolCall: ToolCallRequest, Codable {
|
|
@@ -190,4 +201,194 @@ final class HybridRNCandle: HybridRNCandleSpec {
|
|
|
190
201
|
}
|
|
191
202
|
throw RNClientError.badEncoding
|
|
192
203
|
}
|
|
204
|
+
|
|
205
|
+
private func toLinkedAccount(_ account: Candle.Models.LinkedAccount) -> LinkedAccount {
|
|
206
|
+
let service: Service = toRNService(service: account.service)
|
|
207
|
+
switch account.details {
|
|
208
|
+
case .ActiveLinkedAccountDetails(let details):
|
|
209
|
+
return LinkedAccount(
|
|
210
|
+
serviceUserID: account.serviceUserID,
|
|
211
|
+
details: .init(
|
|
212
|
+
state: .active,
|
|
213
|
+
username: details.username,
|
|
214
|
+
legalName: details.legalName,
|
|
215
|
+
accountOpened: details.accountOpened
|
|
216
|
+
),
|
|
217
|
+
linkedAccountID: account.linkedAccountID,
|
|
218
|
+
service: service
|
|
219
|
+
)
|
|
220
|
+
case .InactiveLinkedAccountDetails:
|
|
221
|
+
return LinkedAccount(
|
|
222
|
+
serviceUserID: account.serviceUserID,
|
|
223
|
+
details: nil,
|
|
224
|
+
linkedAccountID: account.linkedAccountID,
|
|
225
|
+
service: service
|
|
226
|
+
)
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
func toRNService(service: Candle.Models.Service) -> Service {
|
|
231
|
+
switch service {
|
|
232
|
+
case .apple:
|
|
233
|
+
return .apple
|
|
234
|
+
case .cashApp:
|
|
235
|
+
return .cashApp
|
|
236
|
+
case .sandbox:
|
|
237
|
+
return .sandbox
|
|
238
|
+
case .robinhood:
|
|
239
|
+
return .robinhood
|
|
240
|
+
case .uber:
|
|
241
|
+
return .uber
|
|
242
|
+
case .lyft:
|
|
243
|
+
return .lyft
|
|
244
|
+
case .venmo:
|
|
245
|
+
return .venmo
|
|
246
|
+
case .chime:
|
|
247
|
+
return .chime
|
|
248
|
+
case .paypal:
|
|
249
|
+
return .paypal
|
|
250
|
+
case .coinbase:
|
|
251
|
+
return .coinbase
|
|
252
|
+
case .discover:
|
|
253
|
+
return .discover
|
|
254
|
+
case .americanExpress:
|
|
255
|
+
return .americanExpress
|
|
256
|
+
case .jpmorganChase:
|
|
257
|
+
return .jpmorganChase
|
|
258
|
+
case .bankOfAmerica:
|
|
259
|
+
return .bankOfAmerica
|
|
260
|
+
case .capitalOne:
|
|
261
|
+
return .capitalOne
|
|
262
|
+
case .citibank:
|
|
263
|
+
return .citibank
|
|
264
|
+
case .vanguard:
|
|
265
|
+
return .vanguard
|
|
266
|
+
case .wellsFargo:
|
|
267
|
+
return .wellsFargo
|
|
268
|
+
case .charlesSchwab:
|
|
269
|
+
return .charlesSchwab
|
|
270
|
+
case .kalshi:
|
|
271
|
+
return .kalshi
|
|
272
|
+
case .experian:
|
|
273
|
+
return .experian
|
|
274
|
+
case .waymo:
|
|
275
|
+
return .waymo
|
|
276
|
+
case .revel:
|
|
277
|
+
return .revel
|
|
278
|
+
case .turo:
|
|
279
|
+
return .turo
|
|
280
|
+
case .getaround:
|
|
281
|
+
return .getaround
|
|
282
|
+
case .zipcar:
|
|
283
|
+
return .zipcar
|
|
284
|
+
case .airbnb:
|
|
285
|
+
return .airbnb
|
|
286
|
+
case .americanAirlines:
|
|
287
|
+
return .americanAirlines
|
|
288
|
+
case .delta:
|
|
289
|
+
return .delta
|
|
290
|
+
case .united:
|
|
291
|
+
return .united
|
|
292
|
+
case .jetblue:
|
|
293
|
+
return .jetblue
|
|
294
|
+
case .southwest:
|
|
295
|
+
return .southwest
|
|
296
|
+
case .hawaiian:
|
|
297
|
+
return .hawaiian
|
|
298
|
+
case .hotels:
|
|
299
|
+
return .hotels
|
|
300
|
+
case .geico:
|
|
301
|
+
return .geico
|
|
302
|
+
case .progressive:
|
|
303
|
+
return .progressive
|
|
304
|
+
case .aaa:
|
|
305
|
+
return .aaa
|
|
306
|
+
case .stateFarm:
|
|
307
|
+
return .stateFarm
|
|
308
|
+
case .hertz:
|
|
309
|
+
return .hertz
|
|
310
|
+
case .avis:
|
|
311
|
+
return .avis
|
|
312
|
+
case .tesla:
|
|
313
|
+
return .tesla
|
|
314
|
+
case .doordash:
|
|
315
|
+
return .doordash
|
|
316
|
+
case .uberEats:
|
|
317
|
+
return .uberEats
|
|
318
|
+
case .grubhub:
|
|
319
|
+
return .grubhub
|
|
320
|
+
case .resy:
|
|
321
|
+
return .resy
|
|
322
|
+
case .opentable:
|
|
323
|
+
return .opentable
|
|
324
|
+
case .starbucks:
|
|
325
|
+
return .starbucks
|
|
326
|
+
case .blueBottle:
|
|
327
|
+
return .blueBottle
|
|
328
|
+
case .costco:
|
|
329
|
+
return .costco
|
|
330
|
+
case .amazon:
|
|
331
|
+
return .amazon
|
|
332
|
+
case .walmart:
|
|
333
|
+
return .walmart
|
|
334
|
+
case .wholeFoods:
|
|
335
|
+
return .wholeFoods
|
|
336
|
+
case .mcdonalds:
|
|
337
|
+
return .mcdonalds
|
|
338
|
+
case .chipotle:
|
|
339
|
+
return .chipotle
|
|
340
|
+
case .sweetgreen:
|
|
341
|
+
return .sweetgreen
|
|
342
|
+
case .snapchat:
|
|
343
|
+
return .snapchat
|
|
344
|
+
case .x:
|
|
345
|
+
return .x
|
|
346
|
+
case .facebook:
|
|
347
|
+
return .facebook
|
|
348
|
+
case .instagram:
|
|
349
|
+
return .instagram
|
|
350
|
+
case .signal:
|
|
351
|
+
return .signal
|
|
352
|
+
case .whatsapp:
|
|
353
|
+
return .whatsapp
|
|
354
|
+
case .messenger:
|
|
355
|
+
return .messenger
|
|
356
|
+
case .linkedin:
|
|
357
|
+
return .linkedin
|
|
358
|
+
case .discord:
|
|
359
|
+
return .discord
|
|
360
|
+
case .messages:
|
|
361
|
+
return .messages
|
|
362
|
+
case .telegram:
|
|
363
|
+
return .telegram
|
|
364
|
+
case .reddit:
|
|
365
|
+
return .reddit
|
|
366
|
+
case .pinterest:
|
|
367
|
+
return .pinterest
|
|
368
|
+
case .newYorkTimes:
|
|
369
|
+
return .newYorkTimes
|
|
370
|
+
case .washingtonPost:
|
|
371
|
+
return .washingtonPost
|
|
372
|
+
case .wallStreetJournal:
|
|
373
|
+
return .wallStreetJournal
|
|
374
|
+
case .cnn:
|
|
375
|
+
return .cnn
|
|
376
|
+
case .yahoo:
|
|
377
|
+
return .yahoo
|
|
378
|
+
case .fox:
|
|
379
|
+
return .fox
|
|
380
|
+
case .perplexity:
|
|
381
|
+
return .perplexity
|
|
382
|
+
case .openai:
|
|
383
|
+
return .openai
|
|
384
|
+
case .polymarket:
|
|
385
|
+
return .polymarket
|
|
386
|
+
case .espn:
|
|
387
|
+
return .espn
|
|
388
|
+
case .youtube:
|
|
389
|
+
return .youtube
|
|
390
|
+
case .netflix:
|
|
391
|
+
return .netflix
|
|
392
|
+
}
|
|
393
|
+
}
|
|
193
394
|
}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -3,47 +3,39 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
7
|
-
exports.executeTool = executeTool;
|
|
8
|
-
exports.getAvailableTools = getAvailableTools;
|
|
9
|
-
exports.getLinkedAccounts = getLinkedAccounts;
|
|
10
|
-
exports.presentCandleLinkSheet = presentCandleLinkSheet;
|
|
11
|
-
exports.unlinkAccount = unlinkAccount;
|
|
6
|
+
exports.CandleClient = void 0;
|
|
12
7
|
var _reactNativeNitroModules = require("react-native-nitro-modules");
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
return await CandleHybridObject.getAvailableTools();
|
|
45
|
-
}
|
|
46
|
-
async function executeTool(tool) {
|
|
47
|
-
return await CandleHybridObject.executeTool(tool);
|
|
8
|
+
class CandleClient {
|
|
9
|
+
constructor(appUser) {
|
|
10
|
+
const CandleHybridObject = _reactNativeNitroModules.NitroModules.createHybridObject("RNCandle");
|
|
11
|
+
this.candle = CandleHybridObject;
|
|
12
|
+
this.candle.initialize(appUser);
|
|
13
|
+
}
|
|
14
|
+
presentCandleLinkSheet({
|
|
15
|
+
services = undefined,
|
|
16
|
+
cornerRadius = 24,
|
|
17
|
+
customerName,
|
|
18
|
+
showDynamicLoading = true,
|
|
19
|
+
presentationBackground = "default",
|
|
20
|
+
onSuccess
|
|
21
|
+
}) {
|
|
22
|
+
this.candle.candleLinkSheet(true, services, cornerRadius, customerName, showDynamicLoading, presentationBackground, "fullScreen", onSuccess);
|
|
23
|
+
}
|
|
24
|
+
async getLinkedAccounts() {
|
|
25
|
+
return this.candle.getLinkedAccounts();
|
|
26
|
+
}
|
|
27
|
+
async unlinkAccount(linkedAccountID) {
|
|
28
|
+
await this.candle.unlinkAccount(linkedAccountID);
|
|
29
|
+
}
|
|
30
|
+
async deleteUser() {
|
|
31
|
+
await this.candle.deleteUser();
|
|
32
|
+
}
|
|
33
|
+
async getAvailableTools() {
|
|
34
|
+
return this.candle.getAvailableTools();
|
|
35
|
+
}
|
|
36
|
+
async executeTool(tool) {
|
|
37
|
+
return this.candle.executeTool(tool);
|
|
38
|
+
}
|
|
48
39
|
}
|
|
40
|
+
exports.CandleClient = CandleClient;
|
|
49
41
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeNitroModules","require","CandleHybridObject","NitroModules","createHybridObject","presentCandleLinkSheet","services","undefined","cornerRadius","customerName","showDynamicLoading","presentationBackground","
|
|
1
|
+
{"version":3,"names":["_reactNativeNitroModules","require","CandleClient","constructor","appUser","CandleHybridObject","NitroModules","createHybridObject","candle","initialize","presentCandleLinkSheet","services","undefined","cornerRadius","customerName","showDynamicLoading","presentationBackground","onSuccess","candleLinkSheet","getLinkedAccounts","unlinkAccount","linkedAccountID","deleteUser","getAvailableTools","executeTool","tool","exports"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AASO,MAAMC,YAAY,CAAC;EAGxBC,WAAWA,CAACC,OAAgB,EAAE;IAC5B,MAAMC,kBAAkB,GACtBC,qCAAY,CAACC,kBAAkB,CAAW,UAAU,CAAC;IACvD,IAAI,CAACC,MAAM,GAAGH,kBAAkB;IAChC,IAAI,CAACG,MAAM,CAACC,UAAU,CAACL,OAAO,CAAC;EACjC;EAEOM,sBAAsBA,CAAC;IAC5BC,QAAQ,GAAGC,SAAS;IACpBC,YAAY,GAAG,EAAE;IACjBC,YAAY;IACZC,kBAAkB,GAAG,IAAI;IACzBC,sBAAsB,GAAG,SAAS;IAClCC;EASF,CAAC,EAAQ;IACP,IAAI,CAACT,MAAM,CAACU,eAAe,CACzB,IAAI,EACJP,QAAQ,EACRE,YAAY,EACZC,YAAY,EACZC,kBAAkB,EAClBC,sBAAsB,EACtB,YAAY,EACZC,SACF,CAAC;EACH;EAEA,MAAaE,iBAAiBA,CAAA,EAA6B;IACzD,OAAO,IAAI,CAACX,MAAM,CAACW,iBAAiB,CAAC,CAAC;EACxC;EAEA,MAAaC,aAAaA,CAACC,eAAuB,EAAiB;IACjE,MAAM,IAAI,CAACb,MAAM,CAACY,aAAa,CAACC,eAAe,CAAC;EAClD;EAEA,MAAaC,UAAUA,CAAA,EAAkB;IACvC,MAAM,IAAI,CAACd,MAAM,CAACc,UAAU,CAAC,CAAC;EAChC;EAEA,MAAaC,iBAAiBA,CAAA,EAAwC;IACpE,OAAO,IAAI,CAACf,MAAM,CAACe,iBAAiB,CAAC,CAAC;EACxC;EAEA,MAAaC,WAAWA,CAACC,IAGxB,EAAmB;IAClB,OAAO,IAAI,CAACjB,MAAM,CAACgB,WAAW,CAACC,IAAI,CAAC;EACtC;AACF;AAACC,OAAA,CAAAxB,YAAA,GAAAA,YAAA","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -1,40 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { NitroModules } from "react-native-nitro-modules";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
return await CandleHybridObject.getAvailableTools();
|
|
36
|
-
}
|
|
37
|
-
export async function executeTool(tool) {
|
|
38
|
-
return await CandleHybridObject.executeTool(tool);
|
|
4
|
+
export class CandleClient {
|
|
5
|
+
constructor(appUser) {
|
|
6
|
+
const CandleHybridObject = NitroModules.createHybridObject("RNCandle");
|
|
7
|
+
this.candle = CandleHybridObject;
|
|
8
|
+
this.candle.initialize(appUser);
|
|
9
|
+
}
|
|
10
|
+
presentCandleLinkSheet({
|
|
11
|
+
services = undefined,
|
|
12
|
+
cornerRadius = 24,
|
|
13
|
+
customerName,
|
|
14
|
+
showDynamicLoading = true,
|
|
15
|
+
presentationBackground = "default",
|
|
16
|
+
onSuccess
|
|
17
|
+
}) {
|
|
18
|
+
this.candle.candleLinkSheet(true, services, cornerRadius, customerName, showDynamicLoading, presentationBackground, "fullScreen", onSuccess);
|
|
19
|
+
}
|
|
20
|
+
async getLinkedAccounts() {
|
|
21
|
+
return this.candle.getLinkedAccounts();
|
|
22
|
+
}
|
|
23
|
+
async unlinkAccount(linkedAccountID) {
|
|
24
|
+
await this.candle.unlinkAccount(linkedAccountID);
|
|
25
|
+
}
|
|
26
|
+
async deleteUser() {
|
|
27
|
+
await this.candle.deleteUser();
|
|
28
|
+
}
|
|
29
|
+
async getAvailableTools() {
|
|
30
|
+
return this.candle.getAvailableTools();
|
|
31
|
+
}
|
|
32
|
+
async executeTool(tool) {
|
|
33
|
+
return this.candle.executeTool(tool);
|
|
34
|
+
}
|
|
39
35
|
}
|
|
40
36
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NitroModules","CandleHybridObject","createHybridObject","presentCandleLinkSheet","services","undefined","cornerRadius","customerName","showDynamicLoading","presentationBackground","
|
|
1
|
+
{"version":3,"names":["NitroModules","CandleClient","constructor","appUser","CandleHybridObject","createHybridObject","candle","initialize","presentCandleLinkSheet","services","undefined","cornerRadius","customerName","showDynamicLoading","presentationBackground","onSuccess","candleLinkSheet","getLinkedAccounts","unlinkAccount","linkedAccountID","deleteUser","getAvailableTools","executeTool","tool"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,4BAA4B;AASzD,OAAO,MAAMC,YAAY,CAAC;EAGxBC,WAAWA,CAACC,OAAgB,EAAE;IAC5B,MAAMC,kBAAkB,GACtBJ,YAAY,CAACK,kBAAkB,CAAW,UAAU,CAAC;IACvD,IAAI,CAACC,MAAM,GAAGF,kBAAkB;IAChC,IAAI,CAACE,MAAM,CAACC,UAAU,CAACJ,OAAO,CAAC;EACjC;EAEOK,sBAAsBA,CAAC;IAC5BC,QAAQ,GAAGC,SAAS;IACpBC,YAAY,GAAG,EAAE;IACjBC,YAAY;IACZC,kBAAkB,GAAG,IAAI;IACzBC,sBAAsB,GAAG,SAAS;IAClCC;EASF,CAAC,EAAQ;IACP,IAAI,CAACT,MAAM,CAACU,eAAe,CACzB,IAAI,EACJP,QAAQ,EACRE,YAAY,EACZC,YAAY,EACZC,kBAAkB,EAClBC,sBAAsB,EACtB,YAAY,EACZC,SACF,CAAC;EACH;EAEA,MAAaE,iBAAiBA,CAAA,EAA6B;IACzD,OAAO,IAAI,CAACX,MAAM,CAACW,iBAAiB,CAAC,CAAC;EACxC;EAEA,MAAaC,aAAaA,CAACC,eAAuB,EAAiB;IACjE,MAAM,IAAI,CAACb,MAAM,CAACY,aAAa,CAACC,eAAe,CAAC;EAClD;EAEA,MAAaC,UAAUA,CAAA,EAAkB;IACvC,MAAM,IAAI,CAACd,MAAM,CAACc,UAAU,CAAC,CAAC;EAChC;EAEA,MAAaC,iBAAiBA,CAAA,EAAwC;IACpE,OAAO,IAAI,CAACf,MAAM,CAACe,iBAAiB,CAAC,CAAC;EACxC;EAEA,MAAaC,WAAWA,CAACC,IAGxB,EAAmB;IAClB,OAAO,IAAI,CAACjB,MAAM,CAACgB,WAAW,CAACC,IAAI,CAAC;EACtC;AACF","ignoreList":[]}
|