react-hooks-toolbox
Version:
React hooks toolbox
36 lines (29 loc) • 1.28 kB
JavaScript
import { useState, useEffect } from "react";
import { getDymoUrl, dymoAxios, getDymoPrintersFromXml } from "../utils/dymo";
import { useAxiosGet } from "../useAxiosGet";
export function useDymoFetchPrinters(statusDymoService) {
var modelPrinter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "LabelWriterPrinter";
var port = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 41951;
var _useState = useState([]),
printers = _useState[0],
setPrinters = _useState[1];
var _useState2 = useState("init"),
innerStatus = _useState2[0],
setInnerStatus = _useState2[1];
var _useAxiosGet = useAxiosGet({
url: getDymoUrl("GetPrinters", port),
axiosInstance: dymoAxios,
onlyDispatchIf: statusDymoService === "success"
}),
status = _useAxiosGet.status,
response = _useAxiosGet.response;
useEffect(function () {
if (status === "success" && response) {
setPrinters(getDymoPrintersFromXml(response, modelPrinter));
setInnerStatus(status);
} else {
setInnerStatus(status);
}
}, [modelPrinter, response, status]);
return { statusDymoFetchPrinters: innerStatus, printers: printers };
}