UNPKG

tdesign-mobile-vue

Version:
1 lines 3.23 kB
{"version":3,"file":"useQRCode.mjs","sources":["../../../src/qrcode/hooks/useQRCode.ts"],"sourcesContent":["import { computed, ComputedRef } from 'vue';\nimport type { CrossOrigin, ErrorCorrectionLevel, Excavation, ImageSettings } from '../../_common/js/qrcode/types';\nimport { ERROR_LEVEL_MAP, getImageSettings, getMarginSize } from '../../_common/js/qrcode/utils';\nimport { QrCode, QrSegment } from '../../_common/js/qrcode/qrcodegen';\n\ninterface Options {\n value: string;\n level: ErrorCorrectionLevel;\n minVersion: number;\n includeMargin: boolean;\n marginSize?: number;\n imageSettings?: ImageSettings;\n size: number;\n}\n\ninterface QRCodeResult {\n cells: ComputedRef<boolean[][]>;\n margin: ComputedRef<number>;\n numCells: ComputedRef<number>;\n calculatedImageSettings: ComputedRef<{\n x: number;\n y: number;\n h: number;\n w: number;\n excavation: Excavation | null;\n opacity: number;\n crossOrigin: CrossOrigin;\n }>;\n qrcode: ComputedRef<QrCode>;\n}\n\nexport const useQRCode = (opt: Options): QRCodeResult => {\n const { value, level, minVersion, includeMargin, marginSize, imageSettings, size } = opt;\n\n const memoizedQrcode = computed(() => {\n const segments = QrSegment.makeSegments(value);\n return QrCode.encodeSegments(segments, ERROR_LEVEL_MAP[level], minVersion);\n });\n\n const cs = computed(() => memoizedQrcode.value.getModules());\n const mg = computed(() => getMarginSize(includeMargin, marginSize));\n const cis = computed(() => getImageSettings(cs.value, size, mg.value, imageSettings));\n\n return {\n cells: cs,\n margin: mg,\n numCells: computed(() => cs.value.length + mg.value * 2),\n calculatedImageSettings: cis,\n qrcode: memoizedQrcode,\n };\n};\n"],"names":["useQRCode","opt","value","level","minVersion","includeMargin","marginSize","imageSettings","size","memoizedQrcode","computed","segments","QrSegment","makeSegments","QrCode","encodeSegments","ERROR_LEVEL_MAP","cs","getModules","mg","getMarginSize","cis","getImageSettings","cells","margin","numCells","length","calculatedImageSettings","qrcode"],"mappings":";;;;;;;;;;;;;IA+BaA,SAAA,GAAY,SAAZA,SAAAA,CAAaC,GAA+B,EAAA;AACjD,EAAA,IAAEC,QAA6ED,GAAA,CAA7EC;IAAOC,KAAO,GAA+DF,GAAA,CAAtEE,KAAO;IAAAC,UAAA,GAA+DH,GAAA,CAA/DG,UAAA;IAAYC,gBAAmDJ,GAAA,CAAnDI;IAAeC,UAAY,GAAwBL,GAAA,CAApCK,UAAY;IAAAC,aAAA,GAAwBN,GAAA,CAAxBM,aAAA;IAAeC,OAASP,GAAA,CAATO;AAEtE,EAAA,IAAAC,cAAA,GAAiBC,SAAS,YAAM;AAC9B,IAAA,IAAAC,QAAA,GAAWC,SAAU,CAAAC,YAAA,CAAaX,KAAK,CAAA,CAAA;AAC7C,IAAA,OAAOY,MAAO,CAAAC,cAAA,CAAeJ,QAAU,EAAAK,eAAA,CAAgBb,QAAQC,UAAU,CAAA,CAAA;AAC3E,GAAC,CAAA,CAAA;EAED,IAAMa,KAAKP,QAAS,CAAA,YAAA;AAAA,IAAA,OAAMD,cAAe,CAAAP,KAAA,CAAMgB,YAAY,CAAA;GAAA,CAAA,CAAA;EAC3D,IAAMC,KAAKT,QAAS,CAAA,YAAA;AAAA,IAAA,OAAMU,aAAc,CAAAf,aAAA,EAAeC,UAAU,CAAC,CAAA;GAAA,CAAA,CAAA;EAC5D,IAAAe,GAAA,GAAMX,QAAS,CAAA,YAAA;AAAA,IAAA,OAAMY,gBAAiB,CAAAL,EAAA,CAAGf,OAAOM,IAAM,EAAAW,EAAA,CAAGjB,KAAO,EAAAK,aAAa,CAAC,CAAA;GAAA,CAAA,CAAA;EAE7E,OAAA;AACLgB,IAAAA,KAAO,EAAAN,EAAA;AACPO,IAAAA,MAAQ,EAAAL,EAAA;IACRM,QAAA,EAAUf,SAAS,YAAA;MAAA,OAAMO,EAAA,CAAGf,MAAMwB,MAAS,GAAAP,EAAA,CAAGjB,QAAQ,CAAC,CAAA;KAAA,CAAA;AACvDyB,IAAAA,uBAAyB,EAAAN,GAAA;AACzBO,IAAAA,MAAQ,EAAAnB,cAAAA;GACV,CAAA;AACF;;;;"}