UNPKG

mobile-native-barcode-generator

Version:

Library to generate barcodes and qr codes natively using Kotlin and Swift, integrated with react native.

56 lines (55 loc) 1.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = BarcodeView; var _react = require("react"); var _reactNative = require("react-native"); var _generateBarcode = _interopRequireDefault(require("../generateBarcode.js")); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function BarcodeView({ testID, value, width, height, style, onLoad, onError }) { const [barcode, setBarcode] = (0, _react.useState)(""); if (value === "") { throw new Error("Value cannot be empty"); } if (width <= 0 || typeof width !== "number") { throw new Error("Width must be a positive number"); } if (height <= 0 || typeof height !== "number") { throw new Error("Height must be a positive number"); } (0, _react.useEffect)(() => { async function waitFor() { const barcodeGeneradet = await (0, _generateBarcode.default)(value, width, height); setBarcode(barcodeGeneradet); } waitFor(); return () => { setBarcode(""); }; }, [height, value, width]); return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, { children: barcode && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, { testID: testID, source: { uri: barcode }, style: [{ width, height }, style], onLoad: onLoad, onError: onError }) }); } //# sourceMappingURL=BarcodeView.js.map