require("../../../_virtual/_rolldown/runtime.js");
const require_useEngineContext = require("../../../hooks/useEngineContext.js");
let react = require("react");
//#region src/components/pisellInformationEntry/hooks/useNativeScanner.ts
const useNativeScanner = (onChange) => {
	var _context$appHelper, _interaction$utils3, _interaction$utils3$i;
	const { interaction, isTerminal } = ((_context$appHelper = require_useEngineContext.default().appHelper) === null || _context$appHelper === void 0 ? void 0 : _context$appHelper.utils) || {};
	(0, react.useEffect)(() => {
		var _interaction$utils, _interaction$utils$mo;
		interaction === null || interaction === void 0 || (_interaction$utils = interaction.utils) === null || _interaction$utils === void 0 || (_interaction$utils$mo = _interaction$utils.mountFunction) === null || _interaction$utils$mo === void 0 || _interaction$utils$mo.call(_interaction$utils, "global", "nativeScannerResult", (strVal) => {
			try {
				const val = JSON.parse(strVal);
				onChange === null || onChange === void 0 || onChange(val.value);
			} catch (err) {
				console.error(err);
			}
		});
	}, []);
	return {
		activeNativeScanner: (0, react.useCallback)(() => {
			var _interaction$utils2, _interaction$utils2$p;
			interaction === null || interaction === void 0 || (_interaction$utils2 = interaction.utils) === null || _interaction$utils2 === void 0 || (_interaction$utils2$p = _interaction$utils2.postMessageToApp) === null || _interaction$utils2$p === void 0 || _interaction$utils2$p.call(_interaction$utils2, {
				module: "global",
				key: "active_native_scanner",
				data: { source: "pisellInformationEntry" }
			});
		}, []),
		isTerminal: isTerminal && isTerminal() || (interaction === null || interaction === void 0 || (_interaction$utils3 = interaction.utils) === null || _interaction$utils3 === void 0 || (_interaction$utils3$i = _interaction$utils3.isAppEnv) === null || _interaction$utils3$i === void 0 ? void 0 : _interaction$utils3$i.call(_interaction$utils3))
	};
};
//#endregion
exports.useNativeScanner = useNativeScanner;
