UNPKG

react-hooks-toolbox

Version:

React hooks toolbox

36 lines (29 loc) 1.28 kB
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 }; }