UNPKG

@onramp.money/onramp-react-native-sdk

Version:
64 lines (63 loc) 2.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.startOnrampSDK = exports.startOnrampLogin = exports.onRampSDKNativeEvent = exports.initiateOnrampKyc = exports.closeOnrampSDK = void 0; var _reactNative = require("react-native"); const LINKING_ERROR = `The package 'react-native-onramp' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({ ios: "- You have run 'pod install'\n", default: '' }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n'; const Onramp = _reactNative.NativeModules.OnrampSDK ? _reactNative.NativeModules.OnrampSDK : new Proxy({}, { get() { throw new Error(LINKING_ERROR); } }); const isValidPhoneNumber = phoneNumber => { const encodedRegex = /^%2[Bb]\d+-\d+$/; return encodedRegex.test(phoneNumber); }; const startOnrampSDK = config => { if (!config.appId) { throw new TypeError("'appId is missing or null.'"); } if (config.phoneNumber && !isValidPhoneNumber(config.phoneNumber)) { if (typeof config.phoneNumber !== 'string' || !isValidPhoneNumber(config.phoneNumber)) { throw new TypeError('Invalid phoneNumber format. Expected URL-encoded "+countryCode-phoneNumber" format; use encodeURIComponent to encode the phone number'); } } return Onramp.startSdk(config); }; exports.startOnrampSDK = startOnrampSDK; const startOnrampLogin = params => { if (!params.appId) { throw new TypeError("'appId is missing or null.'"); } return Onramp.startOnrampLogin(params); }; exports.startOnrampLogin = startOnrampLogin; const initiateOnrampKyc = params => { if (!params.appId) { throw new TypeError("'appId is missing or null.'"); } if (!params.payload) { throw new TypeError("'payload is missing or null.'"); } if (!params.signature) { throw new TypeError("'signature is missing or null.'"); } if (!params.customerId) { throw new TypeError("'customerId is missing or null.'"); } if (!params.apiKey) { throw new TypeError("'apiKey is missing or null.'"); } return Onramp.initiateOnrampKyc(params); }; exports.initiateOnrampKyc = initiateOnrampKyc; const closeOnrampSDK = () => { return Onramp.closeSdk(); }; exports.closeOnrampSDK = closeOnrampSDK; const onRampSDKNativeEvent = exports.onRampSDKNativeEvent = new _reactNative.NativeEventEmitter(_reactNative.NativeModules.OnrampSDK); //# sourceMappingURL=index.js.map