@veaba/qrcode-wasm 0.0.3

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.js ADDED
@@ -0,0 +1,347 @@
1
+ /**
2
+ * @veaba/qrcode-wasm - WebAssembly QRCode generator
3
+ *
4
+ * This package provides a unified API that matches @veaba/qrcode-js.
5
+ * All functions use CamelCase naming convention for consistency.
6
+ */
7
+ // Import WASM module (generated by wasm-pack)
8
+ import init, {
9
+ // Core classes
10
+ QRCodeWasm, QRCodeGenerator, StyledQRCode, QRCodeStyle, CorrectLevel,
11
+ // Style generators (snake_case from Rust)
12
+ generate_rounded_qrcode, generate_qrcode_with_logo_area, generate_gradient_qrcode, generate_wechat_style_qrcode, generate_douyin_style_qrcode, generate_alipay_style_qrcode, generate_xiaohongshu_style_qrcode, generate_cyberpunk_style_qrcode, generate_retro_style_qrcode, generate_minimal_style_qrcode,
13
+ // Batch generation
14
+ generate_qrcode_batch, generate_qrcode_fast,
15
+ // Utils
16
+ init_thread_pool, is_parallel_supported, get_version_info, greet, } from '../pkg/qrcodes.js';
17
+ // Re-export CorrectLevel as QRErrorCorrectLevel for API compatibility
18
+ // CorrectLevel comes from WASM (wasm-pack generated)
19
+ export { CorrectLevel as QRErrorCorrectLevel };
20
+ // ============================================
21
+ // Re-export types
22
+ // ============================================
23
+ export { QRCodeStyle, StyledQRCode };
24
+ // QRMode constant
25
+ export const QRMode = { MODE_8BIT_BYTE: 4 };
26
+ // ============================================
27
+ // Core Classes (Unified API)
28
+ // ============================================
29
+ /**
30
+ * QRCode Core Class - Unified API with qrcode-js
31
+ */
32
+ export class QRCodeCore {
33
+ constructor(text, correctLevel = CorrectLevel.H) {
34
+ this.qr = QRCodeWasm.with_options(256, 256, correctLevel);
35
+ if (text) {
36
+ this.qr.make_code(text);
37
+ }
38
+ }
39
+ get moduleCount() {
40
+ return this.qr.get_module_count();
41
+ }
42
+ getModuleCount() {
43
+ return this.qr.get_module_count();
44
+ }
45
+ isDark(row, col) {
46
+ return this.qr.is_dark(row, col);
47
+ }
48
+ toSVG(size = 256) {
49
+ return this.qr.get_svg();
50
+ }
51
+ toStyledSVG(options = {}) {
52
+ const style = new QRCodeStyle();
53
+ style.set_size(options.size || 256);
54
+ if (options.colorDark && options.colorLight) {
55
+ style.set_colors(options.colorDark, options.colorLight);
56
+ }
57
+ if (options.borderRadius !== undefined) {
58
+ style.set_border_radius(options.borderRadius);
59
+ }
60
+ if (options.quietZone !== undefined) {
61
+ style.set_quiet_zone(options.quietZone);
62
+ }
63
+ if (options.gradient) {
64
+ style.set_gradient(true, options.gradient.color1, options.gradient.color2);
65
+ }
66
+ if (options.logoRegions && options.logoRegions.length > 0) {
67
+ const region = options.logoRegions[0];
68
+ const ratio = region.size / this.moduleCount;
69
+ style.set_logo(true, ratio);
70
+ }
71
+ const styled = new StyledQRCode();
72
+ // Copy data from this.qr to styled
73
+ // Note: This is a simplified version
74
+ return this.qr.get_svg();
75
+ }
76
+ }
77
+ // Alias for compatibility
78
+ export const QRCode = QRCodeCore;
79
+ // QRErrorCorrectLevel type is defined at the top of the file
80
+ // ============================================
81
+ // Cache System (Unified with qrcode-js)
82
+ // ============================================
83
+ class LRUCache {
84
+ constructor(options = {}) {
85
+ this.cache = new Map();
86
+ this.maxSize = options.maxSize || 100;
87
+ this.enabled = options.enabled !== false;
88
+ }
89
+ get(key) {
90
+ if (!this.enabled)
91
+ return undefined;
92
+ const value = this.cache.get(key);
93
+ if (value !== undefined) {
94
+ this.cache.delete(key);
95
+ this.cache.set(key, value);
96
+ }
97
+ return value;
98
+ }
99
+ set(key, value) {
100
+ if (!this.enabled)
101
+ return;
102
+ if (this.cache.has(key)) {
103
+ this.cache.delete(key);
104
+ }
105
+ else if (this.cache.size >= this.maxSize) {
106
+ const firstKey = this.cache.keys().next().value;
107
+ if (firstKey !== undefined) {
108
+ this.cache.delete(firstKey);
109
+ }
110
+ }
111
+ this.cache.set(key, value);
112
+ }
113
+ clear() {
114
+ this.cache.clear();
115
+ }
116
+ get size() {
117
+ return this.cache.size;
118
+ }
119
+ get keys() {
120
+ return Array.from(this.cache.keys());
121
+ }
122
+ }
123
+ const qrCodeCache = new LRUCache();
124
+ function getCacheKey(text, correctLevel) {
125
+ return `${text}:${correctLevel}`;
126
+ }
127
+ /**
128
+ * Get cached QRCode (creates and caches if not exists)
129
+ */
130
+ export function getCachedQRCode(text, correctLevel = CorrectLevel.H) {
131
+ const key = getCacheKey(text, correctLevel);
132
+ let qr = qrCodeCache.get(key);
133
+ if (!qr) {
134
+ qr = new QRCodeCore(text, correctLevel);
135
+ qrCodeCache.set(key, qr);
136
+ }
137
+ return qr;
138
+ }
139
+ /**
140
+ * Clear QRCode cache
141
+ */
142
+ export function clearQRCodeCache() {
143
+ qrCodeCache.clear();
144
+ }
145
+ /**
146
+ * Get cache statistics
147
+ */
148
+ export function getCacheStats() {
149
+ return {
150
+ size: qrCodeCache.size,
151
+ maxSize: 100,
152
+ keys: qrCodeCache.keys
153
+ };
154
+ }
155
+ /**
156
+ * Configure cache options
157
+ */
158
+ export function configureCache(options) {
159
+ Object.assign(qrCodeCache, new LRUCache(options));
160
+ }
161
+ // ============================================
162
+ // Style Generators (CamelCase API)
163
+ // ============================================
164
+ /**
165
+ * Generate rounded QRCode
166
+ */
167
+ export function generateRoundedQRCode(text, size = 256, radius = 8) {
168
+ return generate_rounded_qrcode(text, size, radius);
169
+ }
170
+ /**
171
+ * Generate QRCode with logo area
172
+ */
173
+ export function generateQRCodeWithLogoArea(text, size = 256, logoRatio = 0.2) {
174
+ return generate_qrcode_with_logo_area(text, size, logoRatio);
175
+ }
176
+ /**
177
+ * Generate gradient QRCode
178
+ */
179
+ export function generateGradientQRCode(text, size = 256, color1 = '#667eea', color2 = '#764ba2') {
180
+ return generate_gradient_qrcode(text, size, color1, color2);
181
+ }
182
+ /**
183
+ * Generate WeChat style QRCode
184
+ */
185
+ export function generateWechatStyleQRCode(text, size = 256) {
186
+ return generate_wechat_style_qrcode(text, size);
187
+ }
188
+ /**
189
+ * Generate Douyin style QRCode
190
+ */
191
+ export function generateDouyinStyleQRCode(text, size = 256) {
192
+ return generate_douyin_style_qrcode(text, size);
193
+ }
194
+ /**
195
+ * Generate Alipay style QRCode
196
+ */
197
+ export function generateAlipayStyleQRCode(text, size = 256) {
198
+ return generate_alipay_style_qrcode(text, size);
199
+ }
200
+ /**
201
+ * Generate Xiaohongshu style QRCode
202
+ */
203
+ export function generateXiaohongshuStyleQRCode(text, size = 256) {
204
+ return generate_xiaohongshu_style_qrcode(text, size);
205
+ }
206
+ /**
207
+ * Generate Cyberpunk style QRCode
208
+ */
209
+ export function generateCyberpunkStyleQRCode(text, size = 256) {
210
+ return generate_cyberpunk_style_qrcode(text, size);
211
+ }
212
+ /**
213
+ * Generate Retro style QRCode
214
+ */
215
+ export function generateRetroStyleQRCode(text, size = 256) {
216
+ return generate_retro_style_qrcode(text, size);
217
+ }
218
+ /**
219
+ * Generate Minimal style QRCode
220
+ */
221
+ export function generateMinimalStyleQRCode(text, size = 256) {
222
+ return generate_minimal_style_qrcode(text, size);
223
+ }
224
+ // ============================================
225
+ // Cached Style Generators
226
+ // ============================================
227
+ export function generateRoundedQRCodeCached(text, size = 256, radius = 8) {
228
+ getCachedQRCode(text, CorrectLevel.H);
229
+ // Use the WASM function with cached QR data
230
+ return generate_rounded_qrcode(text, size, radius);
231
+ }
232
+ export function generateQRCodeWithLogoAreaCached(text, size = 256, logoRatio = 0.2) {
233
+ getCachedQRCode(text, CorrectLevel.H);
234
+ return generate_qrcode_with_logo_area(text, size, logoRatio);
235
+ }
236
+ export function generateGradientQRCodeCached(text, size = 256, color1 = '#667eea', color2 = '#764ba2') {
237
+ getCachedQRCode(text, CorrectLevel.H);
238
+ return generate_gradient_qrcode(text, size, color1, color2);
239
+ }
240
+ export function generateWechatStyleQRCodeCached(text, size = 256) {
241
+ getCachedQRCode(text, CorrectLevel.H);
242
+ return generate_wechat_style_qrcode(text, size);
243
+ }
244
+ export function generateDouyinStyleQRCodeCached(text, size = 256) {
245
+ getCachedQRCode(text, CorrectLevel.H);
246
+ return generate_douyin_style_qrcode(text, size);
247
+ }
248
+ export function generateAlipayStyleQRCodeCached(text, size = 256) {
249
+ getCachedQRCode(text, CorrectLevel.H);
250
+ return generate_alipay_style_qrcode(text, size);
251
+ }
252
+ export function generateXiaohongshuStyleQRCodeCached(text, size = 256) {
253
+ getCachedQRCode(text, CorrectLevel.H);
254
+ return generate_xiaohongshu_style_qrcode(text, size);
255
+ }
256
+ export function generateCyberpunkStyleQRCodeCached(text, size = 256) {
257
+ getCachedQRCode(text, CorrectLevel.H);
258
+ return generate_cyberpunk_style_qrcode(text, size);
259
+ }
260
+ export function generateRetroStyleQRCodeCached(text, size = 256) {
261
+ getCachedQRCode(text, CorrectLevel.H);
262
+ return generate_retro_style_qrcode(text, size);
263
+ }
264
+ export function generateMinimalStyleQRCodeCached(text, size = 256) {
265
+ getCachedQRCode(text, CorrectLevel.H);
266
+ return generate_minimal_style_qrcode(text, size);
267
+ }
268
+ // ============================================
269
+ // Batch Generation (CamelCase API)
270
+ // ============================================
271
+ /**
272
+ * Generate batch QRCodes
273
+ */
274
+ export function generateBatchQRCodes(texts, options = {}) {
275
+ const level = options.correctLevel ?? CorrectLevel.H;
276
+ return generate_qrcode_batch(texts, level);
277
+ }
278
+ /**
279
+ * Generate batch QRCodes (cached)
280
+ */
281
+ export function generateBatchQRCodesCached(texts, options = {}) {
282
+ return texts.map(text => {
283
+ getCachedQRCode(text, options.correctLevel || CorrectLevel.H);
284
+ return generate_qrcode_fast(text, options.size || 256);
285
+ });
286
+ }
287
+ // ============================================
288
+ // Async Generation (Unified API)
289
+ // ============================================
290
+ /**
291
+ * Generate QRCode asynchronously
292
+ */
293
+ export function generateQRCodeAsync(text, options = {}) {
294
+ return new Promise((resolve) => {
295
+ const useCache = options.cache !== false;
296
+ let qr;
297
+ if (useCache) {
298
+ qr = getCachedQRCode(text, options.correctLevel || CorrectLevel.H);
299
+ }
300
+ else {
301
+ qr = new QRCodeCore(text, options.correctLevel || CorrectLevel.H);
302
+ }
303
+ const svg = options.styled
304
+ ? qr.toStyledSVG({ size: options.size || 256, ...options.style })
305
+ : qr.toSVG(options.size || 256);
306
+ resolve({
307
+ text,
308
+ svg,
309
+ moduleCount: qr.getModuleCount()
310
+ });
311
+ });
312
+ }
313
+ /**
314
+ * Generate batch QRCodes asynchronously
315
+ */
316
+ export function generateBatchAsync(texts, options = {}) {
317
+ return Promise.all(texts.map(text => generateQRCodeAsync(text, options)));
318
+ }
319
+ // ============================================
320
+ // Snake_case Aliases (Backward Compatibility)
321
+ // ============================================
322
+ export const generate_rounded_qrcode_alias = generateRoundedQRCodeCached;
323
+ export const generate_qrcode_with_logo_area_alias = generateQRCodeWithLogoAreaCached;
324
+ export const generate_gradient_qrcode_alias = generateGradientQRCodeCached;
325
+ export const generate_wechat_style_qrcode_alias = generateWechatStyleQRCodeCached;
326
+ export const generate_douyin_style_qrcode_alias = generateDouyinStyleQRCodeCached;
327
+ export const generate_alipay_style_qrcode_alias = generateAlipayStyleQRCodeCached;
328
+ export const generate_xiaohongshu_style_qrcode_alias = generateXiaohongshuStyleQRCodeCached;
329
+ export const generate_cyberpunk_style_qrcode_alias = generateCyberpunkStyleQRCodeCached;
330
+ export const generate_retro_style_qrcode_alias = generateRetroStyleQRCodeCached;
331
+ export const generate_minimal_style_qrcode_alias = generateMinimalStyleQRCodeCached;
332
+ // ============================================
333
+ // Constants
334
+ // ============================================
335
+ export const VERSION = '0.2.0';
336
+ export function getVersionInfo() {
337
+ return get_version_info();
338
+ }
339
+ // ============================================
340
+ // WASM Specific Exports
341
+ // ============================================
342
+ export { init, init_thread_pool, is_parallel_supported, QRCodeGenerator, greet, };
343
+ // ============================================
344
+ // Default Export
345
+ // ============================================
346
+ export default QRCodeCore;
347
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Type definitions for @veaba/qrcode-wasm
3
+ * Matches the API of @veaba/qrcode-js
4
+ */
5
+ /**
6
+ * QR Code error correction level
7
+ * L: ~7%, M: ~15%, Q: ~25%, H: ~30%
8
+ */
9
+ export declare enum QRErrorCorrectLevel {
10
+ L = 1,// Low (~7%)
11
+ M = 0,// Medium (~15%)
12
+ Q = 3,// Quartile (~25%)
13
+ H = 2
14
+ }
15
+ /**
16
+ * QR Code mode
17
+ */
18
+ export declare const QRMode: {
19
+ readonly MODE_8BIT_BYTE: 4;
20
+ };
21
+ export type CorrectLevel = QRErrorCorrectLevel;
22
+ export interface QRCodeOptions {
23
+ /** QRCode text content */
24
+ text: string;
25
+ /** Error correction level */
26
+ correctLevel?: QRErrorCorrectLevel;
27
+ /** QRCode size in pixels */
28
+ size?: number;
29
+ /** Dark color */
30
+ colorDark?: string;
31
+ /** Light color */
32
+ colorLight?: string;
33
+ }
34
+ export interface StyledSVGOptions {
35
+ /** Size in pixels */
36
+ size?: number;
37
+ /** Dark color */
38
+ colorDark?: string;
39
+ /** Light color */
40
+ colorLight?: string;
41
+ /** Border radius */
42
+ borderRadius?: number;
43
+ /** Gradient configuration */
44
+ gradient?: {
45
+ color1: string;
46
+ color2: string;
47
+ } | null;
48
+ /** Quiet zone size */
49
+ quietZone?: number;
50
+ /** Logo regions */
51
+ logoRegions?: Array<{
52
+ row: number;
53
+ col: number;
54
+ size: number;
55
+ }>;
56
+ }
57
+ export interface QRCodeResult {
58
+ /** Text content */
59
+ text: string;
60
+ /** SVG string */
61
+ svg: string;
62
+ /** Module count */
63
+ moduleCount: number;
64
+ }
65
+ export interface CacheOptions {
66
+ maxSize?: number;
67
+ enabled?: boolean;
68
+ }
69
+ export declare class QRCodeCore {
70
+ constructor(text: string, correctLevel?: QRErrorCorrectLevel);
71
+ /** Module count */
72
+ readonly moduleCount: number;
73
+ /** Get module count */
74
+ getModuleCount(): number;
75
+ /** Check if position is dark */
76
+ isDark(row: number, col: number): boolean;
77
+ /** Generate SVG */
78
+ toSVG(size?: number): string;
79
+ /** Generate styled SVG */
80
+ toStyledSVG(options?: StyledSVGOptions): string;
81
+ }
82
+ export type QRCode = QRCodeCore;
83
+ export declare function getCachedQRCode(text: string, correctLevel?: QRErrorCorrectLevel): QRCodeCore;
84
+ export declare function clearQRCodeCache(): void;
85
+ export declare function getCacheStats(): {
86
+ size: number;
87
+ maxSize: number;
88
+ keys: string[];
89
+ };
90
+ export declare function configureCache(options: CacheOptions): void;
91
+ export declare function generateRoundedQRCode(text: string, size?: number, radius?: number): string;
92
+ export declare function generateQRCodeWithLogoArea(text: string, size?: number, logoRatio?: number): string;
93
+ export declare function generateGradientQRCode(text: string, size?: number, color1?: string, color2?: string): string;
94
+ export declare function generateWechatStyleQRCode(text: string, size?: number): string;
95
+ export declare function generateDouyinStyleQRCode(text: string, size?: number): string;
96
+ export declare function generateAlipayStyleQRCode(text: string, size?: number): string;
97
+ export declare function generateXiaohongshuStyleQRCode(text: string, size?: number): string;
98
+ export declare function generateCyberpunkStyleQRCode(text: string, size?: number): string;
99
+ export declare function generateRetroStyleQRCode(text: string, size?: number): string;
100
+ export declare function generateMinimalStyleQRCode(text: string, size?: number): string;
101
+ export declare function generateRoundedQRCodeCached(text: string, size?: number, radius?: number): string;
102
+ export declare function generateQRCodeWithLogoAreaCached(text: string, size?: number, logoRatio?: number): string;
103
+ export declare function generateGradientQRCodeCached(text: string, size?: number, color1?: string, color2?: string): string;
104
+ export declare function generateWechatStyleQRCodeCached(text: string, size?: number): string;
105
+ export declare function generateDouyinStyleQRCodeCached(text: string, size?: number): string;
106
+ export declare function generateAlipayStyleQRCodeCached(text: string, size?: number): string;
107
+ export declare function generateXiaohongshuStyleQRCodeCached(text: string, size?: number): string;
108
+ export declare function generateCyberpunkStyleQRCodeCached(text: string, size?: number): string;
109
+ export declare function generateRetroStyleQRCodeCached(text: string, size?: number): string;
110
+ export declare function generateMinimalStyleQRCodeCached(text: string, size?: number): string;
111
+ export declare function generateBatchQRCodes(texts: string[], options?: Partial<QRCodeOptions>): string[];
112
+ export declare function generateBatchQRCodesCached(texts: string[], options?: Partial<QRCodeOptions> & {
113
+ styled?: boolean;
114
+ style?: StyledSVGOptions;
115
+ }): string[];
116
+ export declare function generateQRCodeAsync(text: string, options?: Partial<QRCodeOptions> & {
117
+ styled?: boolean;
118
+ style?: StyledSVGOptions;
119
+ cache?: boolean;
120
+ }): Promise<QRCodeResult>;
121
+ export declare function generateBatchAsync(texts: string[], options?: Partial<QRCodeOptions> & {
122
+ styled?: boolean;
123
+ style?: StyledSVGOptions;
124
+ cache?: boolean;
125
+ }): Promise<QRCodeResult[]>;
126
+ export declare const VERSION: string;
127
+ export declare function getVersionInfo(): string;
128
+ export interface WasmModule {
129
+ init(): Promise<void>;
130
+ }
131
+ export declare function init(): Promise<void>;
132
+ export declare function init_thread_pool(num_threads: number): Promise<void>;
133
+ export declare function is_parallel_supported(): boolean;
134
+ export declare function greet(): void;
135
+ export type { QRCodeWasm, QRCodeGenerator, StyledQRCode, QRCodeStyle, } from '../pkg/qrcodes.js';
136
+ export default QRCodeCore;
137
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Type definitions for @veaba/qrcode-wasm
3
+ * Matches the API of @veaba/qrcode-js
4
+ */
5
+ /**
6
+ * QR Code mode
7
+ */
8
+ export const QRMode = {
9
+ MODE_8BIT_BYTE: 4,
10
+ };
11
+ // ============================================
12
+ // Default Export
13
+ // ============================================
14
+ export default QRCodeCore;
15
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiBH;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,cAAc,EAAE,CAAC;CACT,CAAC;AAsKX,+CAA+C;AAC/C,iBAAiB;AACjB,+CAA+C;AAE/C,eAAe,UAAU,CAAC"}
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@veaba/qrcode-wasm",
3
+ "version": "0.0.3",
4
+ "description": "WebAssembly QRCode generator - Unified API with qrcode-js",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "module": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/index.js",
12
+ "types": "./dist/index.d.ts"
13
+ }
14
+ },
15
+ "files": [
16
+ "dist",
17
+ "pkg"
18
+ ],
19
+ "keywords": [
20
+ "qrcode",
21
+ "rust",
22
+ "wasm",
23
+ "webassembly",
24
+ "qr",
25
+ "barcode"
26
+ ],
27
+ "author": "veaba",
28
+ "license": "MIT",
29
+ "repository": {
30
+ "type": "git",
31
+ "url": "https://github.com/veaba/qrcodes"
32
+ },
33
+ "publishConfig": {
34
+ "access": "public"
35
+ },
36
+ "devDependencies": {
37
+ "typescript": "^5.0.0",
38
+ "@veaba/qrcode-js": "0.0.3"
39
+ },
40
+ "scripts": {
41
+ "build:wasm": "wasm-pack build --target web --out-dir pkg && node scripts/fix-pkg.js",
42
+ "build:ts": "tsc",
43
+ "build": "npm run build:wasm && npm run build:ts",
44
+ "build:node": "wasm-pack build --target nodejs --out-dir pkg && node scripts/fix-pkg.js",
45
+ "build:bundler": "wasm-pack build --target bundler --out-dir pkg && node scripts/fix-pkg.js"
46
+ }
47
+ }
package/pkg/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2022 Godpu
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.