@kaarot_kalel_90/react-native-tuya
Version:
React Native bindings for the Tuya SDK 6.11 (Device Panel included)
327 lines (312 loc) • 10.3 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var reactNative = require('react-native');
var tuya = reactNative.NativeModules.TuyaActivatorModule;
var tuyaBLEActivator = reactNative.NativeModules.TuyaBLEActivatorModule;
var tuyaBLEScanner = reactNative.NativeModules.TuyaBLEScannerModule;
function openNetworkSettings() {
return tuya.openNetworkSettings({});
}
(function (ActivatorType) {
ActivatorType["AP"] = "THING_AP";
ActivatorType["EZ"] = "THING_EZ";
ActivatorType["AP_4G_GATEWAY"] = "THING_4G_GATEWAY";
ActivatorType["QR"] = "THING_QR";
})(exports.ActivatorType || (exports.ActivatorType = {}));
function initActivator(params) {
return tuya.initActivator(params);
}
function stopConfig() {
return tuya.stopConfig();
}
function startBluetoothScan() {
if (reactNative.Platform.OS === 'ios') {
return tuyaBLEScanner.startBluetoothScan();
}
return tuya.startBluetoothScan();
}
function initBluetoothDualModeActivator(params) {
if (reactNative.Platform.OS === 'ios') {
return tuyaBLEActivator.initActivator(params);
}
return tuya.initBluetoothDualModeActivator(params);
}
function newGwSubDevActivator(params) {
return tuya.newGwSubDevActivator(params);
}
function startBleDevicePairing(params) {
if (reactNative.Platform.OS === 'ios') {
return tuyaBLEActivator.initActivator(params); //TODO check if for ios is working!
}
return tuya.startBleDevicePairing(params);
}
function getCurrentWifi(success, error) {
// We need the Allow While Using App location permission to use this.
return tuya.getCurrentWifi({}, success, error);
}
function stopBluetoothScan() {
if (reactNative.Platform.OS === 'ios') {
return tuyaBLEScanner.stopBluetoothScan();
}
return tuya.stopBluetoothScan();
}
var GROUPLISTENER = 'groupListener';
var HARDWAREUPGRADELISTENER = 'hardwareUpgradeListener';
var DEVLISTENER = 'devListener';
var SUBDEVLISTENER = 'subDevListener';
var HOMESTATUS = 'homeStatus';
var HOMECHANGE = 'homeChange';
var SINGLETRANSFER = 'SingleTransfer';
var eventEmitter = /*#__PURE__*/new reactNative.NativeEventEmitter(reactNative.NativeModules.TuyaRNEventEmitter);
function addEvent(eventName, callback) {
return eventEmitter.addListener(eventName, callback);
}
var bridge = function bridge(key, id) {
return key + "//" + id;
};
var tuya$1 = reactNative.NativeModules.TuyaDeviceModule;
var devListenerSubs = {};
function registerDevListener(params, type, callback) {
tuya$1.registerDevListener(params);
var sub = addEvent(bridge(DEVLISTENER, params.devId), function (data) {
if (data.type === type) {
callback(data);
}
});
devListenerSubs[params.devId] = sub;
}
function unRegisterAllDevListeners() {
for (var devId in devListenerSubs) {
var sub = devListenerSubs[devId];
sub.remove();
tuya$1.unRegisterDevListener({
devId: devId
});
}
devListenerSubs = {};
}
function send(params) {
return tuya$1.send(params);
}
function removeDevice(params) {
return tuya$1.removeDevice(params);
}
function renameDevice(params) {
return tuya$1.renameDevice(params);
}
function getDataPointStat(params) {
return tuya$1.getDataPointStat(params);
}
function openDevicePanel(devId) {
return reactNative.NativeModules.ThingCoreModule.openDevicePanel(devId);
}
var tuya$2 = reactNative.NativeModules.TuyaHomeModule;
function queryRoomList(params) {
return tuya$2.queryRoomList(params);
}
function getHomeDetail(params) {
return tuya$2.getHomeDetail(params);
}
function updateHome(params) {
return tuya$2.updateHome(params);
}
function dismissHome(params) {
return tuya$2.dismissHome(params);
}
function sortRoom(params) {
return tuya$2.sortRoom(params);
}
var tuya$3 = reactNative.NativeModules.TuyaHomeDataManagerModule;
function getRoomDeviceList(params) {
return tuya$3.getRoomDeviceList(params);
}
function _extends() {
return _extends = Object.assign ? Object.assign.bind() : function (n) {
for (var e = 1; e < arguments.length; e++) {
var t = arguments[e];
for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
}
return n;
}, _extends.apply(null, arguments);
}
var queryHomeList = function queryHomeList() {
try {
return Promise.resolve(tuya$4.queryHomeList()).then(function (homes) {
// Tuya's Android SDK uses different property names than the iOS SDK...
if (reactNative.Platform.OS === 'android') {
homes = homes.map(function (m) {
return _extends({}, m, {
dealStatus: m.homeStatus
});
});
}
return homes;
});
} catch (e) {
return Promise.reject(e);
}
};
var tuya$4 = reactNative.NativeModules.TuyaHomeManagerModule;
function createHome(params) {
return tuya$4.createHome(params);
}
function joinFamily(params) {
return tuya$4.joinFamily(params);
}
var queryMemberList = function queryMemberList(params) {
try {
return Promise.resolve(tuya$5.queryMemberList(params)).then(function (members) {
// Tuya's Android SDK uses different property names than the iOS SDK...
if (reactNative.Platform.OS === 'android') {
members = members.map(function (m) {
return {
admin: m.admin,
username: m.account,
id: m.memberId,
dealStatus: m.memberStatus
};
});
}
return members;
});
} catch (e) {
return Promise.reject(e);
}
};
var tuya$5 = reactNative.NativeModules.TuyaHomeMemberModule;
function addMember(params) {
return tuya$5.addMember(params);
}
function removeMember(params) {
return tuya$5.removeMember(params);
}
var tuya$6 = reactNative.NativeModules.TuyaDeviceModule;
function startOta(params, onSuccess, onFailure, onProgress) {
tuya$6.startOta(params);
return addEvent(bridge(HARDWAREUPGRADELISTENER, params.devId), function (data) {
if (data.type === 'onSuccess') {
onSuccess(data);
} else if (data.type === 'onFailure') {
onFailure(data);
} else if (data.type === 'onProgress') {
onProgress(data);
}
});
}
function getOtaInfo(params) {
return tuya$6.getOtaInfo(params);
}
var getAllTimerWithDeviceId = function getAllTimerWithDeviceId(params) {
try {
return Promise.resolve(tuya$7.getAllTimerWithDeviceId(params)).then(function (timers) {
timers.forEach(function (t) {
t.timerTaskStatus.open = !!t.timerTaskStatus.open;
});
return timers;
});
} catch (e) {
return Promise.reject(e);
}
};
var tuya$7 = reactNative.NativeModules.TuyaTimerModule;
function addTimerWithTask(params) {
return tuya$7.addTimerWithTask(params);
}
function updateTimerWithTask(params) {
return tuya$7.updateTimerWithTask(params);
}
function getTimerTaskStatusWithDeviceId(params) {
return tuya$7.getTimerTaskStatusWithDeviceId(params);
}
function removeTimerWithTask(params) {
return tuya$7.removeTimerWithTask(params);
}
function updateTimerStatusWithTask(params) {
return tuya$7.updateTimerStatusWithTask(params);
}
var getCurrentUser = function getCurrentUser() {
try {
return Promise.resolve(tuya$8.getCurrentUser()).then(function (user) {
// The iOS SDK returns an empty user model but the Android one doesn't.
return user && user.email ? user : null;
});
} catch (e) {
return Promise.reject(e);
}
};
var tuya$8 = reactNative.NativeModules.TuyaUserModule;
function registerAccountWithEmail(params) {
return tuya$8.registerAccountWithEmail(params);
}
function getRegisterEmailValidateCode(params) {
return tuya$8.getRegisterEmailValidateCode(params);
}
function loginWithEmail(params) {
return tuya$8.loginWithEmail(params);
}
function getEmailValidateCode(params) {
return tuya$8.getEmailValidateCode(params);
}
function resetEmailPassword(params) {
return tuya$8.resetEmailPassword(params);
}
function logout() {
return tuya$8.logout();
}
function cancelAccount() {
return tuya$8.cancelAccount();
}
exports.DEVLISTENER = DEVLISTENER;
exports.GROUPLISTENER = GROUPLISTENER;
exports.HARDWAREUPGRADELISTENER = HARDWAREUPGRADELISTENER;
exports.HOMECHANGE = HOMECHANGE;
exports.HOMESTATUS = HOMESTATUS;
exports.SINGLETRANSFER = SINGLETRANSFER;
exports.SUBDEVLISTENER = SUBDEVLISTENER;
exports.addEvent = addEvent;
exports.addMember = addMember;
exports.addTimerWithTask = addTimerWithTask;
exports.bridge = bridge;
exports.cancelAccount = cancelAccount;
exports.createHome = createHome;
exports.dismissHome = dismissHome;
exports.getAllTimerWithDeviceId = getAllTimerWithDeviceId;
exports.getCurrentUser = getCurrentUser;
exports.getCurrentWifi = getCurrentWifi;
exports.getDataPointStat = getDataPointStat;
exports.getEmailValidateCode = getEmailValidateCode;
exports.getHomeDetail = getHomeDetail;
exports.getOtaInfo = getOtaInfo;
exports.getRegisterEmailValidateCode = getRegisterEmailValidateCode;
exports.getRoomDeviceList = getRoomDeviceList;
exports.getTimerTaskStatusWithDeviceId = getTimerTaskStatusWithDeviceId;
exports.initActivator = initActivator;
exports.initBluetoothDualModeActivator = initBluetoothDualModeActivator;
exports.joinFamily = joinFamily;
exports.loginWithEmail = loginWithEmail;
exports.logout = logout;
exports.newGwSubDevActivator = newGwSubDevActivator;
exports.openDevicePanel = openDevicePanel;
exports.openNetworkSettings = openNetworkSettings;
exports.queryHomeList = queryHomeList;
exports.queryMemberList = queryMemberList;
exports.queryRoomList = queryRoomList;
exports.registerAccountWithEmail = registerAccountWithEmail;
exports.registerDevListener = registerDevListener;
exports.removeDevice = removeDevice;
exports.removeMember = removeMember;
exports.removeTimerWithTask = removeTimerWithTask;
exports.renameDevice = renameDevice;
exports.resetEmailPassword = resetEmailPassword;
exports.send = send;
exports.sortRoom = sortRoom;
exports.startBleDevicePairing = startBleDevicePairing;
exports.startBluetoothScan = startBluetoothScan;
exports.startOta = startOta;
exports.stopBluetoothScan = stopBluetoothScan;
exports.stopConfig = stopConfig;
exports.unRegisterAllDevListeners = unRegisterAllDevListeners;
exports.updateHome = updateHome;
exports.updateTimerStatusWithTask = updateTimerStatusWithTask;
exports.updateTimerWithTask = updateTimerWithTask;
//# sourceMappingURL=react-native-tuya.cjs.development.js.map