UNPKG

airbridge-react-native-sdk

Version:

Airbridge SDK for React Native

138 lines 4.04 kB
import { NativeModules } from 'react-native'; import { createInteractor } from '../architecture/Interactor'; import { check } from '../utility/check'; import { log } from '../utility/log'; import { checkJSONElement, createJSONElement } from '../utility/json'; export const createDependency = () => { }; createDependency.RegisterModule = () => ({ interactor: createInteractor(NativeModules.RegisterInteractor), }); export const createRegisterModule = () => { // create dependency const { interactor } = createDependency.RegisterModule(); // define method const setUserID = (id) => { if (!check.string(id)) { log.unmatchedType('id', 'string'); return; } interactor.setUserID(id); }; const clearUserID = () => { interactor.clearUserID(); }; const setUserEmail = (email) => { if (!check.string(email)) { log.unmatchedType('email', 'string'); return; } interactor.setUserEmail(email); }; const clearUserEmail = () => { interactor.clearUserEmail(); }; const setUserPhone = (phone) => { if (!check.string(phone)) { log.unmatchedType('phone', 'string'); return; } interactor.setUserPhone(phone); }; const clearUserPhone = () => { interactor.clearUserPhone(); }; const setUserAttribute = (key, value) => { if (!check.string(key)) { log.unmatchedType('key', 'string'); return; } if (check.defined(value) && !checkJSONElement(value)) { log.nonJSONValue('value'); value = createJSONElement(value); } interactor.setUserAttribute({ key, value }); }; const removeUserAttribute = (key) => { if (!check.string(key)) { log.unmatchedType('key', 'string'); return; } interactor.removeUserAttribute(key); }; const clearUserAttributes = () => { interactor.clearUserAttributes(); }; const setUserAlias = (key, value) => { if (!check.string(key)) { log.unmatchedType('key', 'string'); return; } if (!check.string(value)) { log.unmatchedType('value', 'string'); return; } interactor.setUserAlias(key, value); }; const removeUserAlias = (key) => { if (!check.string(key)) { log.unmatchedType('key', 'string'); return; } interactor.removeUserAlias(key); }; const clearUserAlias = () => { interactor.clearUserAlias(); }; const clearUser = () => { interactor.clearUser(); }; const setDeviceAlias = (key, value) => { if (!check.string(key)) { log.unmatchedType('key', 'string'); return; } if (!check.string(value)) { log.unmatchedType('value', 'string'); return; } interactor.setDeviceAlias(key, value); }; const removeDeviceAlias = (key) => { if (!check.string(key)) { log.unmatchedType('key', 'string'); return; } interactor.removeDeviceAlias(key); }; const clearDeviceAlias = () => { interactor.clearDeviceAlias(); }; const registerPushToken = (token) => { if (!check.string(token)) { log.unmatchedType('token', 'string'); return; } interactor.registerPushToken(token); }; // create object return { setUserID, clearUserID, setUserEmail, clearUserEmail, setUserPhone, clearUserPhone, setUserAttribute, removeUserAttribute, clearUserAttributes, setUserAlias, removeUserAlias, clearUserAlias, clearUser, setDeviceAlias, removeDeviceAlias, clearDeviceAlias, registerPushToken, }; }; //# sourceMappingURL=Register.js.map