react-native-esc-pos-printer
Version:
An unofficial React Native library for printing on an EPSON TM printer with the Epson ePOS SDK for iOS and Epson ePOS SDK for Android
60 lines (59 loc) • 1.84 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.usePrintersDiscovery = usePrintersDiscovery;
var _react = require("react");
var _PrintersDiscovery = require("../PrintersDiscovery.js");
function usePrintersDiscovery() {
const [printers, setPrinters] = (0, _react.useState)([]);
const [isDiscovering, setIsDescovering] = (0, _react.useState)(false);
const [printerError, setPrinterError] = (0, _react.useState)(null);
(0, _react.useEffect)(() => {
const removeListener = _PrintersDiscovery.PrintersDiscovery.onDiscovery(deviceInfo => {
setPrinters(deviceInfo);
});
return () => {
removeListener();
};
}, []);
(0, _react.useEffect)(() => {
const removeListener = _PrintersDiscovery.PrintersDiscovery.onStatusChange(status => {
const isNextDiscovering = status === 'discovering';
if (isNextDiscovering) {
setPrinters([]);
setPrinterError(null);
}
setIsDescovering(isNextDiscovering);
});
return () => {
removeListener();
};
}, []);
(0, _react.useEffect)(() => {
const removeListener = _PrintersDiscovery.PrintersDiscovery.onError(error => {
setPrinterError(error);
});
return () => {
removeListener();
};
}, []);
const start = (0, _react.useCallback)(params => {
_PrintersDiscovery.PrintersDiscovery.start(params);
}, []);
const stop = (0, _react.useCallback)(() => {
_PrintersDiscovery.PrintersDiscovery.stop();
}, []);
const pairBluetoothDevice = (0, _react.useCallback)(async macAddress => {
await _PrintersDiscovery.PrintersDiscovery.pairBluetoothDevice(macAddress);
}, []);
return {
printers,
isDiscovering,
printerError,
start,
stop,
pairBluetoothDevice
};
}
//# sourceMappingURL=usePrintersDiscovery.js.map