tdesign-mobile-vue
Version:
tdesign-mobile-vue
52 lines (46 loc) • 1.63 kB
JavaScript
/**
* tdesign v1.13.2
* (c) 2026 TDesign Group
* @license MIT
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var Vue = require('vue');
var _common_js_qrcode_utils = require('../../_common/js/qrcode/utils.js');
var _common_js_qrcode_qrcodegen = require('../../_common/js/qrcode/qrcodegen.js');
require('@babel/runtime/helpers/classCallCheck');
require('@babel/runtime/helpers/createClass');
require('@babel/runtime/helpers/defineProperty');
var useQRCode = function useQRCode(opt) {
var value = opt.value,
level = opt.level,
minVersion = opt.minVersion,
includeMargin = opt.includeMargin,
marginSize = opt.marginSize,
imageSettings = opt.imageSettings,
size = opt.size;
var memoizedQrcode = Vue.computed(function () {
var segments = _common_js_qrcode_qrcodegen.QrSegment.makeSegments(value);
return _common_js_qrcode_qrcodegen.QrCode.encodeSegments(segments, _common_js_qrcode_utils.ERROR_LEVEL_MAP[level], minVersion);
});
var cs = Vue.computed(function () {
return memoizedQrcode.value.getModules();
});
var mg = Vue.computed(function () {
return _common_js_qrcode_utils.getMarginSize(includeMargin, marginSize);
});
var cis = Vue.computed(function () {
return _common_js_qrcode_utils.getImageSettings(cs.value, size, mg.value, imageSettings);
});
return {
cells: cs,
margin: mg,
numCells: Vue.computed(function () {
return cs.value.length + mg.value * 2;
}),
calculatedImageSettings: cis,
qrcode: memoizedQrcode
};
};
exports.useQRCode = useQRCode;
//# sourceMappingURL=useQRCode.js.map