react-native-candle 0.1.12 → 0.1.13
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 +300 -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 +11 -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 +11 -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 +44 -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 +73 -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 +85 -6
|
@@ -8,19 +8,44 @@ 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(appKey: appUser.appKey, appSecret: appUser.appSecret))
|
|
30
|
+
let hostingVC = HostingViewController(uiView: wrapperView)
|
|
31
|
+
self.rootVC = hostingVC
|
|
32
|
+
guard let rootViewController = UIApplication.keyWindow?.rootViewController,
|
|
33
|
+
let view = rootViewController.view,
|
|
34
|
+
let rootView = view.subviews.first
|
|
35
|
+
else {
|
|
36
|
+
throw RNClientError.badInitialization(message: "Application root view was not initialized.")
|
|
37
|
+
}
|
|
38
|
+
view.insertSubview(hostingVC.view, belowSubview: rootView)
|
|
39
|
+
hostingVC.view.translatesAutoresizingMaskIntoConstraints = false
|
|
40
|
+
NSLayoutConstraint.activate([
|
|
41
|
+
hostingVC.view.heightAnchor.constraint(equalTo: view.heightAnchor),
|
|
42
|
+
hostingVC.view.widthAnchor.constraint(equalTo: view.widthAnchor),
|
|
43
|
+
hostingVC.view.leadingAnchor.constraint(equalTo: view.leadingAnchor),
|
|
44
|
+
hostingVC.view.trailingAnchor.constraint(equalTo: view.trailingAnchor),
|
|
45
|
+
])
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
24
49
|
public func candleLinkSheet(
|
|
25
50
|
isPresented: Bool,
|
|
26
51
|
services: [Service]?,
|
|
@@ -29,24 +54,24 @@ final class HybridRNCandle: HybridRNCandleSpec {
|
|
|
29
54
|
showDynamicLoading: Bool,
|
|
30
55
|
presentationBackground: PresentationBackground,
|
|
31
56
|
presentationStyle: PresentationStyle,
|
|
32
|
-
onSuccess: @escaping (
|
|
57
|
+
onSuccess: @escaping (LinkedAccount) -> Void
|
|
33
58
|
) throws {
|
|
34
59
|
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
|
|
60
|
+
try viewModel.isPresented = isPresented
|
|
61
|
+
try viewModel.services = services
|
|
62
|
+
try viewModel.cornerRadius = cornerRadius
|
|
63
|
+
try viewModel.customerName = customerName
|
|
64
|
+
try viewModel.showDynamicLoading = showDynamicLoading
|
|
65
|
+
try viewModel.presentationBackground = presentationBackground
|
|
66
|
+
try viewModel.presentationStyle = presentationStyle
|
|
67
|
+
try viewModel.showSheet = isPresented
|
|
68
|
+
try viewModel.$linkedAccount
|
|
69
|
+
.removeDuplicates()
|
|
70
|
+
.compactMap { $0 }
|
|
44
71
|
.receive(on: RunLoop.main)
|
|
45
72
|
.sink { [weak self] linkedAccount in
|
|
46
|
-
guard let
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
onSuccess(account)
|
|
73
|
+
guard let self else { return }
|
|
74
|
+
onSuccess(self.toLinkedAccount(linkedAccount))
|
|
50
75
|
}
|
|
51
76
|
.store(in: &cancellables)
|
|
52
77
|
}
|
|
@@ -56,94 +81,54 @@ final class HybridRNCandle: HybridRNCandleSpec {
|
|
|
56
81
|
|
|
57
82
|
public func unlinkAccount(linkedAccountID: String) throws -> Promise<Void> {
|
|
58
83
|
Promise.async {
|
|
59
|
-
try await self.viewModel.candleClient
|
|
84
|
+
try await self.viewModel.candleClient.unlinkAccount(linkedAccountID: linkedAccountID)
|
|
60
85
|
}
|
|
61
86
|
}
|
|
62
87
|
|
|
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
|
-
}
|
|
88
|
+
public func getLinkedAccounts() throws -> Promise<[LinkedAccount]> {
|
|
89
|
+
Promise.async { [weak self] in
|
|
90
|
+
guard let self else {
|
|
91
|
+
throw RNClientError.badInitialization(message: "Self was deinitialized \(#function).")
|
|
106
92
|
}
|
|
93
|
+
let accounts = try await self.viewModel.candleClient.getLinkedAccounts()
|
|
94
|
+
return accounts.map(self.toLinkedAccount)
|
|
107
95
|
}
|
|
108
96
|
}
|
|
109
97
|
|
|
110
|
-
public func getFiatAccounts() throws ->
|
|
98
|
+
public func getFiatAccounts() throws -> Promise<String> {
|
|
111
99
|
.async {
|
|
112
|
-
let accounts = try await self.viewModel.candleClient
|
|
100
|
+
let accounts = try await self.viewModel.candleClient.getFiatAccounts()
|
|
113
101
|
return try self.encodeToJSONString(accounts)
|
|
114
102
|
}
|
|
115
103
|
}
|
|
116
104
|
|
|
117
|
-
public func getActivity(span: String?) throws ->
|
|
105
|
+
public func getActivity(span: String?) throws -> Promise<String> {
|
|
118
106
|
.async {
|
|
119
107
|
let activity =
|
|
120
|
-
try await self.viewModel.candleClient
|
|
108
|
+
try await self.viewModel.candleClient.getActivity(query: .init(span: span))
|
|
121
109
|
return try self.encodeToJSONString(activity)
|
|
122
110
|
}
|
|
123
111
|
}
|
|
124
112
|
|
|
125
|
-
public func deleteUser() throws ->
|
|
113
|
+
public func deleteUser() throws -> Promise<Void> {
|
|
126
114
|
.async {
|
|
127
|
-
try await self.viewModel.candleClient
|
|
115
|
+
try await self.viewModel.candleClient.deleteUser()
|
|
128
116
|
}
|
|
129
117
|
}
|
|
130
118
|
|
|
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
|
|
119
|
+
public func getAvailableTools() throws -> Promise<[AnyMapHolder]> {
|
|
120
|
+
.async { [weak self] in
|
|
121
|
+
guard let self else {
|
|
122
|
+
throw RNClientError.badInitialization(message: "Self was deinitialized \(#function).")
|
|
139
123
|
}
|
|
140
|
-
|
|
124
|
+
let result = try await self.viewModel.candleClient.getAvailableTools()
|
|
125
|
+
return result.map(self.toHolder)
|
|
141
126
|
}
|
|
142
127
|
}
|
|
143
128
|
|
|
144
|
-
public func executeTool(tool: ToolCall) throws ->
|
|
129
|
+
public func executeTool(tool: ToolCall) throws -> Promise<String> {
|
|
145
130
|
.async {
|
|
146
|
-
let result = await self.viewModel.candleClient
|
|
131
|
+
let result = try await self.viewModel.candleClient.executeTool(
|
|
147
132
|
tool: RNToolCall(name: tool.name, arguments: tool.arguments)
|
|
148
133
|
)
|
|
149
134
|
return try self.encodeToJSONString(result)
|
|
@@ -152,30 +137,55 @@ final class HybridRNCandle: HybridRNCandleSpec {
|
|
|
152
137
|
|
|
153
138
|
// MARK: - Private
|
|
154
139
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
let
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
140
|
+
private func toHolder(_ dict: [String: Any]) -> AnyMapHolder {
|
|
141
|
+
let holder = AnyMapHolder()
|
|
142
|
+
for (key, rawValue) in dict {
|
|
143
|
+
let anyValue = self.toValue(rawValue)
|
|
144
|
+
switch anyValue {
|
|
145
|
+
case .string(let s):
|
|
146
|
+
holder.setString(key: key, value: s)
|
|
147
|
+
case .number(let d):
|
|
148
|
+
holder.setDouble(key: key, value: d)
|
|
149
|
+
case .bigint(let i):
|
|
150
|
+
holder.setBigInt(key: key, value: i)
|
|
151
|
+
case .bool(let b):
|
|
152
|
+
holder.setBoolean(key: key, value: b)
|
|
153
|
+
case .array(let arr):
|
|
154
|
+
holder.setArray(key: key, value: arr)
|
|
155
|
+
case .object(let obj):
|
|
156
|
+
holder.setObject(key: key, value: obj)
|
|
157
|
+
case .null:
|
|
158
|
+
holder.setNull(key: key)
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
return holder
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
private func toValue(_ value: Any) -> AnyValue {
|
|
165
|
+
switch value {
|
|
166
|
+
case let int as Int:
|
|
167
|
+
return .bigint(Int64(int))
|
|
168
|
+
case let int as Int64:
|
|
169
|
+
return .bigint(int)
|
|
170
|
+
case let double as Double:
|
|
171
|
+
return .number(double)
|
|
172
|
+
case let bool as Bool:
|
|
173
|
+
return .bool(bool)
|
|
174
|
+
case let str as String:
|
|
175
|
+
return .string(str)
|
|
176
|
+
case let array as [Any]:
|
|
177
|
+
return .array(array.map(toValue(_:)))
|
|
178
|
+
case let object as [String: Any]:
|
|
179
|
+
let mapped = object.mapValues { toValue($0) }
|
|
180
|
+
return .object(mapped)
|
|
181
|
+
default:
|
|
182
|
+
return .null
|
|
166
183
|
}
|
|
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
184
|
}
|
|
176
185
|
|
|
177
186
|
enum RNClientError: Error {
|
|
178
187
|
case badEncoding
|
|
188
|
+
case badInitialization(message: String)
|
|
179
189
|
}
|
|
180
190
|
|
|
181
191
|
struct RNToolCall: ToolCallRequest, Codable {
|
|
@@ -190,4 +200,194 @@ final class HybridRNCandle: HybridRNCandleSpec {
|
|
|
190
200
|
}
|
|
191
201
|
throw RNClientError.badEncoding
|
|
192
202
|
}
|
|
203
|
+
|
|
204
|
+
private func toLinkedAccount(_ account: Candle.Models.LinkedAccount) -> LinkedAccount {
|
|
205
|
+
let service: Service = toRNService(service: account.service)
|
|
206
|
+
switch account.details {
|
|
207
|
+
case .ActiveLinkedAccountDetails(let details):
|
|
208
|
+
return LinkedAccount(
|
|
209
|
+
serviceUserID: account.serviceUserID,
|
|
210
|
+
details: .init(
|
|
211
|
+
state: .active,
|
|
212
|
+
username: details.username,
|
|
213
|
+
legalName: details.legalName,
|
|
214
|
+
accountOpened: details.accountOpened
|
|
215
|
+
),
|
|
216
|
+
linkedAccountID: account.linkedAccountID,
|
|
217
|
+
service: service
|
|
218
|
+
)
|
|
219
|
+
case .InactiveLinkedAccountDetails:
|
|
220
|
+
return LinkedAccount(
|
|
221
|
+
serviceUserID: account.serviceUserID,
|
|
222
|
+
details: nil,
|
|
223
|
+
linkedAccountID: account.linkedAccountID,
|
|
224
|
+
service: service
|
|
225
|
+
)
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
func toRNService(service: Candle.Models.Service) -> Service {
|
|
230
|
+
switch service {
|
|
231
|
+
case .apple:
|
|
232
|
+
return .apple
|
|
233
|
+
case .cashApp:
|
|
234
|
+
return .cashApp
|
|
235
|
+
case .sandbox:
|
|
236
|
+
return .sandbox
|
|
237
|
+
case .robinhood:
|
|
238
|
+
return .robinhood
|
|
239
|
+
case .uber:
|
|
240
|
+
return .uber
|
|
241
|
+
case .lyft:
|
|
242
|
+
return .lyft
|
|
243
|
+
case .venmo:
|
|
244
|
+
return .venmo
|
|
245
|
+
case .chime:
|
|
246
|
+
return .chime
|
|
247
|
+
case .paypal:
|
|
248
|
+
return .paypal
|
|
249
|
+
case .coinbase:
|
|
250
|
+
return .coinbase
|
|
251
|
+
case .discover:
|
|
252
|
+
return .discover
|
|
253
|
+
case .americanExpress:
|
|
254
|
+
return .americanExpress
|
|
255
|
+
case .jpmorganChase:
|
|
256
|
+
return .jpmorganChase
|
|
257
|
+
case .bankOfAmerica:
|
|
258
|
+
return .bankOfAmerica
|
|
259
|
+
case .capitalOne:
|
|
260
|
+
return .capitalOne
|
|
261
|
+
case .citibank:
|
|
262
|
+
return .citibank
|
|
263
|
+
case .vanguard:
|
|
264
|
+
return .vanguard
|
|
265
|
+
case .wellsFargo:
|
|
266
|
+
return .wellsFargo
|
|
267
|
+
case .charlesSchwab:
|
|
268
|
+
return .charlesSchwab
|
|
269
|
+
case .kalshi:
|
|
270
|
+
return .kalshi
|
|
271
|
+
case .experian:
|
|
272
|
+
return .experian
|
|
273
|
+
case .waymo:
|
|
274
|
+
return .waymo
|
|
275
|
+
case .revel:
|
|
276
|
+
return .revel
|
|
277
|
+
case .turo:
|
|
278
|
+
return .turo
|
|
279
|
+
case .getaround:
|
|
280
|
+
return .getaround
|
|
281
|
+
case .zipcar:
|
|
282
|
+
return .zipcar
|
|
283
|
+
case .airbnb:
|
|
284
|
+
return .airbnb
|
|
285
|
+
case .americanAirlines:
|
|
286
|
+
return .americanAirlines
|
|
287
|
+
case .delta:
|
|
288
|
+
return .delta
|
|
289
|
+
case .united:
|
|
290
|
+
return .united
|
|
291
|
+
case .jetblue:
|
|
292
|
+
return .jetblue
|
|
293
|
+
case .southwest:
|
|
294
|
+
return .southwest
|
|
295
|
+
case .hawaiian:
|
|
296
|
+
return .hawaiian
|
|
297
|
+
case .hotels:
|
|
298
|
+
return .hotels
|
|
299
|
+
case .geico:
|
|
300
|
+
return .geico
|
|
301
|
+
case .progressive:
|
|
302
|
+
return .progressive
|
|
303
|
+
case .aaa:
|
|
304
|
+
return .aaa
|
|
305
|
+
case .stateFarm:
|
|
306
|
+
return .stateFarm
|
|
307
|
+
case .hertz:
|
|
308
|
+
return .hertz
|
|
309
|
+
case .avis:
|
|
310
|
+
return .avis
|
|
311
|
+
case .tesla:
|
|
312
|
+
return .tesla
|
|
313
|
+
case .doordash:
|
|
314
|
+
return .doordash
|
|
315
|
+
case .uberEats:
|
|
316
|
+
return .uberEats
|
|
317
|
+
case .grubhub:
|
|
318
|
+
return .grubhub
|
|
319
|
+
case .resy:
|
|
320
|
+
return .resy
|
|
321
|
+
case .opentable:
|
|
322
|
+
return .opentable
|
|
323
|
+
case .starbucks:
|
|
324
|
+
return .starbucks
|
|
325
|
+
case .blueBottle:
|
|
326
|
+
return .blueBottle
|
|
327
|
+
case .costco:
|
|
328
|
+
return .costco
|
|
329
|
+
case .amazon:
|
|
330
|
+
return .amazon
|
|
331
|
+
case .walmart:
|
|
332
|
+
return .walmart
|
|
333
|
+
case .wholeFoods:
|
|
334
|
+
return .wholeFoods
|
|
335
|
+
case .mcdonalds:
|
|
336
|
+
return .mcdonalds
|
|
337
|
+
case .chipotle:
|
|
338
|
+
return .chipotle
|
|
339
|
+
case .sweetgreen:
|
|
340
|
+
return .sweetgreen
|
|
341
|
+
case .snapchat:
|
|
342
|
+
return .snapchat
|
|
343
|
+
case .x:
|
|
344
|
+
return .x
|
|
345
|
+
case .facebook:
|
|
346
|
+
return .facebook
|
|
347
|
+
case .instagram:
|
|
348
|
+
return .instagram
|
|
349
|
+
case .signal:
|
|
350
|
+
return .signal
|
|
351
|
+
case .whatsapp:
|
|
352
|
+
return .whatsapp
|
|
353
|
+
case .messenger:
|
|
354
|
+
return .messenger
|
|
355
|
+
case .linkedin:
|
|
356
|
+
return .linkedin
|
|
357
|
+
case .discord:
|
|
358
|
+
return .discord
|
|
359
|
+
case .messages:
|
|
360
|
+
return .messages
|
|
361
|
+
case .telegram:
|
|
362
|
+
return .telegram
|
|
363
|
+
case .reddit:
|
|
364
|
+
return .reddit
|
|
365
|
+
case .pinterest:
|
|
366
|
+
return .pinterest
|
|
367
|
+
case .newYorkTimes:
|
|
368
|
+
return .newYorkTimes
|
|
369
|
+
case .washingtonPost:
|
|
370
|
+
return .washingtonPost
|
|
371
|
+
case .wallStreetJournal:
|
|
372
|
+
return .wallStreetJournal
|
|
373
|
+
case .cnn:
|
|
374
|
+
return .cnn
|
|
375
|
+
case .yahoo:
|
|
376
|
+
return .yahoo
|
|
377
|
+
case .fox:
|
|
378
|
+
return .fox
|
|
379
|
+
case .perplexity:
|
|
380
|
+
return .perplexity
|
|
381
|
+
case .openai:
|
|
382
|
+
return .openai
|
|
383
|
+
case .polymarket:
|
|
384
|
+
return .polymarket
|
|
385
|
+
case .espn:
|
|
386
|
+
return .espn
|
|
387
|
+
case .youtube:
|
|
388
|
+
return .youtube
|
|
389
|
+
case .netflix:
|
|
390
|
+
return .netflix
|
|
391
|
+
}
|
|
392
|
+
}
|
|
193
393
|
}
|
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":[]}
|