@qr-platform/qr-code.js 0.9.0 → 0.9.1

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.
Files changed (176) hide show
  1. package/lib/chunks/scan-validator-node-BGUxkBJt.js +1 -0
  2. package/lib/chunks/scan-validator-zxing-node-CV9K2v4n.js +1 -0
  3. package/lib/core/qr-code-js.d.ts +1 -1
  4. package/lib/index.d.ts +1 -1
  5. package/lib/index.js +1 -1
  6. package/lib/node/core/qr-code-js.d.ts +61 -0
  7. package/lib/node/core/qr-constant.d.ts +9 -0
  8. package/lib/node/core/qr-options-validation.d.ts +13 -0
  9. package/lib/node/core/qr-styles.d.ts +4 -0
  10. package/lib/node/core/qr-svg.d.ts +76 -0
  11. package/lib/node/core/qr-templates.d.ts +10 -0
  12. package/lib/node/figures/corner-dot.d.ts +24 -0
  13. package/lib/node/figures/corner-square.d.ts +24 -0
  14. package/lib/node/figures/dot.d.ts +31 -0
  15. package/lib/node/index.d.ts +101 -0
  16. package/lib/node/lib/image/GIFImage.d.ts +19 -0
  17. package/lib/node/lib/io/Base64.d.ts +10 -0
  18. package/lib/node/lib/io/Base64DecodeInputStream.d.ts +15 -0
  19. package/lib/node/lib/io/Base64EncodeOutputStream.d.ts +17 -0
  20. package/lib/node/lib/io/ByteArrayInputStream.d.ts +12 -0
  21. package/lib/node/lib/io/ByteArrayOutputStream.d.ts +12 -0
  22. package/lib/node/lib/io/InputStream.d.ts +10 -0
  23. package/lib/node/lib/io/OutputStream.d.ts +12 -0
  24. package/lib/node/lib/qr-code.d.ts +5 -0
  25. package/lib/node/lib/qrcode/BitBuffer.d.ts +11 -0
  26. package/lib/node/lib/qrcode/ErrorCorrectLevel.d.ts +23 -0
  27. package/lib/node/lib/qrcode/MaskPattern.d.ts +39 -0
  28. package/lib/node/lib/qrcode/Mode.d.ts +23 -0
  29. package/lib/node/lib/qrcode/Polynomial.d.ts +15 -0
  30. package/lib/node/lib/qrcode/QR8BitByte.d.ts +13 -0
  31. package/lib/node/lib/qrcode/QRAlphaNum.d.ts +13 -0
  32. package/lib/node/lib/qrcode/QRCode.d.ts +22 -0
  33. package/lib/node/lib/qrcode/QRCodeMinimal.d.ts +58 -0
  34. package/lib/node/lib/qrcode/QRData.d.ts +17 -0
  35. package/lib/node/lib/qrcode/QRKanji.d.ts +13 -0
  36. package/lib/node/lib/qrcode/QRMath.d.ts +13 -0
  37. package/lib/node/lib/qrcode/QRNumber.d.ts +14 -0
  38. package/lib/node/lib/qrcode/QRUtil.d.ts +25 -0
  39. package/lib/node/lib/qrcode/RSBlock.d.ts +16 -0
  40. package/lib/node/lib/text/createStringToBytes.d.ts +9 -0
  41. package/lib/node/lib/text/stringToBytes_SJIS.d.ts +8 -0
  42. package/lib/node/lib/text/stringToBytes_UTF8.d.ts +7 -0
  43. package/lib/node/lib/zbar-wasm/index.d.ts +1 -0
  44. package/lib/node/lib/zxing-js/src/browser/BrowserCodeReader.d.ts +150 -0
  45. package/lib/node/lib/zxing-js/src/browser/BrowserQRCodeReader.d.ts +29 -0
  46. package/lib/node/lib/zxing-js/src/browser/HTMLCanvasElementLuminanceSource.d.ts +27 -0
  47. package/lib/node/lib/zxing-js/src/browser/HTMLVisualMediaElement.d.ts +4 -0
  48. package/lib/node/lib/zxing-js/src/browser.d.ts +3 -0
  49. package/lib/node/lib/zxing-js/src/core/ArgumentException.d.ts +7 -0
  50. package/lib/node/lib/zxing-js/src/core/ArithmeticException.d.ts +7 -0
  51. package/lib/node/lib/zxing-js/src/core/ArrayIndexOutOfBoundsException.d.ts +10 -0
  52. package/lib/node/lib/zxing-js/src/core/BarcodeFormat.d.ts +42 -0
  53. package/lib/node/lib/zxing-js/src/core/Binarizer.d.ts +53 -0
  54. package/lib/node/lib/zxing-js/src/core/BinaryBitmap.d.ts +78 -0
  55. package/lib/node/lib/zxing-js/src/core/ChecksumException.d.ts +8 -0
  56. package/lib/node/lib/zxing-js/src/core/DecodeHintType.d.ts +91 -0
  57. package/lib/node/lib/zxing-js/src/core/Exception.d.ts +17 -0
  58. package/lib/node/lib/zxing-js/src/core/FormatException.d.ts +8 -0
  59. package/lib/node/lib/zxing-js/src/core/HighContrastLuminanceSource.d.ts +27 -0
  60. package/lib/node/lib/zxing-js/src/core/IllegalArgumentException.d.ts +7 -0
  61. package/lib/node/lib/zxing-js/src/core/IllegalStateException.d.ts +7 -0
  62. package/lib/node/lib/zxing-js/src/core/IndexOutOfBoundsException.d.ts +7 -0
  63. package/lib/node/lib/zxing-js/src/core/InvertedLuminanceSource.d.ts +22 -0
  64. package/lib/node/lib/zxing-js/src/core/LuminanceSource.d.ts +84 -0
  65. package/lib/node/lib/zxing-js/src/core/NodeLuminanceSource.d.ts +33 -0
  66. package/lib/node/lib/zxing-js/src/core/NotFoundException.d.ts +8 -0
  67. package/lib/node/lib/zxing-js/src/core/NullPointerException.d.ts +7 -0
  68. package/lib/node/lib/zxing-js/src/core/OutOfMemoryError.d.ts +6 -0
  69. package/lib/node/lib/zxing-js/src/core/Reader.d.ts +49 -0
  70. package/lib/node/lib/zxing-js/src/core/ReaderException.d.ts +7 -0
  71. package/lib/node/lib/zxing-js/src/core/ReedSolomonException.d.ts +7 -0
  72. package/lib/node/lib/zxing-js/src/core/Result.d.ts +52 -0
  73. package/lib/node/lib/zxing-js/src/core/ResultMetadataType.d.ts +68 -0
  74. package/lib/node/lib/zxing-js/src/core/ResultPoint.d.ts +34 -0
  75. package/lib/node/lib/zxing-js/src/core/ResultPointCallback.d.ts +11 -0
  76. package/lib/node/lib/zxing-js/src/core/UniversalLuminanceSource.d.ts +46 -0
  77. package/lib/node/lib/zxing-js/src/core/UnsupportedOperationException.d.ts +7 -0
  78. package/lib/node/lib/zxing-js/src/core/common/BitArray.d.ts +111 -0
  79. package/lib/node/lib/zxing-js/src/core/common/BitMatrix.d.ts +98 -0
  80. package/lib/node/lib/zxing-js/src/core/common/BitSource.d.ts +38 -0
  81. package/lib/node/lib/zxing-js/src/core/common/CharacterSetECI.d.ts +89 -0
  82. package/lib/node/lib/zxing-js/src/core/common/DecoderResult.d.ts +64 -0
  83. package/lib/node/lib/zxing-js/src/core/common/DefaultGridSampler.d.ts +10 -0
  84. package/lib/node/lib/zxing-js/src/core/common/DetectorResult.d.ts +16 -0
  85. package/lib/node/lib/zxing-js/src/core/common/GlobalHistogramBinarizer.d.ts +29 -0
  86. package/lib/node/lib/zxing-js/src/core/common/GridSampler.d.ts +36 -0
  87. package/lib/node/lib/zxing-js/src/core/common/GridSamplerInstance.d.ts +18 -0
  88. package/lib/node/lib/zxing-js/src/core/common/HybridBinarizer.d.ts +54 -0
  89. package/lib/node/lib/zxing-js/src/core/common/PerspectiveTransform.d.ts +26 -0
  90. package/lib/node/lib/zxing-js/src/core/common/StringUtils.d.ts +48 -0
  91. package/lib/node/lib/zxing-js/src/core/common/detector/MathUtils.d.ts +36 -0
  92. package/lib/node/lib/zxing-js/src/core/common/reedsolomon/AbstractGenericGF.d.ts +34 -0
  93. package/lib/node/lib/zxing-js/src/core/common/reedsolomon/GenericGF.d.ts +58 -0
  94. package/lib/node/lib/zxing-js/src/core/common/reedsolomon/GenericGFPoly.d.ts +47 -0
  95. package/lib/node/lib/zxing-js/src/core/common/reedsolomon/ReedSolomonDecoder.d.ts +40 -0
  96. package/lib/node/lib/zxing-js/src/core/qrcode/QRCodeReader.d.ts +35 -0
  97. package/lib/node/lib/zxing-js/src/core/qrcode/decoder/BitMatrixParser.d.ts +58 -0
  98. package/lib/node/lib/zxing-js/src/core/qrcode/decoder/DataBlock.d.ts +28 -0
  99. package/lib/node/lib/zxing-js/src/core/qrcode/decoder/DataMask.d.ts +36 -0
  100. package/lib/node/lib/zxing-js/src/core/qrcode/decoder/DecodedBitStreamParser.d.ts +30 -0
  101. package/lib/node/lib/zxing-js/src/core/qrcode/decoder/Decoder.d.ts +44 -0
  102. package/lib/node/lib/zxing-js/src/core/qrcode/decoder/ECB.d.ts +12 -0
  103. package/lib/node/lib/zxing-js/src/core/qrcode/decoder/ECBlocks.d.ts +16 -0
  104. package/lib/node/lib/zxing-js/src/core/qrcode/decoder/ErrorCorrectionLevel.d.ts +38 -0
  105. package/lib/node/lib/zxing-js/src/core/qrcode/decoder/FormatInformation.d.ts +33 -0
  106. package/lib/node/lib/zxing-js/src/core/qrcode/decoder/Mode.d.ts +56 -0
  107. package/lib/node/lib/zxing-js/src/core/qrcode/decoder/QRCodeDecoderMetaData.d.ts +21 -0
  108. package/lib/node/lib/zxing-js/src/core/qrcode/decoder/Version.d.ts +44 -0
  109. package/lib/node/lib/zxing-js/src/core/qrcode/detector/AlignmentPattern.d.ts +21 -0
  110. package/lib/node/lib/zxing-js/src/core/qrcode/detector/AlignmentPatternFinder.d.ts +82 -0
  111. package/lib/node/lib/zxing-js/src/core/qrcode/detector/Detector.d.ts +87 -0
  112. package/lib/node/lib/zxing-js/src/core/qrcode/detector/FinderPattern.d.ts +26 -0
  113. package/lib/node/lib/zxing-js/src/core/qrcode/detector/FinderPatternFinder.d.ts +114 -0
  114. package/lib/node/lib/zxing-js/src/core/qrcode/detector/FinderPatternInfo.d.ts +16 -0
  115. package/lib/node/lib/zxing-js/src/core/util/Arrays.d.ts +45 -0
  116. package/lib/node/lib/zxing-js/src/core/util/Charset.d.ts +7 -0
  117. package/lib/node/lib/zxing-js/src/core/util/Float.d.ts +14 -0
  118. package/lib/node/lib/zxing-js/src/core/util/Integer.d.ts +19 -0
  119. package/lib/node/lib/zxing-js/src/core/util/StringBuilder.d.ts +21 -0
  120. package/lib/node/lib/zxing-js/src/core/util/StringEncoding.d.ts +51 -0
  121. package/lib/node/lib/zxing-js/src/core/util/System.d.ts +10 -0
  122. package/lib/node/lib/zxing-js/src/customTypings.d.ts +16 -0
  123. package/lib/node/lib/zxing-js/src/index.d.ts +5 -0
  124. package/lib/node/lib/zxing-js/src/node.d.ts +1 -0
  125. package/lib/node/license/LicenseManager.d.ts +69 -0
  126. package/lib/node/license/LicenseManagerNode.d.ts +64 -0
  127. package/lib/node/node.d.ts +88 -0
  128. package/lib/node/options-demo.d.ts +239 -0
  129. package/lib/node/plugins/QRBorderHelpers.d.ts +32 -0
  130. package/lib/node/plugins/QRBorderPlugin.d.ts +35 -0
  131. package/lib/node/plugins/QRValidatorZbar.d.ts +38 -0
  132. package/lib/node/plugins/QRValidatorZbarNode.d.ts +60 -0
  133. package/lib/node/plugins/QRValidatorZbarNodeSharp.d.ts +83 -0
  134. package/lib/node/templates/borders-inner-outter.d.ts +129 -0
  135. package/lib/node/templates/borders-inner-scale-offset.d.ts +497 -0
  136. package/lib/node/templates/borders-inner.d.ts +129 -0
  137. package/lib/node/templates/borders-no-license.d.ts +129 -0
  138. package/lib/node/templates/borders-outter.d.ts +129 -0
  139. package/lib/node/templates/borders-text-auto-curved.d.ts +129 -0
  140. package/lib/node/templates/borders-text-full-curved.d.ts +133 -0
  141. package/lib/node/templates/borders.d.ts +129 -0
  142. package/lib/node/templates/scales.d.ts +130 -0
  143. package/lib/node/templates/scan-validators/index.d.ts +1 -0
  144. package/lib/node/templates/scan-validators/tests/cases/basic-inverted.d.ts +9 -0
  145. package/lib/node/templates/scan-validators/tests/cases/basic-no-license.d.ts +3 -0
  146. package/lib/node/templates/scan-validators/tests/cases/basic.d.ts +3 -0
  147. package/lib/node/templates/scan-validators/tests/cases/colors-inverted.d.ts +2 -0
  148. package/lib/node/templates/scan-validators/tests/cases/colors.d.ts +58 -0
  149. package/lib/node/templates/scan-validators/tests/cases/out-of-borders-inverted.d.ts +9 -0
  150. package/lib/node/templates/scan-validators/tests/cases/out-of-borders.d.ts +9 -0
  151. package/lib/node/templates/scan-validators/tests/cases/position-inverted.d.ts +9 -0
  152. package/lib/node/templates/scan-validators/tests/cases/position.d.ts +3 -0
  153. package/lib/node/templates/scan-validators/tests/index.d.ts +27 -0
  154. package/lib/node/tools/browser-image-tools.d.ts +7 -0
  155. package/lib/node/tools/browser-utils.d.ts +18 -0
  156. package/lib/node/types/helper.d.ts +23 -0
  157. package/lib/node/types/style-options.d.ts +37 -0
  158. package/lib/node/utils/canvas-options.d.ts +7 -0
  159. package/lib/node/utils/color.d.ts +4 -0
  160. package/lib/node/utils/gradient.d.ts +26 -0
  161. package/lib/node/utils/image.d.ts +16 -0
  162. package/lib/node/utils/merge.d.ts +5 -0
  163. package/lib/node/utils/options.d.ts +220 -0
  164. package/lib/node/utils/qrcode.d.ts +8 -0
  165. package/lib/node/utils/scan-validator-node.d.ts +15 -0
  166. package/lib/node/utils/scan-validator-zxing-node.d.ts +18 -0
  167. package/lib/node/utils/scan-validators/abstract-scan-validator.d.ts +43 -0
  168. package/lib/node/utils/scan-validators/zbar-scan-validator.d.ts +8 -0
  169. package/lib/node/utils/scan-validators/zxing-canvas-scan-validator.d.ts +10 -0
  170. package/lib/node/utils/scan-validators/zxing-scan-validator.d.ts +8 -0
  171. package/lib/node/utils/style-mapper.d.ts +13 -0
  172. package/lib/node/utils/svg.d.ts +2 -0
  173. package/lib/node/utils/token-validator.d.ts +19 -0
  174. package/lib/node.d.ts +4 -1
  175. package/lib/node.js +1 -1
  176. package/package.json +1 -1
@@ -0,0 +1,220 @@
1
+ import { Position } from '~/plugins/QRBorderHelpers';
2
+ import { ErrorCorrectionLevel, Mode, TypeNumber } from '~/lib/qrcode/QRCodeMinimal';
3
+ import { QRBorderPluginStyleOptions } from '../plugins/QRBorderPlugin';
4
+ import { browserImageTools } from '../tools/browser-image-tools';
5
+ import { Gradient } from './gradient';
6
+ export interface DecorationOption {
7
+ disabled?: boolean;
8
+ offset?: number;
9
+ curveAdjustment?: number;
10
+ curveDisabled?: boolean;
11
+ curveRadius?: string;
12
+ enableText?: boolean;
13
+ type: 'text' | 'image';
14
+ value: string;
15
+ style?: QRBorderPluginStyleOptions;
16
+ }
17
+ export interface BorderOptions {
18
+ hasBorder: boolean;
19
+ radius?: string;
20
+ inner?: {
21
+ radius?: string;
22
+ scale?: number;
23
+ horizontalOffset?: number;
24
+ verticalOffset?: number;
25
+ };
26
+ innerScale?: number;
27
+ innerHorizontalOffset?: number;
28
+ innerVerticalOffset?: number;
29
+ thickness: number;
30
+ noBorderThickness?: number;
31
+ color: string;
32
+ background?: string;
33
+ decorations?: {
34
+ [key in Position]?: DecorationOption;
35
+ };
36
+ borderOuter?: {
37
+ color: string;
38
+ thickness: number;
39
+ };
40
+ borderInner?: {
41
+ color: string;
42
+ thickness: number;
43
+ };
44
+ }
45
+ export declare enum DotType {
46
+ dot = "dot",
47
+ randomDot = "random-dot",
48
+ rounded = "rounded",
49
+ extraRounded = "extra-rounded",
50
+ verticalLine = "vertical-line",
51
+ horizontalLine = "horizontal-line",
52
+ classy = "classy",
53
+ classyRounded = "classy-rounded",
54
+ square = "square",
55
+ smallSquare = "small-square",
56
+ tinySquare = "tiny-square",
57
+ star = "star",
58
+ plus = "plus",
59
+ diamond = "diamond"
60
+ }
61
+ export declare enum CornerDotType {
62
+ dot = "dot",
63
+ square = "square",
64
+ heart = "heart",
65
+ rounded = "rounded",
66
+ classy = "classy",
67
+ outpoint = "outpoint",
68
+ inpoint = "inpoint"
69
+ }
70
+ export declare enum CornerSquareType {
71
+ dot = "dot",
72
+ square = "square",
73
+ rounded = "rounded",
74
+ classy = "classy",
75
+ outpoint = "outpoint",
76
+ inpoint = "inpoint"
77
+ }
78
+ export declare enum ShapeType {
79
+ square = "square",
80
+ circle = "circle"
81
+ }
82
+ export declare enum ImageMode {
83
+ /**
84
+ * Place image in the center of the code
85
+ */
86
+ center = "center",
87
+ /**
88
+ * Place image over the center of the code
89
+ */
90
+ overlay = "overlay",
91
+ /**
92
+ * Use image as background, draw dots over it
93
+ */
94
+ background = "background"
95
+ }
96
+ export interface Options {
97
+ /** Use a custom DOM domplementation */
98
+ document: Document;
99
+ instanceId: number;
100
+ /** Use a custom image fetching & serializaton implementation */
101
+ imageTools?: typeof browserImageTools;
102
+ /** @ignore */
103
+ width?: number;
104
+ /** @ignore */
105
+ height?: number;
106
+ isResponsive?: boolean;
107
+ margin?: number;
108
+ verticalOffset?: number;
109
+ horizontalOffset?: number;
110
+ /** The data will be encoded in the QR code */
111
+ data: string;
112
+ /** The image will be copied to the center of the QR code */
113
+ image?: string | Buffer | Blob;
114
+ /**
115
+ * QR code shape
116
+ *
117
+ * @default ShapeType.square
118
+ */
119
+ shape: ShapeType;
120
+ /** Options will be passed to `~` lib */
121
+ scale?: number;
122
+ offset?: number;
123
+ qrOptions: {
124
+ typeNumber: TypeNumber;
125
+ mode?: Mode;
126
+ /** @default ErrorCorrectionLevel.Q */
127
+ errorCorrectionLevel: ErrorCorrectionLevel;
128
+ };
129
+ imageOptions: {
130
+ /**
131
+ * Image mode
132
+ *
133
+ * @default ImageMode.center
134
+ */
135
+ mode?: ImageMode;
136
+ /**
137
+ * Fill blank areas of the code with selected color
138
+ */
139
+ fill?: {
140
+ /**
141
+ * Color of QR dots
142
+ *
143
+ * @default "rgba(255,255,255,0.75)"
144
+ */
145
+ color: string;
146
+ /** Gradient of Corners Dot */
147
+ gradient?: Gradient;
148
+ };
149
+ /**
150
+ * Coefficient of the image size
151
+ *
152
+ * @default 0.4
153
+ */
154
+ imageSize: number;
155
+ /**
156
+ * Margin of the image (in blocks)
157
+ *
158
+ * @default 0
159
+ */
160
+ margin: number;
161
+ /**
162
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/crossOrigin)
163
+ */
164
+ crossOrigin?: string;
165
+ };
166
+ dotsOptions: {
167
+ /**
168
+ * QR dot size (in pixels)
169
+ *
170
+ * @default 10
171
+ */
172
+ size: number;
173
+ /**
174
+ * Color of QR dots
175
+ *
176
+ * @default "#000"
177
+ */
178
+ color: string;
179
+ /** Gradient of QR dots */
180
+ gradient?: Gradient;
181
+ /**
182
+ * Style of QR dots
183
+ *
184
+ * @default DotType.square
185
+ */
186
+ type: DotType;
187
+ };
188
+ /** Corners Square options, omitted values match dots */
189
+ cornersSquareOptions?: {
190
+ /** Color of Corners Square */
191
+ color?: string;
192
+ /** Gradient of Corners Square */
193
+ gradient?: Gradient;
194
+ /** Style of Corners Square */
195
+ type?: CornerSquareType;
196
+ };
197
+ /** Corners Dot options, omitted values match squares */
198
+ cornersDotOptions?: {
199
+ /** Color of Corners Dot */
200
+ color?: string;
201
+ /** Gradient of Corners Dot */
202
+ gradient?: Gradient;
203
+ /** Style of Corners Dot */
204
+ type?: CornerDotType;
205
+ };
206
+ /** QR background styling options, false to disable background */
207
+ backgroundOptions?: {
208
+ /** Background roundnes, from 0 (square) to 1 (circle) */
209
+ round?: number;
210
+ /** Background color */
211
+ color?: string;
212
+ /** Background Gradient */
213
+ gradient?: Gradient;
214
+ } | false;
215
+ stringToBytesFuncs?: {
216
+ [encoding: string]: (s: string) => number[];
217
+ };
218
+ borderOptions?: BorderOptions;
219
+ }
220
+ export declare function sanitizeOptions(options: Options): Options;
@@ -0,0 +1,8 @@
1
+ import { Mode } from '~/lib/qrcode/QRCodeMinimal';
2
+ export declare const ErrorCorrectionPercents: {
3
+ L: number;
4
+ M: number;
5
+ Q: number;
6
+ H: number;
7
+ };
8
+ export declare function getMode(data: string): Mode;
@@ -0,0 +1,15 @@
1
+ import { ScanValidatorResponse } from './scan-validators/abstract-scan-validator';
2
+ /**
3
+ * QR Code validator for Node.js environment
4
+ */
5
+ export declare const qrValidator: {
6
+ /**
7
+ * Validate QR code using zbar with SVG as input
8
+ * @param svgSource SVG string containing QR code
9
+ * @param width Width to use for validation
10
+ * @param height Height to use for validation
11
+ * @param debug Enable detailed debugging
12
+ * @returns Validation result
13
+ */
14
+ validateZbar: (svgSource: string | undefined, debug?: boolean) => Promise<ScanValidatorResponse>;
15
+ };
@@ -0,0 +1,18 @@
1
+ import { BinaryBitmap } from '~/lib/zxing-js/src';
2
+ import { NodeLuminanceSource } from '~/lib/zxing-js/src/node';
3
+ import { ScanValidatorResponse } from './scan-validators/abstract-scan-validator';
4
+ export interface PreprocessingOptions {
5
+ lower?: number;
6
+ upper?: number;
7
+ gamma?: number;
8
+ threshold?: number;
9
+ }
10
+ /**
11
+ * Main QR Validator: attempts to decode the QR code from an SVG string.
12
+ * It tries the normal decode first, then with inverted luminance.
13
+ * (Alternative preprocessing attempt removed as it was identical to the first).
14
+ */
15
+ export declare const qrValidatorZxing: {
16
+ validateZxing: (svgString: string | undefined) => Promise<ScanValidatorResponse>;
17
+ };
18
+ export type { NodeLuminanceSource, BinaryBitmap, ScanValidatorResponse };
@@ -0,0 +1,43 @@
1
+ import { BrowserQRCodeReader } from '~/lib/zxing-js/src';
2
+ import QRCodeReader from '~/lib/zxing-js/src/core/qrcode/QRCodeReader';
3
+ import QRValidatorZbar from '../../plugins/QRValidatorZbar';
4
+ export interface ScanValidatorResponse {
5
+ /**
6
+ * Whether QR code was successfully validated
7
+ */
8
+ isValid: boolean;
9
+ /**
10
+ * Decoded data from the QR code
11
+ */
12
+ decodedText?: string | null;
13
+ /**
14
+ * Whether the successful decode was from an inverted image
15
+ */
16
+ isInverted?: boolean;
17
+ /**
18
+ * Additional message about the validation result
19
+ */
20
+ message?: string;
21
+ /**
22
+ * Number of attempts made during validation
23
+ */
24
+ attempts?: number;
25
+ /**
26
+ * Error code if validation failed
27
+ */
28
+ errorCode?: string;
29
+ }
30
+ declare class AbstractScanValidator {
31
+ debug: boolean;
32
+ validatorName: string;
33
+ log(message: any): void;
34
+ }
35
+ export default AbstractScanValidator;
36
+ export interface ScanValidator {
37
+ validator: QRValidatorZbar | QRCodeReader | BrowserQRCodeReader;
38
+ validate(...args: any): Promise<ScanValidatorResponse>;
39
+ }
40
+ export interface DecodeAttempt {
41
+ name: string;
42
+ execute(): Promise<ScanValidatorResponse>;
43
+ }
@@ -0,0 +1,8 @@
1
+ import QRValidatorZbar from '../../plugins/QRValidatorZbar';
2
+ import AbstractScanValidator, { ScanValidator, ScanValidatorResponse } from './abstract-scan-validator';
3
+ declare class ZBarScanValidator extends AbstractScanValidator implements ScanValidator {
4
+ validator: QRValidatorZbar;
5
+ constructor(debug?: boolean);
6
+ validate(svgSource: string | undefined, getSvgInverted: () => Promise<string | undefined>, width: number, height: number, debug?: boolean): Promise<ScanValidatorResponse>;
7
+ }
8
+ export default ZBarScanValidator;
@@ -0,0 +1,10 @@
1
+ import { LuminanceSource } from '~/lib/zxing-js/src';
2
+ import QRCodeReader from '~/lib/zxing-js/src/core/qrcode/QRCodeReader';
3
+ import AbstractScanValidator, { ScanValidator, ScanValidatorResponse } from './abstract-scan-validator';
4
+ declare class ZXingCanvasScanValidator extends AbstractScanValidator implements ScanValidator {
5
+ validator: QRCodeReader;
6
+ constructor(debug?: boolean);
7
+ displayLuminanceSource(source: LuminanceSource, label: string): void;
8
+ validate(canvas: HTMLCanvasElement, debug?: boolean): Promise<ScanValidatorResponse>;
9
+ }
10
+ export default ZXingCanvasScanValidator;
@@ -0,0 +1,8 @@
1
+ import { BrowserQRCodeReader } from '~/lib/zxing-js/src';
2
+ import AbstractScanValidator, { ScanValidator, ScanValidatorResponse } from './abstract-scan-validator';
3
+ declare class ZXingScanValidator extends AbstractScanValidator implements ScanValidator {
4
+ validator: BrowserQRCodeReader;
5
+ constructor(debug?: boolean);
6
+ validate(svgSource: string | undefined, getSvgInverted: () => Promise<string | undefined>, debug?: boolean): Promise<ScanValidatorResponse>;
7
+ }
8
+ export default ZXingScanValidator;
@@ -0,0 +1,13 @@
1
+ import { RecursivePartial } from '../types/helper';
2
+ import { StyleOptions } from '../types/style-options';
3
+ import { Options } from './options';
4
+ /**
5
+ * Maps simplified StyleOptions to the detailed QRCodeJs Options structure.
6
+ * @param styles - The StyleOptions object to map.
7
+ * @returns A RecursivePartial<Options> object reflecting the styles.
8
+ */
9
+ export declare function mapStyleToOptions(styles: StyleOptions): RecursivePartial<Options>;
10
+ export declare function validateStyleOptions(styles: any): {
11
+ isValid: boolean;
12
+ errors: string[];
13
+ };
@@ -0,0 +1,2 @@
1
+ export declare function numToAttr(value: number): string;
2
+ export declare function svgPath(strings: TemplateStringsArray, ...values: unknown[]): string;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Represents the decoded payload of a valid license token.
3
+ */
4
+ export interface DecodedLicenseToken {
5
+ sub: string;
6
+ client: string;
7
+ email?: string;
8
+ domains?: string[];
9
+ iat: number;
10
+ exp: number;
11
+ }
12
+ /**
13
+ * Validates a JWT access token using the public key.
14
+ *
15
+ * @param token The JWT token string to validate.
16
+ * @returns The decoded token payload if the token is valid and not expired.
17
+ * @throws {Error} If the token is invalid, expired, or verification fails for any other reason.
18
+ */
19
+ export declare function validateToken(token: string): Promise<DecodedLicenseToken>;
package/lib/node.d.ts CHANGED
@@ -29,7 +29,10 @@ export declare class QRCodeJs extends _QRCodeJs {
29
29
  * @param url The absolute URL for fetching license tokens (e.g., https://api.example.com/get-token).
30
30
  */
31
31
  static setLicenseUrl(url: string): typeof QRCodeJs;
32
- constructor(options: RecursivePartial<Options>);
32
+ static _xmldomSync: any;
33
+ static _initPromise: Promise<void> | null;
34
+ static initXmldom(): Promise<void>;
35
+ constructor(options: RecursivePartial<Options>, _?: boolean);
33
36
  validateScanning(): Promise<ScanValidatorResponse>;
34
37
  /**
35
38
  * Creates a QRCodeBuilder instance initialized with a specific template.