@wirunrom/hqr-generate 0.2.2 → 0.2.21

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/README.md CHANGED
@@ -55,6 +55,7 @@ const url = URL.createObjectURL(new Blob([bytes], { type: "image/png" }));
55
55
  ## React Hook Helper
56
56
 
57
57
  **useQrPngDataUrl**
58
+
58
59
  A React hook that generates a PNG Data URL and updates automatically when inputs change.
59
60
 
60
61
  ```ts
@@ -73,6 +74,7 @@ function QR() {
73
74
  ```
74
75
 
75
76
  **useQrPngBlobUrl**
77
+
76
78
  A React hook that generates a Blob URL and updates automatically when inputs change.
77
79
 
78
80
  ```ts
@@ -92,7 +94,6 @@ function QR() {
92
94
 
93
95
  ## API Reference
94
96
 
95
- **qr_png_data_url(text, size?, margin?, ecc?)**
96
97
  Generate a QR code and return a PNG Data URL.
97
98
 
98
99
  | Name | Type | Default | Description |
@@ -101,14 +102,3 @@ Generate a QR code and return a PNG Data URL.
101
102
  | size | `number` | `320` | Image size in pixels |
102
103
  | margin | `number` | `4` | Quiet zone (recommended ≥ 4) |
103
104
  | ecc | `"L" \| "M" \| "Q" \| "H"` | `"Q"` | Error correction level |
104
-
105
- **qr_png_bytes(text, size?, margin?, ecc?)**
106
- Generate a QR code and return PNG raw bytes (Uint8Array).
107
- This is the fastest and most memory-efficient option.
108
-
109
- | Name | Type | Default | Description |
110
- | ------ | -------------------------- | ------- | ---------------------------- |
111
- | text | `string` | — | Text to encode |
112
- | size | `number` | `320` | Image size in pixels |
113
- | margin | `number` | `4` | Quiet zone (recommended ≥ 4) |
114
- | ecc | `"L" \| "M" \| "Q" \| "H"` | `"Q"` | Error correction level |
@@ -1,4 +1,4 @@
1
- export type QrEcc = "L" | "M" | "Q" | "H";
1
+ import type { QrEcc } from "../index";
2
2
 
3
3
  export interface UseQrPngOptions {
4
4
  size?: number;
package/index.bundler.js CHANGED
@@ -5,6 +5,19 @@ import init, {
5
5
 
6
6
  let _initPromise;
7
7
 
8
+ function eccToU8(ecc) {
9
+ switch (ecc) {
10
+ case "L":
11
+ return 0;
12
+ case "M":
13
+ return 1;
14
+ case "H":
15
+ return 3;
16
+ default:
17
+ return 2;
18
+ }
19
+ }
20
+
8
21
  async function ensureInit() {
9
22
  if (!_initPromise) _initPromise = init();
10
23
  await _initPromise;
@@ -12,10 +25,10 @@ async function ensureInit() {
12
25
 
13
26
  export async function qr_png_data_url(text, size = 320, margin = 4, ecc = "Q") {
14
27
  await ensureInit();
15
- return _qr_png_data_url(text, size, margin, ecc);
28
+ return _qr_png_data_url(text, size, margin, eccToU8(ecc));
16
29
  }
17
30
 
18
31
  export async function qr_png_bytes(text, size = 320, margin = 4, ecc = "Q") {
19
32
  await ensureInit();
20
- return _qr_png_bytes(text, size, margin, ecc);
33
+ return _qr_png_bytes(text, size, margin, eccToU8(ecc));
21
34
  }
package/index.web.js CHANGED
@@ -5,6 +5,19 @@ import init, {
5
5
 
6
6
  let _initPromise;
7
7
 
8
+ function eccToU8(ecc) {
9
+ switch (ecc) {
10
+ case "L":
11
+ return 0;
12
+ case "M":
13
+ return 1;
14
+ case "H":
15
+ return 3;
16
+ default:
17
+ return 2;
18
+ }
19
+ }
20
+
8
21
  /** @returns {Promise<void>} */
9
22
  async function ensureInit() {
10
23
  if (!_initPromise) _initPromise = init();
@@ -20,10 +33,10 @@ async function ensureInit() {
20
33
  */
21
34
  export async function qr_png_data_url(text, size = 320, margin = 4, ecc = "Q") {
22
35
  await ensureInit();
23
- return _qr_png_data_url(text, size, margin, ecc);
36
+ return _qr_png_data_url(text, size, margin, eccToU8(ecc));
24
37
  }
25
38
 
26
39
  export async function qr_png_bytes(text, size = 320, margin = 4, ecc = "Q") {
27
40
  await ensureInit();
28
- return _qr_png_bytes(text, size, margin, ecc);
41
+ return _qr_png_bytes(text, size, margin, eccToU8(ecc));
29
42
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wirunrom/hqr-generate",
3
- "version": "0.2.2",
3
+ "version": "0.2.21",
4
4
  "description": "Stable black/white QR code generator (PNG data URL) powered by Rust + WASM",
5
5
  "type": "module",
6
6
  "files": [
@@ -55,6 +55,7 @@ const url = URL.createObjectURL(new Blob([bytes], { type: "image/png" }));
55
55
  ## React Hook Helper
56
56
 
57
57
  **useQrPngDataUrl**
58
+
58
59
  A React hook that generates a PNG Data URL and updates automatically when inputs change.
59
60
 
60
61
  ```ts
@@ -73,6 +74,7 @@ function QR() {
73
74
  ```
74
75
 
75
76
  **useQrPngBlobUrl**
77
+
76
78
  A React hook that generates a Blob URL and updates automatically when inputs change.
77
79
 
78
80
  ```ts
@@ -92,7 +94,6 @@ function QR() {
92
94
 
93
95
  ## API Reference
94
96
 
95
- **qr_png_data_url(text, size?, margin?, ecc?)**
96
97
  Generate a QR code and return a PNG Data URL.
97
98
 
98
99
  | Name | Type | Default | Description |
@@ -101,14 +102,3 @@ Generate a QR code and return a PNG Data URL.
101
102
  | size | `number` | `320` | Image size in pixels |
102
103
  | margin | `number` | `4` | Quiet zone (recommended ≥ 4) |
103
104
  | ecc | `"L" \| "M" \| "Q" \| "H"` | `"Q"` | Error correction level |
104
-
105
- **qr_png_bytes(text, size?, margin?, ecc?)**
106
- Generate a QR code and return PNG raw bytes (Uint8Array).
107
- This is the fastest and most memory-efficient option.
108
-
109
- | Name | Type | Default | Description |
110
- | ------ | -------------------------- | ------- | ---------------------------- |
111
- | text | `string` | — | Text to encode |
112
- | size | `number` | `320` | Image size in pixels |
113
- | margin | `number` | `4` | Quiet zone (recommended ≥ 4) |
114
- | ecc | `"L" \| "M" \| "Q" \| "H"` | `"Q"` | Error correction level |
Binary file
package/pkg/web/README.md CHANGED
@@ -55,6 +55,7 @@ const url = URL.createObjectURL(new Blob([bytes], { type: "image/png" }));
55
55
  ## React Hook Helper
56
56
 
57
57
  **useQrPngDataUrl**
58
+
58
59
  A React hook that generates a PNG Data URL and updates automatically when inputs change.
59
60
 
60
61
  ```ts
@@ -73,6 +74,7 @@ function QR() {
73
74
  ```
74
75
 
75
76
  **useQrPngBlobUrl**
77
+
76
78
  A React hook that generates a Blob URL and updates automatically when inputs change.
77
79
 
78
80
  ```ts
@@ -92,7 +94,6 @@ function QR() {
92
94
 
93
95
  ## API Reference
94
96
 
95
- **qr_png_data_url(text, size?, margin?, ecc?)**
96
97
  Generate a QR code and return a PNG Data URL.
97
98
 
98
99
  | Name | Type | Default | Description |
@@ -101,14 +102,3 @@ Generate a QR code and return a PNG Data URL.
101
102
  | size | `number` | `320` | Image size in pixels |
102
103
  | margin | `number` | `4` | Quiet zone (recommended ≥ 4) |
103
104
  | ecc | `"L" \| "M" \| "Q" \| "H"` | `"Q"` | Error correction level |
104
-
105
- **qr_png_bytes(text, size?, margin?, ecc?)**
106
- Generate a QR code and return PNG raw bytes (Uint8Array).
107
- This is the fastest and most memory-efficient option.
108
-
109
- | Name | Type | Default | Description |
110
- | ------ | -------------------------- | ------- | ---------------------------- |
111
- | text | `string` | — | Text to encode |
112
- | size | `number` | `320` | Image size in pixels |
113
- | margin | `number` | `4` | Quiet zone (recommended ≥ 4) |
114
- | ecc | `"L" \| "M" \| "Q" \| "H"` | `"Q"` | Error correction level |
Binary file
package/react/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type QrEcc = "L" | "M" | "Q" | "H";
1
+ import type { QrEcc } from "../index";
2
2
 
3
3
  export interface UseQrPngOptions {
4
4
  size?: number;