UNPKG

react-native-adhoc

Version:
161 lines (142 loc) 3.65 kB
import React, { NativeModules } from 'react-native'; const RNAdhoc = NativeModules.RNAdhoc; export default class AdhocSDK { /** * iOS Only */ static getFlag(flagName, defaultValue, callback) { RNAdhoc.getFlag(flagName, defaultValue, (error, flagValue) => { if (error) { console.error(error); } else { callback(flagValue); } }) } /** * Android Only */ static getNumberFlag(flagName, defaultNumber, callback) { RNAdhoc.getNumberFlag(flagName, defaultNumber, (flagValue) => { callback(flagValue); }) } /** * Android Only */ static getStringFlag(flagName, defaultString, callback) { RNAdhoc.getStringFlag(flagName, defaultString, (flagValue) => { callback(flagValue); }) } /** * Android Only */ static getBooleanFlag(flagName, defaultBooleanValue, callback) { RNAdhoc.getBooleanFlag(flagName, defaultBooleanValue, (flagValue) => { callback(flagValue); }) } /** * iOS Only */ static getFlagFast(flagName, defaultValue, callback) { RNAdhoc.getFlagFast(flagName, defaultValue, 30000, (error, flagValue) => { if (error) { console.error(error); } else { callback(flagValue); } }) } /** * iOS only */ static asynchronousGetFlag(flagName, defaultValue, callback) { RNAdhoc.asynchronousGetFlag(flagName, defaultValue, 30000, (error, flagValue) => { if (error) { console.error(error); } else { callback(flagValue); } }); } /** * Android only */ static fastGetNumberFlag(flagName, defaultNumberValue, callback) { RNAdhoc.getFlagFast(flagName, defaultNumberValue, (value) => { callback(value); }); } /** * Android only */ static fastGetBooleanFlag(flagName, defaultBooleanValue, callback) { RNAdhoc.getFlagFast(flagName, defaultBooleanValue, (value) => { callback(value); }); } /** * Android only */ static fastGetStringFlag(flagName, defaultStringValue, callback) { RNAdhoc.getFlagFast(flagName, defaultStringValue, (value) => { callback(value); }); } /** * Android only */ static asynchronousGetNumberFlag(flagName, defaultNumberValue, callback) { RNAdhoc.asynchronousGetNumberFlag(flagName, defaultNumberValue, (value) => { callback(value); }); } /** * Android only */ static asynchronousGetBooleanFlag(flagName, defaultBooleanValue, callback) { RNAdhoc.asynchronousGetBooleanFlag(flagName, defaultBooleanValue, (value) => { callback(value); }); } /** * Android only */ static asynchronousGetStringFlag(flagName, defaultStringValue, callback) { RNAdhoc.asynchronousGetStringFlag(flagName, defaultStringValue, (value) => { callback(value); }); } static track(key, value) { RNAdhoc.track(key, value) } static trackWithAttribute(key, value, attribute) { RNAdhoc.trackWithAttribute(key, value, attribute); } /** * Android only */ static addUserAttribute(key,value) { RNAdhoc.addUserAttribute(key,value); } static trackWithAttributie(key, value, attribute) { RNAdhoc.trackWithAttribute(key, value, attribute); } static getCurrentExperiments(callback) { RNAdhoc.getCurrentExperiments(experiments => { callback(experiments); }); } static isJoinedExperimentByFlagName(key,callback) { RNAdhoc.isJoinedExperimentByFlagName(key,isJoined => { callback(isJoined); }); } static getClientId(callback) { RNAdhoc.getClientId(clientId => { callback(clientId); }); } }