tdesign-vue
Version:
48 lines (44 loc) • 1.44 kB
JavaScript
/**
* tdesign v1.15.0
* (c) 2026 tdesign
* @license MIT
*/
import { computed } from '@vue/composition-api';
import { ERROR_LEVEL_MAP, getMarginSize, getImageSettings } from '../../_common/js/qrcode/utils.js';
import { QrSegment, QrCode } from '../../_common/js/qrcode/qrcodegen.js';
import '@babel/runtime/helpers/classCallCheck';
import '@babel/runtime/helpers/createClass';
import '@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 = computed(function () {
var segments = QrSegment.makeSegments(value);
return QrCode.encodeSegments(segments, ERROR_LEVEL_MAP[level], minVersion);
});
var cs = computed(function () {
return memoizedQrcode.value.getModules();
});
var mg = computed(function () {
return getMarginSize(includeMargin, marginSize);
});
var cis = computed(function () {
return getImageSettings(cs.value, size, mg.value, imageSettings);
});
return {
cells: cs,
margin: mg,
numCells: computed(function () {
return cs.value.length + mg.value * 2;
}),
calculatedImageSettings: cis,
qrcode: memoizedQrcode
};
};
export { useQRCode as default, useQRCode };
//# sourceMappingURL=useQRCode.js.map