@onramper/onramper-react-native 1.2.2-1 → 1.3.0
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/CHANGELOG.md +193 -0
- package/README.md +45 -3
- package/ios/Frameworks/OnramperSDK.xcframework/ios-arm64/OnramperSDK.framework/Modules/OnramperSDK.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
- package/ios/Frameworks/OnramperSDK.xcframework/ios-arm64/OnramperSDK.framework/Modules/OnramperSDK.swiftmodule/arm64-apple-ios.swiftinterface +107 -4
- package/ios/Frameworks/OnramperSDK.xcframework/ios-arm64/OnramperSDK.framework/OnramperSDK +0 -0
- package/ios/Frameworks/OnramperSDK.xcframework/ios-arm64/dSYMs/OnramperSDK.framework.dSYM/Contents/Resources/DWARF/OnramperSDK +0 -0
- package/ios/Frameworks/OnramperSDK.xcframework/ios-arm64/dSYMs/OnramperSDK.framework.dSYM/Contents/Resources/Relocations/aarch64/OnramperSDK.yml +3560 -2684
- package/ios/Frameworks/OnramperSDK.xcframework/ios-arm64_x86_64-simulator/OnramperSDK.framework/Modules/OnramperSDK.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
- package/ios/Frameworks/OnramperSDK.xcframework/ios-arm64_x86_64-simulator/OnramperSDK.framework/Modules/OnramperSDK.swiftmodule/arm64-apple-ios-simulator.swiftinterface +107 -4
- package/ios/Frameworks/OnramperSDK.xcframework/ios-arm64_x86_64-simulator/OnramperSDK.framework/Modules/OnramperSDK.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
- package/ios/Frameworks/OnramperSDK.xcframework/ios-arm64_x86_64-simulator/OnramperSDK.framework/Modules/OnramperSDK.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +107 -4
- package/ios/Frameworks/OnramperSDK.xcframework/ios-arm64_x86_64-simulator/OnramperSDK.framework/OnramperSDK +0 -0
- package/ios/Frameworks/OnramperSDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/OnramperSDK.framework.dSYM/Contents/Resources/DWARF/OnramperSDK +0 -0
- package/ios/Frameworks/OnramperSDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/OnramperSDK.framework.dSYM/Contents/Resources/Relocations/aarch64/OnramperSDK.yml +3560 -2684
- package/ios/Frameworks/OnramperSDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/OnramperSDK.framework.dSYM/Contents/Resources/Relocations/x86_64/OnramperSDK.yml +3523 -2651
- package/ios/HybridOnramperCheckoutButton.swift +1 -1
- package/ios/HybridOnramperNitro.swift +140 -78
- package/ios/OnramperSDKBridge.swift +19 -2
- package/ios/PreparedIntentRegistry.swift +124 -6
- package/ios/SDKLogRelay.swift +41 -0
- package/lib/commonjs/OnramperClient.js +66 -5
- package/lib/commonjs/OnramperClient.js.map +1 -1
- package/lib/commonjs/errors.js +19 -5
- package/lib/commonjs/errors.js.map +1 -1
- package/lib/module/OnramperClient.js +66 -5
- package/lib/module/OnramperClient.js.map +1 -1
- package/lib/module/errors.js +19 -5
- package/lib/module/errors.js.map +1 -1
- package/lib/typescript/commonjs/src/OnramperClient.d.ts +5 -1
- package/lib/typescript/commonjs/src/OnramperClient.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/errors.d.ts +6 -1
- package/lib/typescript/commonjs/src/errors.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/events.d.ts +10 -0
- package/lib/typescript/commonjs/src/events.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +1 -1
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/specs/OnramperNitro.nitro.d.ts +3 -0
- package/lib/typescript/commonjs/src/specs/OnramperNitro.nitro.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/types.d.ts +32 -3
- package/lib/typescript/commonjs/src/types.d.ts.map +1 -1
- package/lib/typescript/module/src/OnramperClient.d.ts +5 -1
- package/lib/typescript/module/src/OnramperClient.d.ts.map +1 -1
- package/lib/typescript/module/src/errors.d.ts +6 -1
- package/lib/typescript/module/src/errors.d.ts.map +1 -1
- package/lib/typescript/module/src/events.d.ts +10 -0
- package/lib/typescript/module/src/events.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +1 -1
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/specs/OnramperNitro.nitro.d.ts +3 -0
- package/lib/typescript/module/src/specs/OnramperNitro.nitro.d.ts.map +1 -1
- package/lib/typescript/module/src/types.d.ts +32 -3
- package/lib/typescript/module/src/types.d.ts.map +1 -1
- package/nitrogen/generated/ios/OnramperReactNative-Swift-Cxx-Bridge.cpp +3 -3
- package/nitrogen/generated/ios/OnramperReactNative-Swift-Cxx-Bridge.hpp +7 -7
- package/nitrogen/generated/ios/c++/HybridOnramperNitroSpecSwift.hpp +6 -0
- package/nitrogen/generated/ios/swift/Func_void_std__string.swift +5 -5
- package/nitrogen/generated/ios/swift/HybridOnramperNitroSpec.swift +1 -0
- package/nitrogen/generated/ios/swift/HybridOnramperNitroSpec_cxx.swift +27 -11
- package/nitrogen/generated/ios/swift/OnramperNitroConfig.swift +16 -6
- package/nitrogen/generated/shared/c++/HybridOnramperNitroSpec.cpp +1 -0
- package/nitrogen/generated/shared/c++/HybridOnramperNitroSpec.hpp +1 -0
- package/nitrogen/generated/shared/c++/OnramperNitroConfig.hpp +10 -2
- package/package.json +3 -2
- package/src/OnramperClient.ts +67 -4
- package/src/errors.ts +29 -6
- package/src/events.ts +5 -0
- package/src/index.ts +3 -0
- package/src/specs/OnramperNitro.nitro.ts +3 -0
- package/src/types.ts +36 -3
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
export type OnramperErrorCode = 'notInitialized' | 'initializationFailed' | 'attestationFailed' | 'invalidStateTransition' | 'invalidState' | 'networkError' | 'decodingError' | 'timeout' | 'requirementNotSatisfied' | 'amountOutOfRange' | 'oidcFlowCancelled' | 'oidcTokenExchangeFailed' | 'oidcFlowFailed' | 'userTokenInvalid' | 'userTokenRefreshFailed' | 'webviewLoadFailed' | 'deepLinkFailed' | 'invalidRequest' | 'quoteUnavailable' | 'checkoutForbidden' | 'temporaryFailure' | 'unrecoverable' | 'configurationError' | 'deviceBlocked' | 'securityStorageFailed' | 'securityTrustFailed' | 'platformUnsupported' | 'intentInvalidated' | 'intentAlreadyConsumed' | 'clientAlreadyConfigured' | 'sessionExpirationHandlerFailed';
|
|
1
|
+
export type OnramperErrorCode = 'notInitialized' | 'initializationFailed' | 'attestationFailed' | 'invalidStateTransition' | 'invalidState' | 'networkError' | 'decodingError' | 'timeout' | 'paymentFailed' | 'providerFailed' | 'applePayNotConfigured' | 'requirementNotSatisfied' | 'amountOutOfRange' | 'oidcFlowCancelled' | 'oidcTokenExchangeFailed' | 'oidcFlowFailed' | 'userTokenInvalid' | 'userTokenRefreshFailed' | 'webviewLoadFailed' | 'deepLinkFailed' | 'invalidRequest' | 'quoteUnavailable' | 'checkoutForbidden' | 'temporaryFailure' | 'unrecoverable' | 'configurationError' | 'deviceBlocked' | 'securityStorageFailed' | 'securityTrustFailed' | 'platformUnsupported' | 'intentInvalidated' | 'intentAlreadyConsumed' | 'clientAlreadyConfigured' | 'clientDestroyed' | 'sessionExpirationHandlerFailed';
|
|
2
2
|
export interface OnramperErrorPayload {
|
|
3
3
|
code: OnramperErrorCode;
|
|
4
4
|
message: string;
|
|
5
|
+
/** Customer-facing SDK copy; optional for backwards-compatible payload construction. */
|
|
6
|
+
userMessage?: string;
|
|
7
|
+
supportCode?: string;
|
|
5
8
|
info?: Record<string, unknown>;
|
|
6
9
|
}
|
|
7
10
|
export declare class OnramperError extends Error implements OnramperErrorPayload {
|
|
8
11
|
readonly code: OnramperErrorCode;
|
|
12
|
+
readonly userMessage: string;
|
|
13
|
+
readonly supportCode: string;
|
|
9
14
|
readonly info?: Record<string, unknown>;
|
|
10
15
|
constructor(payload: OnramperErrorPayload);
|
|
11
16
|
static from(value: unknown): OnramperError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAEzB,gBAAgB,GAChB,sBAAsB,GACtB,mBAAmB,GACnB,wBAAwB,GACxB,cAAc,GACd,cAAc,GACd,eAAe,GACf,SAAS,GACT,yBAAyB,GACzB,kBAAkB,GAClB,mBAAmB,GACnB,yBAAyB,GACzB,gBAAgB,GAChB,kBAAkB,GAClB,wBAAwB,GACxB,mBAAmB,GACnB,gBAAgB,GAChB,gBAAgB,GAChB,kBAAkB,GAClB,mBAAmB,GACnB,kBAAkB,GAClB,eAAe,GACf,oBAAoB,GACpB,eAAe,GACf,uBAAuB,GACvB,qBAAqB,GAErB,qBAAqB,GACrB,mBAAmB,GACnB,uBAAuB,GACvB,yBAAyB,GACzB,gCAAgC,CAAC;AAErC,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,qBAAa,aAAc,SAAQ,KAAM,YAAW,oBAAoB;IACtE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAE5B,OAAO,EAAE,oBAAoB;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAEzB,gBAAgB,GAChB,sBAAsB,GACtB,mBAAmB,GACnB,wBAAwB,GACxB,cAAc,GACd,cAAc,GACd,eAAe,GACf,SAAS,GACT,eAAe,GACf,gBAAgB,GAChB,uBAAuB,GACvB,yBAAyB,GACzB,kBAAkB,GAClB,mBAAmB,GACnB,yBAAyB,GACzB,gBAAgB,GAChB,kBAAkB,GAClB,wBAAwB,GACxB,mBAAmB,GACnB,gBAAgB,GAChB,gBAAgB,GAChB,kBAAkB,GAClB,mBAAmB,GACnB,kBAAkB,GAClB,eAAe,GACf,oBAAoB,GACpB,eAAe,GACf,uBAAuB,GACvB,qBAAqB,GAErB,qBAAqB,GACrB,mBAAmB,GACnB,uBAAuB,GACvB,yBAAyB,GACzB,iBAAiB,GACjB,gCAAgC,CAAC;AAErC,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,wFAAwF;IACxF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,qBAAa,aAAc,SAAQ,KAAM,YAAW,oBAAoB;IACtE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAE5B,OAAO,EAAE,oBAAoB;IASzC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa;CA4B3C"}
|
|
@@ -35,6 +35,16 @@ export type CheckoutEvent = {
|
|
|
35
35
|
type: 'paymentAuthorized';
|
|
36
36
|
} | {
|
|
37
37
|
type: 'paymentProcessing';
|
|
38
|
+
}
|
|
39
|
+
/** Accepted but not settled; use currentTransactionId to track the payment. */
|
|
40
|
+
| {
|
|
41
|
+
type: 'paymentPending';
|
|
42
|
+
} | {
|
|
43
|
+
type: 'challengeStarted';
|
|
44
|
+
} | {
|
|
45
|
+
type: 'challengeCompleted';
|
|
46
|
+
} | {
|
|
47
|
+
type: 'customerOnboardingRequired';
|
|
38
48
|
} | {
|
|
39
49
|
type: 'paymentCancelled';
|
|
40
50
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAExG,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,YAAY,EAAE,mBAAmB,EAAE,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAC3B;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,QAAQ,EAAE,wBAAwB,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,oBAAoB,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GAErB;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAExG,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,YAAY,EAAE,mBAAmB,EAAE,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAC3B;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,QAAQ,EAAE,wBAAwB,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,oBAAoB,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GAErB;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE;AAC/B,+EAA+E;GAC7E;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,kBAAkB,CAAA;CAAE,GAC5B;IAAE,IAAI,EAAE,oBAAoB,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,4BAA4B,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,kBAAkB,CAAA;CAAE,GAC5B;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9C,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AAC9C,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,SAAS,IAAI,OAAO,CAAC,aAAa,EAAE;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC"}
|
|
@@ -4,6 +4,6 @@ export { OnramperCheckoutButtonView } from './OnramperCheckoutButtonView';
|
|
|
4
4
|
export type { OnramperCheckoutButtonViewProps } from './OnramperCheckoutButtonView';
|
|
5
5
|
export { OnramperError } from './errors';
|
|
6
6
|
export type { OnramperErrorCode, OnramperErrorPayload } from './errors';
|
|
7
|
-
export type { CheckoutButtonStyle, CheckoutFinalizeResponse, CheckoutRequest, CheckoutPaymentType, CheckoutRequirement, HeadlessCheckoutData, OnramperConfiguration, OnramperEnvironment, OnramperLogLevel, OnramperState, OnramperTheme, OnramperUserPrefill, QuoteResponse, RenderType, ReverificationField, SessionCredentials, ToSItem, TransactionType, UserInfoField, UserInfoFieldType, WalletInfo, } from './types';
|
|
7
|
+
export type { CheckoutButtonStyle, CheckoutFinalizeResponse, CheckoutRequest, CheckoutPaymentType, CheckoutRequirement, HeadlessCheckoutData, OnramperConfiguration, OnramperEnvironment, OnramperLogLevel, OnramperLogRecord, ProviderJSONValue, PaymentDisclosure, OnramperState, OnramperTheme, OnramperUserPrefill, QuoteResponse, RenderType, ReverificationField, SessionCredentials, ToSItem, TransactionType, UserInfoField, UserInfoFieldType, WalletInfo, } from './types';
|
|
8
8
|
export type { CheckoutEvent, EventName, EventPayload } from './events';
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,YAAY,EAAE,+BAA+B,EAAE,MAAM,8BAA8B,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACxE,YAAY,EACV,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAClB,OAAO,EACP,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,UAAU,GACX,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,YAAY,EAAE,+BAA+B,EAAE,MAAM,8BAA8B,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACxE,YAAY,EACV,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAClB,OAAO,EACP,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,UAAU,GACX,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -5,6 +5,8 @@ export interface OnramperNitroConfig {
|
|
|
5
5
|
environment: string;
|
|
6
6
|
theme: string;
|
|
7
7
|
logLevel: string;
|
|
8
|
+
isEventLoggingEnabled: boolean;
|
|
9
|
+
isEventConsoleLoggingEnabled: boolean;
|
|
8
10
|
}
|
|
9
11
|
export interface NitroSessionCredentials {
|
|
10
12
|
sessionId: string;
|
|
@@ -32,6 +34,7 @@ export interface OnramperNitro extends HybridObject<{
|
|
|
32
34
|
signOut(): Promise<void>;
|
|
33
35
|
getCheckoutRequirements(requestJson: string, prefillJson: string, styleJson: string): Promise<PreparedIntentResult>;
|
|
34
36
|
cancelPreparedIntent(intentHandle: string): Promise<void>;
|
|
37
|
+
setLogListener(onLog: (recordJson: string) => void): void;
|
|
35
38
|
setStateListener(onState: (stateJson: string) => void): void;
|
|
36
39
|
setEventListener(onEvent: (eventJson: string) => void): void;
|
|
37
40
|
setTransactionIdListener(onTransactionId: (transactionId: string | undefined) => void): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnramperNitro.nitro.d.ts","sourceRoot":"","sources":["../../../../../src/specs/OnramperNitro.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAI/D,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"OnramperNitro.nitro.d.ts","sourceRoot":"","sources":["../../../../../src/specs/OnramperNitro.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAI/D,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,4BAA4B,EAAE,OAAO,CAAC;CACvC;AAID,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAID,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAc,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC;IACnE,SAAS,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IASzB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACpH,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAG1D,cAAc,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAC1D,gBAAgB,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAC7D,gBAAgB,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAE7D,wBAAwB,CAAC,eAAe,EAAE,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,GAAG,IAAI,CAAC;IAI7F,2BAA2B,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC;CAKpF"}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import type { OnramperErrorPayload } from './errors';
|
|
2
2
|
export type OnramperEnvironment = 'development' | 'production';
|
|
3
3
|
export type OnramperLogLevel = 'off' | 'error' | 'info' | 'debug';
|
|
4
|
+
/** A sanitized native SDK diagnostic. Timestamp is Unix milliseconds. */
|
|
5
|
+
export interface OnramperLogRecord {
|
|
6
|
+
timestamp: number;
|
|
7
|
+
level: OnramperLogLevel;
|
|
8
|
+
category: string;
|
|
9
|
+
event: string;
|
|
10
|
+
context: Record<string, string>;
|
|
11
|
+
message: string;
|
|
12
|
+
}
|
|
4
13
|
export type OnramperTheme = 'system' | 'light' | 'dark';
|
|
5
14
|
export type TransactionType = 'buy' | 'sell';
|
|
6
15
|
export interface SessionCredentials {
|
|
@@ -13,12 +22,16 @@ export interface OnramperConfiguration {
|
|
|
13
22
|
environment: OnramperEnvironment;
|
|
14
23
|
theme?: OnramperTheme;
|
|
15
24
|
logLevel?: OnramperLogLevel;
|
|
25
|
+
/** Receives native records in JS; system Console output is preserved. Off unless logLevel enables it. */
|
|
26
|
+
logHandler?: (record: OnramperLogRecord) => void;
|
|
27
|
+
/** Opt-in provider-event telemetry to the BFF. Defaults to false. */
|
|
28
|
+
isEventLoggingEnabled?: boolean;
|
|
29
|
+
/** Emit provider events at info even when logLevel is lower. Defaults to false. */
|
|
30
|
+
isEventConsoleLoggingEnabled?: boolean;
|
|
16
31
|
/**
|
|
17
32
|
* Called by the SDK when the session token expires and needs to be re-issued.
|
|
18
33
|
*
|
|
19
|
-
* May be synchronous or async
|
|
20
|
-
* round-trip (`onSessionExpired` → `provideSessionCredentials`) so Promises
|
|
21
|
-
* are awaited normally. Throw or reject to signal that no fresh credentials
|
|
34
|
+
* May be synchronous or async; the Nitro bridge awaits the callback directly. Throw or reject to signal that no fresh credentials
|
|
22
35
|
* are available; the SDK will surface `userTokenRefreshFailed`.
|
|
23
36
|
*/
|
|
24
37
|
onSessionExpired: () => SessionCredentials | Promise<SessionCredentials>;
|
|
@@ -48,6 +61,17 @@ export interface QuoteResponse {
|
|
|
48
61
|
networkFee: number;
|
|
49
62
|
transactionFee: number;
|
|
50
63
|
recommendations?: string[];
|
|
64
|
+
providerContext?: Record<string, ProviderJSONValue>;
|
|
65
|
+
}
|
|
66
|
+
/** JSON values used in provider-specific quote metadata (including booleans and limits). */
|
|
67
|
+
export type ProviderJSONValue = string | number | boolean | null | ProviderJSONValue[] | {
|
|
68
|
+
[key: string]: ProviderJSONValue;
|
|
69
|
+
};
|
|
70
|
+
export interface PaymentDisclosure {
|
|
71
|
+
code: string;
|
|
72
|
+
version: string;
|
|
73
|
+
contentMarkdown: string;
|
|
74
|
+
contentHtml: string;
|
|
51
75
|
}
|
|
52
76
|
export interface OnramperUserPrefill {
|
|
53
77
|
email?: string;
|
|
@@ -67,6 +91,9 @@ export interface HeadlessCheckoutData {
|
|
|
67
91
|
checkoutPaymentType: CheckoutPaymentType;
|
|
68
92
|
url: string;
|
|
69
93
|
renderType: RenderType;
|
|
94
|
+
providerBootstrap?: {
|
|
95
|
+
framesBaseUrl?: string;
|
|
96
|
+
};
|
|
70
97
|
}
|
|
71
98
|
export interface CheckoutFinalizeResponse {
|
|
72
99
|
headlessCheckoutId: string;
|
|
@@ -131,6 +158,8 @@ export type OnramperState = {
|
|
|
131
158
|
url: string;
|
|
132
159
|
renderType: RenderType;
|
|
133
160
|
paymentType: CheckoutPaymentType;
|
|
161
|
+
} | {
|
|
162
|
+
kind: 'paymentPending';
|
|
134
163
|
} | {
|
|
135
164
|
kind: 'completed';
|
|
136
165
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAErD,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG,YAAY,CAAC;AAC/D,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AAClE,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAExD,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,MAAM,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,mBAAmB,CAAC;IACjC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,9 @@ export declare class OnramperClient {
|
|
|
23
23
|
private readonly eventListeners;
|
|
24
24
|
private readonly transactionIdListeners;
|
|
25
25
|
private readonly configured;
|
|
26
|
+
private destroyed;
|
|
26
27
|
constructor(config: OnramperConfiguration);
|
|
28
|
+
private assertActive;
|
|
27
29
|
private updateCurrentTransactionId;
|
|
28
30
|
initialize(creds: SessionCredentials): Promise<void>;
|
|
29
31
|
reset(): Promise<void>;
|
|
@@ -38,6 +40,8 @@ export declare class OnramperClient {
|
|
|
38
40
|
* Fetches checkout requirements + quote and returns a native checkout button
|
|
39
41
|
* to render plus the quote. The button handles login / finalize / webview
|
|
40
42
|
* internally; outcomes surface via the event stream (`addEventListener`).
|
|
43
|
+
* A newer preparation, reset, or sign-out invalidates older unmounted buttons
|
|
44
|
+
* and rejects obsolete in-flight preparations with `intentInvalidated`.
|
|
41
45
|
*
|
|
42
46
|
* Pass `prefill` to pre-populate the OnramperID sign-in and additional-info
|
|
43
47
|
* screens with values you already know about the user. It is best-effort and
|
|
@@ -58,7 +62,7 @@ export declare class OnramperClient {
|
|
|
58
62
|
addTransactionIdListener(fn: (transactionId: string | null) => void): () => void;
|
|
59
63
|
/** Subscribe to a specific checkout event. Returns an unsubscribe function. */
|
|
60
64
|
addEventListener<K extends EventName>(name: K, fn: (e: EventPayload<K>) => void): () => void;
|
|
61
|
-
/**
|
|
65
|
+
/** Idempotent teardown. Further operations reject with `clientDestroyed`; create a new client to restart. */
|
|
62
66
|
destroy(): void;
|
|
63
67
|
}
|
|
64
68
|
//# sourceMappingURL=OnramperClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnramperClient.d.ts","sourceRoot":"","sources":["../../../../src/OnramperClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAiB,MAAM,OAAO,CAAC;AAIzD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAU,CAAC;AACzC,OAAO,KAAK,EAAiB,SAAS,EAAE,YAAY,EAAE,MAAM,aAAU,CAAC;AACvE,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,qBAAqB,
|
|
1
|
+
{"version":3,"file":"OnramperClient.d.ts","sourceRoot":"","sources":["../../../../src/OnramperClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAiB,MAAM,OAAO,CAAC;AAIzD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAU,CAAC;AACzC,OAAO,KAAK,EAAiB,SAAS,EAAE,YAAY,EAAE,MAAM,aAAU,CAAC;AACvE,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EAErB,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EACnB,MAAM,YAAS,CAAC;AAEjB,MAAM,WAAW,6BAA6B;IAC5C,yHAAyH;IACzH,MAAM,EAAE,YAAY,CAAC;IACrB,wEAAwE;IACxE,KAAK,EAAE,aAAa,CAAC;CACtB;AAED;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,KAAK,EAAE,aAAa,CAAoB;IACxC,SAAS,EAAE,aAAa,GAAG,IAAI,CAAQ;IACvC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAG3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IAEjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6C;IAC5E,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6C;IAC5E,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAqD;IAI5F,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,qBAAqB;IAuEzC,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,0BAA0B;IAe5B,UAAU,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAapD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAc5B;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAc9B;;;;;;;;;;;;;;;;OAgBG;IACG,uBAAuB,CAC3B,OAAO,EAAE,eAAe,EACxB,WAAW,GAAE,mBAAwB,EACrC,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,6BAA6B,CAAC;IAoBzC,oFAAoF;IAC9E,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW/D,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAAG,MAAM,IAAI;IAQhE,+FAA+F;IAC/F,wBAAwB,CAAC,EAAE,EAAE,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,MAAM,IAAI;IAQhF,+EAA+E;IAC/E,gBAAgB,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI;IAW5F,6GAA6G;IAC7G,OAAO,IAAI,IAAI;CAQhB"}
|
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
export type OnramperErrorCode = 'notInitialized' | 'initializationFailed' | 'attestationFailed' | 'invalidStateTransition' | 'invalidState' | 'networkError' | 'decodingError' | 'timeout' | 'requirementNotSatisfied' | 'amountOutOfRange' | 'oidcFlowCancelled' | 'oidcTokenExchangeFailed' | 'oidcFlowFailed' | 'userTokenInvalid' | 'userTokenRefreshFailed' | 'webviewLoadFailed' | 'deepLinkFailed' | 'invalidRequest' | 'quoteUnavailable' | 'checkoutForbidden' | 'temporaryFailure' | 'unrecoverable' | 'configurationError' | 'deviceBlocked' | 'securityStorageFailed' | 'securityTrustFailed' | 'platformUnsupported' | 'intentInvalidated' | 'intentAlreadyConsumed' | 'clientAlreadyConfigured' | 'sessionExpirationHandlerFailed';
|
|
1
|
+
export type OnramperErrorCode = 'notInitialized' | 'initializationFailed' | 'attestationFailed' | 'invalidStateTransition' | 'invalidState' | 'networkError' | 'decodingError' | 'timeout' | 'paymentFailed' | 'providerFailed' | 'applePayNotConfigured' | 'requirementNotSatisfied' | 'amountOutOfRange' | 'oidcFlowCancelled' | 'oidcTokenExchangeFailed' | 'oidcFlowFailed' | 'userTokenInvalid' | 'userTokenRefreshFailed' | 'webviewLoadFailed' | 'deepLinkFailed' | 'invalidRequest' | 'quoteUnavailable' | 'checkoutForbidden' | 'temporaryFailure' | 'unrecoverable' | 'configurationError' | 'deviceBlocked' | 'securityStorageFailed' | 'securityTrustFailed' | 'platformUnsupported' | 'intentInvalidated' | 'intentAlreadyConsumed' | 'clientAlreadyConfigured' | 'clientDestroyed' | 'sessionExpirationHandlerFailed';
|
|
2
2
|
export interface OnramperErrorPayload {
|
|
3
3
|
code: OnramperErrorCode;
|
|
4
4
|
message: string;
|
|
5
|
+
/** Customer-facing SDK copy; optional for backwards-compatible payload construction. */
|
|
6
|
+
userMessage?: string;
|
|
7
|
+
supportCode?: string;
|
|
5
8
|
info?: Record<string, unknown>;
|
|
6
9
|
}
|
|
7
10
|
export declare class OnramperError extends Error implements OnramperErrorPayload {
|
|
8
11
|
readonly code: OnramperErrorCode;
|
|
12
|
+
readonly userMessage: string;
|
|
13
|
+
readonly supportCode: string;
|
|
9
14
|
readonly info?: Record<string, unknown>;
|
|
10
15
|
constructor(payload: OnramperErrorPayload);
|
|
11
16
|
static from(value: unknown): OnramperError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAEzB,gBAAgB,GAChB,sBAAsB,GACtB,mBAAmB,GACnB,wBAAwB,GACxB,cAAc,GACd,cAAc,GACd,eAAe,GACf,SAAS,GACT,yBAAyB,GACzB,kBAAkB,GAClB,mBAAmB,GACnB,yBAAyB,GACzB,gBAAgB,GAChB,kBAAkB,GAClB,wBAAwB,GACxB,mBAAmB,GACnB,gBAAgB,GAChB,gBAAgB,GAChB,kBAAkB,GAClB,mBAAmB,GACnB,kBAAkB,GAClB,eAAe,GACf,oBAAoB,GACpB,eAAe,GACf,uBAAuB,GACvB,qBAAqB,GAErB,qBAAqB,GACrB,mBAAmB,GACnB,uBAAuB,GACvB,yBAAyB,GACzB,gCAAgC,CAAC;AAErC,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,qBAAa,aAAc,SAAQ,KAAM,YAAW,oBAAoB;IACtE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAE5B,OAAO,EAAE,oBAAoB;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAEzB,gBAAgB,GAChB,sBAAsB,GACtB,mBAAmB,GACnB,wBAAwB,GACxB,cAAc,GACd,cAAc,GACd,eAAe,GACf,SAAS,GACT,eAAe,GACf,gBAAgB,GAChB,uBAAuB,GACvB,yBAAyB,GACzB,kBAAkB,GAClB,mBAAmB,GACnB,yBAAyB,GACzB,gBAAgB,GAChB,kBAAkB,GAClB,wBAAwB,GACxB,mBAAmB,GACnB,gBAAgB,GAChB,gBAAgB,GAChB,kBAAkB,GAClB,mBAAmB,GACnB,kBAAkB,GAClB,eAAe,GACf,oBAAoB,GACpB,eAAe,GACf,uBAAuB,GACvB,qBAAqB,GAErB,qBAAqB,GACrB,mBAAmB,GACnB,uBAAuB,GACvB,yBAAyB,GACzB,iBAAiB,GACjB,gCAAgC,CAAC;AAErC,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,wFAAwF;IACxF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,qBAAa,aAAc,SAAQ,KAAM,YAAW,oBAAoB;IACtE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAE5B,OAAO,EAAE,oBAAoB;IASzC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa;CA4B3C"}
|
|
@@ -35,6 +35,16 @@ export type CheckoutEvent = {
|
|
|
35
35
|
type: 'paymentAuthorized';
|
|
36
36
|
} | {
|
|
37
37
|
type: 'paymentProcessing';
|
|
38
|
+
}
|
|
39
|
+
/** Accepted but not settled; use currentTransactionId to track the payment. */
|
|
40
|
+
| {
|
|
41
|
+
type: 'paymentPending';
|
|
42
|
+
} | {
|
|
43
|
+
type: 'challengeStarted';
|
|
44
|
+
} | {
|
|
45
|
+
type: 'challengeCompleted';
|
|
46
|
+
} | {
|
|
47
|
+
type: 'customerOnboardingRequired';
|
|
38
48
|
} | {
|
|
39
49
|
type: 'paymentCancelled';
|
|
40
50
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAU,CAAC;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAS,CAAC;AAExG,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,YAAY,EAAE,mBAAmB,EAAE,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAC3B;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,QAAQ,EAAE,wBAAwB,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,oBAAoB,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GAErB;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAU,CAAC;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAS,CAAC;AAExG,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,YAAY,EAAE,mBAAmB,EAAE,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAC3B;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,QAAQ,EAAE,wBAAwB,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,oBAAoB,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GAErB;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE;AAC/B,+EAA+E;GAC7E;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,kBAAkB,CAAA;CAAE,GAC5B;IAAE,IAAI,EAAE,oBAAoB,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,4BAA4B,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,kBAAkB,CAAA;CAAE,GAC5B;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9C,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AAC9C,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,SAAS,IAAI,OAAO,CAAC,aAAa,EAAE;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC"}
|
|
@@ -4,6 +4,6 @@ export { OnramperCheckoutButtonView } from './OnramperCheckoutButtonView.js';
|
|
|
4
4
|
export type { OnramperCheckoutButtonViewProps } from './OnramperCheckoutButtonView.js';
|
|
5
5
|
export { OnramperError } from './errors.js';
|
|
6
6
|
export type { OnramperErrorCode, OnramperErrorPayload } from './errors.js';
|
|
7
|
-
export type { CheckoutButtonStyle, CheckoutFinalizeResponse, CheckoutRequest, CheckoutPaymentType, CheckoutRequirement, HeadlessCheckoutData, OnramperConfiguration, OnramperEnvironment, OnramperLogLevel, OnramperState, OnramperTheme, OnramperUserPrefill, QuoteResponse, RenderType, ReverificationField, SessionCredentials, ToSItem, TransactionType, UserInfoField, UserInfoFieldType, WalletInfo, } from './types.js';
|
|
7
|
+
export type { CheckoutButtonStyle, CheckoutFinalizeResponse, CheckoutRequest, CheckoutPaymentType, CheckoutRequirement, HeadlessCheckoutData, OnramperConfiguration, OnramperEnvironment, OnramperLogLevel, OnramperLogRecord, ProviderJSONValue, PaymentDisclosure, OnramperState, OnramperTheme, OnramperUserPrefill, QuoteResponse, RenderType, ReverificationField, SessionCredentials, ToSItem, TransactionType, UserInfoField, UserInfoFieldType, WalletInfo, } from './types.js';
|
|
8
8
|
export type { CheckoutEvent, EventName, EventPayload } from './events.js';
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAkB,CAAC;AAClD,YAAY,EAAE,6BAA6B,EAAE,MAAM,qBAAkB,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAA8B,CAAC;AAC1E,YAAY,EAAE,+BAA+B,EAAE,MAAM,iCAA8B,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,aAAU,CAAC;AACzC,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,aAAU,CAAC;AACxE,YAAY,EACV,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAClB,OAAO,EACP,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,UAAU,GACX,MAAM,YAAS,CAAC;AACjB,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAkB,CAAC;AAClD,YAAY,EAAE,6BAA6B,EAAE,MAAM,qBAAkB,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAA8B,CAAC;AAC1E,YAAY,EAAE,+BAA+B,EAAE,MAAM,iCAA8B,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,aAAU,CAAC;AACzC,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,aAAU,CAAC;AACxE,YAAY,EACV,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAClB,OAAO,EACP,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,UAAU,GACX,MAAM,YAAS,CAAC;AACjB,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAU,CAAC"}
|
|
@@ -5,6 +5,8 @@ export interface OnramperNitroConfig {
|
|
|
5
5
|
environment: string;
|
|
6
6
|
theme: string;
|
|
7
7
|
logLevel: string;
|
|
8
|
+
isEventLoggingEnabled: boolean;
|
|
9
|
+
isEventConsoleLoggingEnabled: boolean;
|
|
8
10
|
}
|
|
9
11
|
export interface NitroSessionCredentials {
|
|
10
12
|
sessionId: string;
|
|
@@ -32,6 +34,7 @@ export interface OnramperNitro extends HybridObject<{
|
|
|
32
34
|
signOut(): Promise<void>;
|
|
33
35
|
getCheckoutRequirements(requestJson: string, prefillJson: string, styleJson: string): Promise<PreparedIntentResult>;
|
|
34
36
|
cancelPreparedIntent(intentHandle: string): Promise<void>;
|
|
37
|
+
setLogListener(onLog: (recordJson: string) => void): void;
|
|
35
38
|
setStateListener(onState: (stateJson: string) => void): void;
|
|
36
39
|
setEventListener(onEvent: (eventJson: string) => void): void;
|
|
37
40
|
setTransactionIdListener(onTransactionId: (transactionId: string | undefined) => void): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnramperNitro.nitro.d.ts","sourceRoot":"","sources":["../../../../../src/specs/OnramperNitro.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAI/D,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"OnramperNitro.nitro.d.ts","sourceRoot":"","sources":["../../../../../src/specs/OnramperNitro.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAI/D,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,4BAA4B,EAAE,OAAO,CAAC;CACvC;AAID,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAID,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAc,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC;IACnE,SAAS,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IASzB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACpH,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAG1D,cAAc,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAC1D,gBAAgB,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAC7D,gBAAgB,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAE7D,wBAAwB,CAAC,eAAe,EAAE,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,GAAG,IAAI,CAAC;IAI7F,2BAA2B,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC;CAKpF"}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import type { OnramperErrorPayload } from './errors.js';
|
|
2
2
|
export type OnramperEnvironment = 'development' | 'production';
|
|
3
3
|
export type OnramperLogLevel = 'off' | 'error' | 'info' | 'debug';
|
|
4
|
+
/** A sanitized native SDK diagnostic. Timestamp is Unix milliseconds. */
|
|
5
|
+
export interface OnramperLogRecord {
|
|
6
|
+
timestamp: number;
|
|
7
|
+
level: OnramperLogLevel;
|
|
8
|
+
category: string;
|
|
9
|
+
event: string;
|
|
10
|
+
context: Record<string, string>;
|
|
11
|
+
message: string;
|
|
12
|
+
}
|
|
4
13
|
export type OnramperTheme = 'system' | 'light' | 'dark';
|
|
5
14
|
export type TransactionType = 'buy' | 'sell';
|
|
6
15
|
export interface SessionCredentials {
|
|
@@ -13,12 +22,16 @@ export interface OnramperConfiguration {
|
|
|
13
22
|
environment: OnramperEnvironment;
|
|
14
23
|
theme?: OnramperTheme;
|
|
15
24
|
logLevel?: OnramperLogLevel;
|
|
25
|
+
/** Receives native records in JS; system Console output is preserved. Off unless logLevel enables it. */
|
|
26
|
+
logHandler?: (record: OnramperLogRecord) => void;
|
|
27
|
+
/** Opt-in provider-event telemetry to the BFF. Defaults to false. */
|
|
28
|
+
isEventLoggingEnabled?: boolean;
|
|
29
|
+
/** Emit provider events at info even when logLevel is lower. Defaults to false. */
|
|
30
|
+
isEventConsoleLoggingEnabled?: boolean;
|
|
16
31
|
/**
|
|
17
32
|
* Called by the SDK when the session token expires and needs to be re-issued.
|
|
18
33
|
*
|
|
19
|
-
* May be synchronous or async
|
|
20
|
-
* round-trip (`onSessionExpired` → `provideSessionCredentials`) so Promises
|
|
21
|
-
* are awaited normally. Throw or reject to signal that no fresh credentials
|
|
34
|
+
* May be synchronous or async; the Nitro bridge awaits the callback directly. Throw or reject to signal that no fresh credentials
|
|
22
35
|
* are available; the SDK will surface `userTokenRefreshFailed`.
|
|
23
36
|
*/
|
|
24
37
|
onSessionExpired: () => SessionCredentials | Promise<SessionCredentials>;
|
|
@@ -48,6 +61,17 @@ export interface QuoteResponse {
|
|
|
48
61
|
networkFee: number;
|
|
49
62
|
transactionFee: number;
|
|
50
63
|
recommendations?: string[];
|
|
64
|
+
providerContext?: Record<string, ProviderJSONValue>;
|
|
65
|
+
}
|
|
66
|
+
/** JSON values used in provider-specific quote metadata (including booleans and limits). */
|
|
67
|
+
export type ProviderJSONValue = string | number | boolean | null | ProviderJSONValue[] | {
|
|
68
|
+
[key: string]: ProviderJSONValue;
|
|
69
|
+
};
|
|
70
|
+
export interface PaymentDisclosure {
|
|
71
|
+
code: string;
|
|
72
|
+
version: string;
|
|
73
|
+
contentMarkdown: string;
|
|
74
|
+
contentHtml: string;
|
|
51
75
|
}
|
|
52
76
|
export interface OnramperUserPrefill {
|
|
53
77
|
email?: string;
|
|
@@ -67,6 +91,9 @@ export interface HeadlessCheckoutData {
|
|
|
67
91
|
checkoutPaymentType: CheckoutPaymentType;
|
|
68
92
|
url: string;
|
|
69
93
|
renderType: RenderType;
|
|
94
|
+
providerBootstrap?: {
|
|
95
|
+
framesBaseUrl?: string;
|
|
96
|
+
};
|
|
70
97
|
}
|
|
71
98
|
export interface CheckoutFinalizeResponse {
|
|
72
99
|
headlessCheckoutId: string;
|
|
@@ -131,6 +158,8 @@ export type OnramperState = {
|
|
|
131
158
|
url: string;
|
|
132
159
|
renderType: RenderType;
|
|
133
160
|
paymentType: CheckoutPaymentType;
|
|
161
|
+
} | {
|
|
162
|
+
kind: 'paymentPending';
|
|
134
163
|
} | {
|
|
135
164
|
kind: 'completed';
|
|
136
165
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAU,CAAC;AAErD,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG,YAAY,CAAC;AAC/D,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AAClE,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAExD,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,MAAM,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,mBAAmB,CAAC;IACjC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,11 +63,11 @@ namespace margelo::nitro::onramper::bridge::swift {
|
|
|
63
63
|
};
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
// pragma MARK: std::function<void(const std::string& /*
|
|
66
|
+
// pragma MARK: std::function<void(const std::string& /* recordJson */)>
|
|
67
67
|
Func_void_std__string create_Func_void_std__string(void* NON_NULL swiftClosureWrapper) noexcept {
|
|
68
68
|
auto swiftClosure = OnramperReactNative::Func_void_std__string::fromUnsafe(swiftClosureWrapper);
|
|
69
|
-
return [swiftClosure = std::move(swiftClosure)](const std::string&
|
|
70
|
-
swiftClosure.call(
|
|
69
|
+
return [swiftClosure = std::move(swiftClosure)](const std::string& recordJson) mutable -> void {
|
|
70
|
+
swiftClosure.call(recordJson);
|
|
71
71
|
};
|
|
72
72
|
}
|
|
73
73
|
|
|
@@ -182,22 +182,22 @@ namespace margelo::nitro::onramper::bridge::swift {
|
|
|
182
182
|
return Func_void_PreparedIntentResult_Wrapper(std::move(value));
|
|
183
183
|
}
|
|
184
184
|
|
|
185
|
-
// pragma MARK: std::function<void(const std::string& /*
|
|
185
|
+
// pragma MARK: std::function<void(const std::string& /* recordJson */)>
|
|
186
186
|
/**
|
|
187
187
|
* Specialized version of `std::function<void(const std::string&)>`.
|
|
188
188
|
*/
|
|
189
|
-
using Func_void_std__string = std::function<void(const std::string& /*
|
|
189
|
+
using Func_void_std__string = std::function<void(const std::string& /* recordJson */)>;
|
|
190
190
|
/**
|
|
191
|
-
* Wrapper class for a `std::function<void(const std::string& / *
|
|
191
|
+
* Wrapper class for a `std::function<void(const std::string& / * recordJson * /)>`, this can be used from Swift.
|
|
192
192
|
*/
|
|
193
193
|
class Func_void_std__string_Wrapper final {
|
|
194
194
|
public:
|
|
195
|
-
explicit Func_void_std__string_Wrapper(std::function<void(const std::string& /*
|
|
196
|
-
inline void call(std::string
|
|
197
|
-
_function->operator()(
|
|
195
|
+
explicit Func_void_std__string_Wrapper(std::function<void(const std::string& /* recordJson */)>&& func): _function(std::make_unique<std::function<void(const std::string& /* recordJson */)>>(std::move(func))) {}
|
|
196
|
+
inline void call(std::string recordJson) const noexcept {
|
|
197
|
+
_function->operator()(recordJson);
|
|
198
198
|
}
|
|
199
199
|
private:
|
|
200
|
-
std::unique_ptr<std::function<void(const std::string& /*
|
|
200
|
+
std::unique_ptr<std::function<void(const std::string& /* recordJson */)>> _function;
|
|
201
201
|
} SWIFT_NONCOPYABLE;
|
|
202
202
|
Func_void_std__string create_Func_void_std__string(void* NON_NULL swiftClosureWrapper) noexcept;
|
|
203
203
|
inline Func_void_std__string_Wrapper wrap_Func_void_std__string(Func_void_std__string value) noexcept {
|
|
@@ -125,6 +125,12 @@ namespace margelo::nitro::onramper {
|
|
|
125
125
|
auto __value = std::move(__result.value());
|
|
126
126
|
return __value;
|
|
127
127
|
}
|
|
128
|
+
inline void setLogListener(const std::function<void(const std::string& /* recordJson */)>& onLog) override {
|
|
129
|
+
auto __result = _swiftPart.setLogListener(onLog);
|
|
130
|
+
if (__result.hasError()) [[unlikely]] {
|
|
131
|
+
std::rethrow_exception(__result.error());
|
|
132
|
+
}
|
|
133
|
+
}
|
|
128
134
|
inline void setStateListener(const std::function<void(const std::string& /* stateJson */)>& onState) override {
|
|
129
135
|
auto __result = _swiftPart.setStateListener(onState);
|
|
130
136
|
if (__result.hasError()) [[unlikely]] {
|
|
@@ -8,21 +8,21 @@
|
|
|
8
8
|
import NitroModules
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
|
-
* Wraps a Swift `(_
|
|
11
|
+
* Wraps a Swift `(_ recordJson: String) -> Void` as a class.
|
|
12
12
|
* This class can be used from C++, e.g. to wrap the Swift closure as a `std::function`.
|
|
13
13
|
*/
|
|
14
14
|
public final class Func_void_std__string {
|
|
15
15
|
public typealias bridge = margelo.nitro.onramper.bridge.swift
|
|
16
16
|
|
|
17
|
-
private let closure: (_
|
|
17
|
+
private let closure: (_ recordJson: String) -> Void
|
|
18
18
|
|
|
19
|
-
public init(_ closure: @escaping (_
|
|
19
|
+
public init(_ closure: @escaping (_ recordJson: String) -> Void) {
|
|
20
20
|
self.closure = closure
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
@inline(__always)
|
|
24
|
-
public func call(
|
|
25
|
-
self.closure(String(
|
|
24
|
+
public func call(recordJson: std.string) -> Void {
|
|
25
|
+
self.closure(String(recordJson))
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
/**
|
|
@@ -19,6 +19,7 @@ public protocol HybridOnramperNitroSpec_protocol: HybridObject {
|
|
|
19
19
|
func signOut() throws -> Promise<Void>
|
|
20
20
|
func getCheckoutRequirements(requestJson: String, prefillJson: String, styleJson: String) throws -> Promise<PreparedIntentResult>
|
|
21
21
|
func cancelPreparedIntent(intentHandle: String) throws -> Promise<Void>
|
|
22
|
+
func setLogListener(onLog: @escaping (_ recordJson: String) -> Void) throws -> Void
|
|
22
23
|
func setStateListener(onState: @escaping (_ stateJson: String) -> Void) throws -> Void
|
|
23
24
|
func setEventListener(onEvent: @escaping (_ eventJson: String) -> Void) throws -> Void
|
|
24
25
|
func setTransactionIdListener(onTransactionId: @escaping (_ transactionId: String?) -> Void) throws -> Void
|