@weapp-vite/qr 1.1.10 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,5 +1,4 @@
1
1
  import { Buffer } from "node:buffer";
2
- //#region src/codeType.d.ts
3
2
  /** QRCodeType 的类型定义。 */
4
3
  type QRCodeType = 'qr' | 'mini-program-code' | 'unknown';
5
4
  /** detectCodeTypeFromBuffer 的方法封装。 */
@@ -8,16 +7,12 @@ export declare function detectCodeTypeFromBuffer(buffer: Buffer): Promise<"qr" |
8
7
  export declare function detectCodeTypeFromBase64(content: string): Promise<"qr" | "mini-program-code" | "unknown">;
9
8
  /** detectCodeTypeFromFile 的方法封装。 */
10
9
  export declare function detectCodeTypeFromFile(filePath: string): Promise<"qr" | "mini-program-code" | "unknown">;
11
- //#endregion
12
- //#region src/decode.d.ts
13
10
  /** decodeQrCodeFromBuffer 的方法封装。 */
14
11
  export declare function decodeQrCodeFromBuffer(buffer: Buffer): Promise<string>;
15
12
  /** decodeQrCodeFromBase64 的方法封装。 */
16
13
  export declare function decodeQrCodeFromBase64(content: string): Promise<string>;
17
14
  /** decodeQrCodeFromFile 的方法封装。 */
18
15
  export declare function decodeQrCodeFromFile(filePath: string): Promise<string>;
19
- //#endregion
20
- //#region src/types.d.ts
21
16
  /**
22
17
  * @file 二维码内部类型定义。
23
18
  */
@@ -27,12 +22,8 @@ interface QRCodeRenderOptions {
27
22
  }
28
23
  /** QRCodeMatrix 的类型定义。 */
29
24
  type QRCodeMatrix = boolean[][];
30
- //#endregion
31
- //#region src/encode.d.ts
32
25
  /** createQrCodeMatrix 的方法封装。 */
33
26
  export declare function createQrCodeMatrix(input: string): QRCodeMatrix;
34
- //#endregion
35
- //#region src/miniProgramCode.d.ts
36
27
  interface MiniProgramCodePoint {
37
28
  x: number;
38
29
  y: number;
@@ -113,8 +104,6 @@ export declare function detectMiniProgramCodeFromFile(filePath: string): Promise
113
104
  height: number;
114
105
  } | undefined;
115
106
  } | null>;
116
- //#endregion
117
- //#region src/reader/core/types.d.ts
118
107
  /** QRCodeReaderResult 的类型定义。 */
119
108
  interface QRCodeReaderResult {
120
109
  result: string;
@@ -131,15 +120,10 @@ interface QRCodeReaderInstance {
131
120
  }
132
121
  /** QRCodeReaderConstructor 的类型定义。 */
133
122
  type QRCodeReaderConstructor = new () => QRCodeReaderInstance;
134
- //#endregion
135
- //#region src/reader/decode.d.ts
136
123
  /** decodeWithQrReader 的方法封装。 */
137
124
  export declare function decodeWithQrReader(input: QRCodeReaderInput): Promise<QRCodeReaderResult>;
138
- //#endregion
139
- //#region src/render.d.ts
140
125
  /** renderTerminalQrCodeFromMatrix 的方法封装。 */
141
126
  export declare function renderTerminalQrCodeFromMatrix(matrix: QRCodeMatrix, options?: QRCodeRenderOptions): string;
142
127
  /** renderTerminalQrCode 的方法封装。 */
143
128
  export declare function renderTerminalQrCode(input: string, options?: QRCodeRenderOptions): string;
144
- //#endregion
145
129
  export type { MiniProgramCodeDetectionResult, QRCodeMatrix, QRCodeReaderConstructor, QRCodeReaderInput, QRCodeReaderInstance, QRCodeReaderResult, QRCodeRenderOptions, QRCodeType };
package/dist/index.mjs CHANGED
@@ -1,14 +1,13 @@
1
1
  import { Buffer } from "node:buffer";
2
2
  import { readFile } from "node:fs/promises";
3
3
  import sharp from "sharp";
4
- //#region src/reader/core/result.ts
4
+ // src/reader/core/result.ts
5
5
  /** normalizeQrCodeReaderResult 的方法封装。 */
6
6
  function normalizeQrCodeReaderResult(value) {
7
7
  if (value && typeof value === "object" && "result" in value && typeof value.result === "string") return value;
8
8
  throw new TypeError("Invalid QR code reader result");
9
9
  }
10
- //#endregion
11
- //#region src/reader/parse/bitmat.ts
10
+ // src/reader/parse/bitmat.ts
12
11
  /**
13
12
  * @file 二维码解析内部模块:bitmat。
14
13
  */
@@ -59,8 +58,7 @@ var BitMatrix = class {
59
58
  }
60
59
  }
61
60
  };
62
- //#endregion
63
- //#region src/reader/parse/errorlevel.ts
61
+ // src/reader/parse/errorlevel.ts
64
62
  /**
65
63
  * @file 二维码解析内部模块:errorlevel。
66
64
  */
@@ -83,8 +81,7 @@ var ErrorCorrectionLevel = class {
83
81
  }
84
82
  };
85
83
  FOR_BITS.push(new ErrorCorrectionLevel(1, 0, "M"), new ErrorCorrectionLevel(0, 1, "L"), new ErrorCorrectionLevel(3, 2, "H"), new ErrorCorrectionLevel(2, 3, "Q"));
86
- //#endregion
87
- //#region src/reader/parse/formatinf.ts
84
+ // src/reader/parse/formatinf.ts
88
85
  /**
89
86
  * @file 二维码解析内部模块:formatinf。
90
87
  */
@@ -180,8 +177,7 @@ var FormatInformation = class FormatInformation {
180
177
  return this.errorCorrectionLevel === o.errorCorrectionLevel && this.dataMask === o.dataMask;
181
178
  }
182
179
  };
183
- //#endregion
184
- //#region src/reader/parse/version.ts
180
+ // src/reader/parse/version.ts
185
181
  /**
186
182
  * @file 二维码解析内部模块:version。
187
183
  */
@@ -575,8 +571,7 @@ function buildVersions() {
575
571
  ];
576
572
  }
577
573
  Version.VERSIONS = buildVersions();
578
- //#endregion
579
- //#region src/reader/detect/alignpat.ts
574
+ // src/reader/detect/alignpat.ts
580
575
  var AlignmentPattern = class {
581
576
  x;
582
577
  y;
@@ -729,8 +724,7 @@ var AlignmentPatternFinder = class {
729
724
  throw new Error("Couldn't find enough alignment patterns");
730
725
  }
731
726
  };
732
- //#endregion
733
- //#region src/reader/detect/findpat.ts
727
+ // src/reader/detect/findpat.ts
734
728
  /**
735
729
  * @file 二维码解析内部模块:findpat。
736
730
  */
@@ -1106,8 +1100,7 @@ var FinderPatternFinder = class {
1106
1100
  return new FinderPatternInfo(patternInfo);
1107
1101
  }
1108
1102
  };
1109
- //#endregion
1110
- //#region src/reader/detect/grid.ts
1103
+ // src/reader/detect/grid.ts
1111
1104
  /**
1112
1105
  * @file 二维码解析内部模块:grid。
1113
1106
  */
@@ -1179,8 +1172,7 @@ const GridSampler = {
1179
1172
  return bits;
1180
1173
  }
1181
1174
  };
1182
- //#endregion
1183
- //#region src/reader/detect/detector.ts
1175
+ // src/reader/detect/detector.ts
1184
1176
  var PerspectiveTransform = class PerspectiveTransform {
1185
1177
  static quadrilateralToQuadrilateral(x0, y0, x1, y1, x2, y2, x3, y3, x0p, y0p, x1p, y1p, x2p, y2p, x3p, y3p) {
1186
1178
  const qToS = PerspectiveTransform.quadrilateralToSquare(x0, y0, x1, y1, x2, y2, x3, y3);
@@ -1414,8 +1406,7 @@ var Detector = class {
1414
1406
  return this.processFinderPatternInfo(info);
1415
1407
  }
1416
1408
  };
1417
- //#endregion
1418
- //#region src/reader/error-correction/gf256poly.ts
1409
+ // src/reader/error-correction/gf256poly.ts
1419
1410
  var GF256Poly = class GF256Poly {
1420
1411
  field;
1421
1412
  coefficients;
@@ -1519,8 +1510,7 @@ var GF256Poly = class GF256Poly {
1519
1510
  return [quotient, remainder];
1520
1511
  }
1521
1512
  };
1522
- //#endregion
1523
- //#region src/reader/error-correction/gf256.ts
1513
+ // src/reader/error-correction/gf256.ts
1524
1514
  /**
1525
1515
  * @file 二维码解析内部模块:gf256。
1526
1516
  */
@@ -1580,8 +1570,7 @@ var GF256 = class {
1580
1570
  };
1581
1571
  GF256.QR_CODE_FIELD = new GF256(285);
1582
1572
  GF256.DATA_MATRIX_FIELD = new GF256(301);
1583
- //#endregion
1584
- //#region src/reader/error-correction/rsdecoder.ts
1573
+ // src/reader/error-correction/rsdecoder.ts
1585
1574
  var ReedSolomonDecoder = class {
1586
1575
  field;
1587
1576
  constructor(field) {
@@ -1673,8 +1662,7 @@ var ReedSolomonDecoder = class {
1673
1662
  return result;
1674
1663
  }
1675
1664
  };
1676
- //#endregion
1677
- //#region src/reader/parse/datamask.ts
1665
+ // src/reader/parse/datamask.ts
1678
1666
  /**
1679
1667
  * @file 二维码解析内部模块:datamask。
1680
1668
  */
@@ -1709,8 +1697,7 @@ const DataMask = {
1709
1697
  return DATA_MASKS[reference];
1710
1698
  }
1711
1699
  };
1712
- //#endregion
1713
- //#region src/reader/parse/bmparser.ts
1700
+ // src/reader/parse/bmparser.ts
1714
1701
  var BitMatrixParser = class {
1715
1702
  bitMatrix;
1716
1703
  parsedVersion;
@@ -1793,8 +1780,7 @@ var BitMatrixParser = class {
1793
1780
  return result;
1794
1781
  }
1795
1782
  };
1796
- //#endregion
1797
- //#region src/reader/parse/datablock.ts
1783
+ // src/reader/parse/datablock.ts
1798
1784
  var DataBlock = class DataBlock {
1799
1785
  static getDataBlocks(rawCodewords, version, ecLevel) {
1800
1786
  if (rawCodewords.length !== version.totalCodewords) throw new Error("ArgumentException");
@@ -1837,8 +1823,7 @@ var DataBlock = class DataBlock {
1837
1823
  this.codewords = codewords;
1838
1824
  }
1839
1825
  };
1840
- //#endregion
1841
- //#region src/reader/parse/databr.ts
1826
+ // src/reader/parse/databr.ts
1842
1827
  /**
1843
1828
  * @file 二维码解析内部模块:databr。
1844
1829
  */
@@ -2060,8 +2045,7 @@ var QRCodeDataBlockReader = class {
2060
2045
  return output;
2061
2046
  }
2062
2047
  };
2063
- //#endregion
2064
- //#region src/reader/parse/decoder.ts
2048
+ // src/reader/parse/decoder.ts
2065
2049
  /**
2066
2050
  * @file 二维码解析内部模块:decoder。
2067
2051
  */
@@ -2096,8 +2080,7 @@ const Decoder = {
2096
2080
  return new QRCodeDataBlockReader(resultBytes, version.versionNumber, ecLevel.bits);
2097
2081
  }
2098
2082
  };
2099
- //#endregion
2100
- //#region src/reader/core/qrcode.ts
2083
+ // src/reader/core/qrcode.ts
2101
2084
  /**
2102
2085
  * @file 二维码解析内部模块:qrcode。
2103
2086
  */
@@ -2289,8 +2272,7 @@ function URShift(number, bits) {
2289
2272
  if (number >= 0) return number >> bits;
2290
2273
  return (number >> bits) + (2 << ~bits);
2291
2274
  }
2292
- //#endregion
2293
- //#region src/reader/core/runtime.ts
2275
+ // src/reader/core/runtime.ts
2294
2276
  /**
2295
2277
  * @file 二维码核心 reader 运行时适配。
2296
2278
  */
@@ -2298,14 +2280,12 @@ function URShift(number, bits) {
2298
2280
  function createLegacyQrCodeReader() {
2299
2281
  return new QrCode();
2300
2282
  }
2301
- //#endregion
2302
- //#region src/reader/core/decode.ts
2283
+ // src/reader/core/decode.ts
2303
2284
  /** decodeWithLegacyQrCodeCore 的方法封装。 */
2304
2285
  async function decodeWithLegacyQrCodeCore(input) {
2305
2286
  return normalizeQrCodeReaderResult(await createLegacyQrCodeReader().decode(input));
2306
2287
  }
2307
- //#endregion
2308
- //#region src/reader/decode.ts
2288
+ // src/reader/decode.ts
2309
2289
  /**
2310
2290
  * @file 二维码 reader 纯函数解码入口。
2311
2291
  */
@@ -2313,8 +2293,7 @@ async function decodeWithLegacyQrCodeCore(input) {
2313
2293
  async function decodeWithQrReader(input) {
2314
2294
  return await decodeWithLegacyQrCodeCore(input);
2315
2295
  }
2316
- //#endregion
2317
- //#region src/decode.ts
2296
+ // src/decode.ts
2318
2297
  /**
2319
2298
  * @file 基于 sharp 的二维码解码封装。
2320
2299
  */
@@ -2338,8 +2317,7 @@ async function decodeQrCodeFromBase64(content) {
2338
2317
  async function decodeQrCodeFromFile(filePath) {
2339
2318
  return await decodeQrCodeFromBuffer(await readFile(filePath));
2340
2319
  }
2341
- //#endregion
2342
- //#region src/miniProgramCode.ts
2320
+ // src/miniProgramCode.ts
2343
2321
  /**
2344
2322
  * @file 微信小程序码结构识别封装。
2345
2323
  */
@@ -2527,8 +2505,7 @@ async function detectMiniProgramCodeFromBase64(content) {
2527
2505
  async function detectMiniProgramCodeFromFile(filePath) {
2528
2506
  return await detectMiniProgramCodeFromBuffer(await readFile(filePath));
2529
2507
  }
2530
- //#endregion
2531
- //#region src/codeType.ts
2508
+ // src/codeType.ts
2532
2509
  /**
2533
2510
  * @file 二维码类型检测封装。
2534
2511
  */
@@ -2556,8 +2533,7 @@ async function detectCodeTypeFromBase64(content) {
2556
2533
  async function detectCodeTypeFromFile(filePath) {
2557
2534
  return await detectCodeTypeFromBuffer(await readFile(filePath));
2558
2535
  }
2559
- //#endregion
2560
- //#region src/terminalEncoder/errorCorrectLevel.ts
2536
+ // src/terminalEncoder/errorCorrectLevel.ts
2561
2537
  /**
2562
2538
  * @file 终端二维码编码内部模块:errorCorrectLevel。
2563
2539
  */
@@ -2567,8 +2543,7 @@ const QRErrorCorrectLevel = {
2567
2543
  Q: 3,
2568
2544
  H: 2
2569
2545
  };
2570
- //#endregion
2571
- //#region src/terminalEncoder/bitBuffer.ts
2546
+ // src/terminalEncoder/bitBuffer.ts
2572
2547
  /**
2573
2548
  * @file 终端二维码编码内部模块:bitBuffer。
2574
2549
  */
@@ -2596,8 +2571,7 @@ var QRBitBuffer = class {
2596
2571
  this.length++;
2597
2572
  }
2598
2573
  };
2599
- //#endregion
2600
- //#region src/terminalEncoder/mode.ts
2574
+ // src/terminalEncoder/mode.ts
2601
2575
  /**
2602
2576
  * @file 终端二维码编码内部模块:mode。
2603
2577
  */
@@ -2607,8 +2581,7 @@ const QRMode = {
2607
2581
  MODE_8BIT_BYTE: 4,
2608
2582
  MODE_KANJI: 8
2609
2583
  };
2610
- //#endregion
2611
- //#region src/terminalEncoder/byte.ts
2584
+ // src/terminalEncoder/byte.ts
2612
2585
  /**
2613
2586
  * @file 终端二维码编码内部模块:byte。
2614
2587
  */
@@ -2626,8 +2599,7 @@ var QR8bitByte = class {
2626
2599
  for (let i = 0; i < this.data.length; i++) buffer.put(this.data.charCodeAt(i), 8);
2627
2600
  }
2628
2601
  };
2629
- //#endregion
2630
- //#region src/terminalEncoder/math.ts
2602
+ // src/terminalEncoder/math.ts
2631
2603
  /**
2632
2604
  * @file 终端二维码编码内部模块:math。
2633
2605
  */
@@ -2647,8 +2619,7 @@ const QRMath = {
2647
2619
  for (let i = 0; i < 8; i++) EXP_TABLE[i] = 1 << i;
2648
2620
  for (let i = 8; i < 256; i++) EXP_TABLE[i] = EXP_TABLE[i - 4] ^ EXP_TABLE[i - 5] ^ EXP_TABLE[i - 6] ^ EXP_TABLE[i - 8];
2649
2621
  for (let i = 0; i < 255; i++) LOG_TABLE[EXP_TABLE[i]] = i;
2650
- //#endregion
2651
- //#region src/terminalEncoder/polynomial.ts
2622
+ // src/terminalEncoder/polynomial.ts
2652
2623
  /**
2653
2624
  * @file 终端二维码编码内部模块:polynomial。
2654
2625
  */
@@ -2681,8 +2652,7 @@ var QRPolynomial = class QRPolynomial {
2681
2652
  return new QRPolynomial(num, 0).mod(e);
2682
2653
  }
2683
2654
  };
2684
- //#endregion
2685
- //#region src/terminalEncoder/rsBlock.ts
2655
+ // src/terminalEncoder/rsBlock.ts
2686
2656
  /**
2687
2657
  * @file 终端二维码编码内部模块:rsBlock。
2688
2658
  */
@@ -3899,8 +3869,7 @@ var QRRSBlock = class QRRSBlock {
3899
3869
  }
3900
3870
  }
3901
3871
  };
3902
- //#endregion
3903
- //#region src/terminalEncoder/maskPattern.ts
3872
+ // src/terminalEncoder/maskPattern.ts
3904
3873
  /**
3905
3874
  * @file 终端二维码编码内部模块:maskPattern。
3906
3875
  */
@@ -3914,8 +3883,7 @@ const QRMaskPattern = {
3914
3883
  PATTERN110: 6,
3915
3884
  PATTERN111: 7
3916
3885
  };
3917
- //#endregion
3918
- //#region src/terminalEncoder/util.ts
3886
+ // src/terminalEncoder/util.ts
3919
3887
  /**
3920
3888
  * @file 终端二维码编码内部模块:util。
3921
3889
  */
@@ -4265,8 +4233,7 @@ const QRUtil = {
4265
4233
  return lostPoint;
4266
4234
  }
4267
4235
  };
4268
- //#endregion
4269
- //#region src/terminalEncoder/qrCode.ts
4236
+ // src/terminalEncoder/qrCode.ts
4270
4237
  /**
4271
4238
  * @file 终端二维码编码内部模块:qrCode。
4272
4239
  */
@@ -4510,8 +4477,7 @@ var QRCode = class QRCode {
4510
4477
  return data;
4511
4478
  }
4512
4479
  };
4513
- //#endregion
4514
- //#region src/encode.ts
4480
+ // src/encode.ts
4515
4481
  const LOW_ERROR_CORRECTION_LEVEL = QRErrorCorrectLevel.L;
4516
4482
  /** createQrCodeMatrix 的方法封装。 */
4517
4483
  function createQrCodeMatrix(input) {
@@ -4520,8 +4486,7 @@ function createQrCodeMatrix(input) {
4520
4486
  qrcode.make();
4521
4487
  return qrcode.modules;
4522
4488
  }
4523
- //#endregion
4524
- //#region src/render.ts
4489
+ // src/render.ts
4525
4490
  const WHITE_ALL = "█";
4526
4491
  const WHITE_BLACK = "▀";
4527
4492
  const BLACK_WHITE = "▄";
@@ -4573,5 +4538,4 @@ function renderTerminalQrCodeFromMatrix(matrix, options = {}) {
4573
4538
  function renderTerminalQrCode(input, options = {}) {
4574
4539
  return renderTerminalQrCodeFromMatrix(createQrCodeMatrix(input), options);
4575
4540
  }
4576
- //#endregion
4577
4541
  export { createQrCodeMatrix, decodeQrCodeFromBase64, decodeQrCodeFromBuffer, decodeQrCodeFromFile, decodeWithQrReader, detectCodeTypeFromBase64, detectCodeTypeFromBuffer, detectCodeTypeFromFile, detectMiniProgramCodeFromBase64, detectMiniProgramCodeFromBuffer, detectMiniProgramCodeFromFile, renderTerminalQrCode, renderTerminalQrCodeFromMatrix };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@weapp-vite/qr",
3
3
  "type": "module",
4
- "version": "1.1.10",
4
+ "version": "1.2.0",
5
5
  "description": "weapp-vite 生态二维码编码、解码与终端渲染工具包",
6
6
  "author": "ice breaker <1324318532@qq.com>",
7
7
  "license": "MIT",
@@ -43,7 +43,7 @@
43
43
  "dist"
44
44
  ],
45
45
  "engines": {
46
- "node": "^20.19.0 || >=22.12.0"
46
+ "node": "^22.23.4 || ^24.22.1 || >=26.12.1"
47
47
  },
48
48
  "dependencies": {
49
49
  "sharp": "^0.35.5"