From 8b893d9661135adaf0f675a793f4408f4632e349 Mon Sep 17 00:00:00 2001 From: "Ricardo (XenGi) Band" Date: Fri, 15 Aug 2025 22:35:11 +0200 Subject: [PATCH] no cookies anymore; only localstorage --- Makefile | 5 +- js/index.js | 49 +- js/qr-creator.es6.min.js | 29 + js/qr-creator.js | 1502 +------------------------------------- js/qr-creator.min.js.map | 8 + js/service-worker.js | 7 +- 6 files changed, 93 insertions(+), 1507 deletions(-) create mode 100644 js/qr-creator.es6.min.js create mode 100644 js/qr-creator.min.js.map diff --git a/Makefile b/Makefile index 7064858..088f62f 100644 --- a/Makefile +++ b/Makefile @@ -12,8 +12,9 @@ bulma: .PHONY: qr-creator qr-creator: - curl -Lsf https://cdn.jsdelivr.net/npm/qr-creator/dist/qr-creator.min.js -o js/qr-creator.min.js - curl -Lsf https://raw.githubusercontent.com/nimiq/qr-creator/refs/heads/master/src/qr-creator.js -o js/qr-creator.js + curl -Lsf https://unpkg.com/qr-creator@1.0.0/dist/qr-creator.es6.min.js -o js/qr-creator.es6.min.js + curl -Lsf https://unpkg.com/qr-creator@1.0.0/dist/qr-creator.min.js -o js/qr-creator.min.js + curl -Lsf https://unpkg.com/qr-creator@1.0.0/dist/qr-creator.min.js.map -o js/qr-creator.min.js.map .PHONY: install install: diff --git a/js/index.js b/js/index.js index 2a4cac6..0b8076c 100644 --- a/js/index.js +++ b/js/index.js @@ -1,30 +1,11 @@ -getCookie = () => { - let name = "brudi="; - let decodedCookie = decodeURIComponent(document.cookie); - let ca = decodedCookie.split(';'); - for(let i = 0; i { - const d = new Date(); - d.setTime(d.getTime() + (180*24*60*60*1000)); // 180 days - const data = JSON.stringify({ +saveFormData = () => { + localStorage.setItem("bezahlbrudiFormData", JSON.stringify({ name: document.querySelector("#name input").value, iban: document.querySelector("#iban input").value.toUpperCase(), bic: document.querySelector("#bic input").value.toUpperCase(), amount: parseFloat(document.querySelector("#amount input").value).toFixed(2), purpose: document.querySelector("#purpose input").value - }); - document.cookie = `brudi=${data};expires=${d.toUTCString()};path=/;SameSite=Strict;Secure`; + })); } // Field data checks @@ -162,10 +143,9 @@ document.querySelector("#purpose input").addEventListener("input", (event) => { // Remember inputs document.querySelector("#rememberme").addEventListener("change", (event) => { if (event.target.checked) { - console.log("Save Name, IBAN and BIC to cookie.."); - setCookie(); + saveFormData(); } else { - console.log("Remove Cookie.."); + localStorage.clear(); } }) @@ -229,19 +209,20 @@ ${document.querySelector("#purpose input").value} } if (document.querySelector("#rememberme").checked) { - setCookie() + saveFormData(); } } } -// Fill in form from cookie -const cookie = getCookie(); -if (cookie !== "") { - document.querySelector("#name input").value = cookie.name; - document.querySelector("#iban input").value = cookie.iban; - document.querySelector("#bic input").value = cookie.bic; - document.querySelector("#amount input").value = cookie.amount; - document.querySelector("#purpose input").value = cookie.purpose; +// Fill in form from local storage +const savedData = localStorage.getItem("bezahlbrudiFormData"); +if (savedData) { + const formData = JSON.parse(savedData); + document.querySelector("#name input").value = formData["name"]; + document.querySelector("#iban input").value = formData["iban"]; + document.querySelector("#bic input").value = formData["bic"]; + document.querySelector("#amount input").value = formData["amount"]; + document.querySelector("#purpose input").value = formData["purpose"]; document.querySelector("#rememberme").checked = true; } diff --git a/js/qr-creator.es6.min.js b/js/qr-creator.es6.min.js new file mode 100644 index 0000000..da41082 --- /dev/null +++ b/js/qr-creator.es6.min.js @@ -0,0 +1,29 @@ +/* + jquery-qrcode v0.14.0 - https://larsjung.de/jquery-qrcode/ */ +'use strict';let G=null;class H{}H.render=function(w,B){G(w,B)};self.QrCreator=H; +(function(w){function B(t,c,a,e){var b={},h=w(a,c);h.u(t);h.J();e=e||0;var r=h.h(),d=h.h()+2*e;b.text=t;b.level=c;b.version=a;b.O=d;b.a=function(b,a){b-=e;a-=e;return 0>b||b>=r||0>a||a>=r?!1:h.a(b,a)};return b}function C(t,c,a,e,b,h,r,d,g,x){function u(b,a,f,c,d,r,g){b?(t.lineTo(a+r,f+g),t.arcTo(a,f,c,d,h)):t.lineTo(a,f)}r?t.moveTo(c+h,a):t.moveTo(c,a);u(d,e,a,e,b,-h,0);u(g,e,b,c,b,0,-h);u(x,c,b,c,a,h,0);u(r,c,a,e,a,0,h)}function z(t,c,a,e,b,h,r,d,g,x){function u(b,a,c,d){t.moveTo(b+c,a);t.lineTo(b, +a);t.lineTo(b,a+d);t.arcTo(b,a,b+c,a,h)}r&&u(c,a,h,h);d&&u(e,a,-h,h);g&&u(e,b,-h,-h);x&&u(c,b,h,-h)}function A(t,c){var a=c.fill;if("string"===typeof a)t.fillStyle=a;else{var e=a.type,b=a.colorStops;a=a.position.map((b)=>Math.round(b*c.size));if("linear-gradient"===e)var h=t.createLinearGradient.apply(t,a);else if("radial-gradient"===e)h=t.createRadialGradient.apply(t,a);else throw Error("Unsupported fill");b.forEach(([b,a])=>{h.addColorStop(b,a)});t.fillStyle=h}}function y(t,c){a:{var a=c.text,e= +c.v,b=c.N,h=c.K,r=c.P;b=Math.max(1,b||1);for(h=Math.min(40,h||40);b<=h;b+=1)try{var d=B(a,e,b,r);break a}catch(J){}d=void 0}if(!d)return null;a=t.getContext("2d");c.background&&(a.fillStyle=c.background,a.fillRect(c.left,c.top,c.size,c.size));e=d.O;h=c.size/e;a.beginPath();for(r=0;r>>7-b%8&1)},put:function(b,h){for(var a=0;a>>h-a-1&1))},f:function(){return a},m:function(b){var h=Math.floor(a/8);c.length<=h&&c.push(0);b&&(c[h]|=128>>>a%8);a+=1}};return e}function C(c,a){function e(b,h){for(var a=-1;7>=a;a+=1)if(!(-1>=b+a||d<=b+a))for(var c=-1;7>=c;c+=1)-1>=h+c||d<=h+c||(r[b+a][h+c]=0<=a&&6>=a&&(0==c||6==c)||0<=c&&6>=c&&(0==a||6==a)||2<=a&&4>=a&&2<=c&&4>=c?!0:!1)}function b(b,a){for(var f=d=4*c+17,k=Array(f),m=0;m< +f;m+=1){k[m]=Array(f);for(var p=0;p=n;n+=1)for(var l=-2;2>=l;l+=1)r[p+n][q+l]=-2==n||2==n||-2==l||2==l||0==n&&0==l}for(f=8;fk;k+=1)m=!b&&1==(f>>k&1),r[6>k?k:8>k?k+1:d-15+k][8]=m,r[8][8>k?d-k-1:9>k?15-k:14-k]=m;r[d-8][8]=!b;if(7<= +c){f=y.A(c);for(k=0;18>k;k+=1)m=!b&&1==(f>>k&1),r[Math.floor(k/3)][k%3+d-8-3]=m;for(k=0;18>k;k+=1)m=!b&&1==(f>>k&1),r[k%3+d-8-3][Math.floor(k/3)]=m}if(null==g){b=t.I(c,h);f=B();for(k=0;k8*m)throw Error("code length overflow. ("+f.f()+">"+8*m+")");for(f.f()+4<=8*m&&f.put(0,4);0!=f.f()%8;)f.m(!1);for(;!(f.f()>=8*m);){f.put(236,8);if(f.f()>=8*m)break;f.put(17,8)}var u=0;m=k=0;p=Array(b.length); +q=Array(b.length);for(n=0;nn;n+=1)null==r[k][q-n]&&(l=!1,p>>m&1)),a(k,q-n)&&(l=!l),r[k][q-n]=l,--m,-1==m&&(p+=1,m=7));k+=f;if(0>k||d<=k){k-=f;f=-f;break}}}var h=A[a],r=null,d=0,g=null,x=[],u={u:function(b){b=w(b);x.push(b);g=null},a:function(b,a){if(0>b||d<=b||0>a||d<=a)throw Error(b+","+a);return r[b][a]},h:function(){return d},J:function(){for(var a=0,h=0,c=0;8>c;c+=1){b(!0,c);var d=y.D(u);if(0==c||a>d)a=d,h=c}b(!1,h)}};return u} +function z(c,a){if("undefined"==typeof c.length)throw Error(c.length+"/"+a);var e=function(){for(var b=0;bb.b()-a.b())return b;for(var c=v.g(b.c(0))-v.g(a.c(0)),h=Array(b.b()), +g=0;gb?a.push(b):2048>b?a.push(192|b>>6,128|b&63):55296>b||57344<=b?a.push(224|b>>12,128|b>>6&63,128|b&63):(e++,b=65536+((b&1023)<<10|c.charCodeAt(e)&1023),a.push(240|b>>18,128|b>>12&63,128|b>>6&63,128|b&63))}return a};var A={L:1,M:0,Q:3,H:2},y=function(){function c(b){for(var a=0;0!=b;)a+=1,b>>>=1;return a}var a=[[],[6,18], +[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154], +[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],e={w:function(b){for(var a=b<<10;0<=c(a)-c(1335);)a^=1335<a||40a?8:16},D:function(b){for(var a=b.h(),c=0, +d=0;d=p;p+=1)if(!(0>d+p||a<=d+p))for(var q=-1;1>=q;q+=1)0>g+q||a<=g+q||(0!=p||0!=q)&&t==b.a(d+p,g+q)&&(e+=1);5e;e+=1)c[e]=1<e;e+=1)c[e]=c[e-4]^c[e-5]^c[e-6]^c[e-8];for(e=0;255>e;e+=1)a[c[e]]=e;return{g:function(b){if(1>b)throw Error("glog("+b+")");return a[b]},i:function(b){for(;0>b;)b+=255;for(;256<=b;)b-=255;return c[b]}}}(),t=function(){function c(b,c){switch(c){case A.L:return a[4* +(b-1)];case A.M:return a[4*(b-1)+1];case A.Q:return a[4*(b-1)+2];case A.H:return a[4*(b-1)+3]}}var a=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36, +2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73, +45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4, +151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117], +[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48], +[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],e={I:function(b,a){var e=c(b,a);if("undefined"== +typeof e)throw Error("bad rs block @ typeNumber:"+b+"/errorCorrectLevel:"+a);b=e.length/3;a=[];for(var d=0;d= qrModuleCount || col < 0 || col >= qrModuleCount) { - return false; - } - return vqr.isDark(row, col); - } - - qr.text = text; - qr.level = level; - qr.version = version; - qr.moduleCount = quietModuleCount; - qr.isDark = isDark; -// qr.addBlank = addBlank; - - return qr; - } - - // Returns a minimal QR code for the given text starting with version `minVersion`. - // Returns `undefined` if `text` is too long to be encoded in `maxVersion`. - function createMinQRCode(text, level, minVersion, maxVersion, quiet) { - minVersion = Math.max(1, minVersion || 1); - maxVersion = Math.min(40, maxVersion || 40); - for (var version = minVersion; version <= maxVersion; version += 1) { - try { - return createQRCode(text, level, version, quiet); - } catch (err) { } - } - return undefined; - } - - function drawBackground(qr, context, settings) { - if (settings.background) { - context.fillStyle = settings.background; - context.fillRect(settings.left, settings.top, settings.size, settings.size); - } - } - - // used when center is filled - function drawModuleRoundedDark(ctx, l, t, r, b, rad, nw, ne, se, sw) { - //let moveTo = (x, y) => ctx.moveTo(Math.floor(x), Math.floor(y)); - if (nw) { - ctx.moveTo(l + rad, t); - } else { - ctx.moveTo(l, t); - } - - function lal(b, x0, y0, x1, y1, r0, r1) { - if (b) { - ctx.lineTo(x0 + r0, y0 + r1); - ctx.arcTo(x0, y0, x1, y1, rad); - } else { - ctx.lineTo(x0, y0); - } - } - - lal(ne, r, t, r, b, -rad, 0); - lal(se, r, b, l, b, 0, -rad); - lal(sw, l, b, l, t, rad, 0); - lal(nw, l, t, r, t, 0, rad); - } - - // used when center is empty - function drawModuleRoundendLight(ctx, l, t, r, b, rad, nw, ne, se, sw) { - function mlla(x, y, r0, r1) { - ctx.moveTo(x+r0, y); - ctx.lineTo(x, y); - ctx.lineTo(x, y+r1); - ctx.arcTo(x, y, x+r0, y, rad); - } - - if (nw) mlla(l, t, rad, rad); - if (ne) mlla(r, t, -rad, rad); - if (se) mlla(r, b, -rad, -rad); - if (sw) mlla(l, b, rad, -rad); - } - - function drawModuleRounded(qr, context, settings, left, top, width, row, col) { - var isDark = qr.isDark, - right = left + width, - bottom = top + width, - rowT = row - 1, - rowB = row + 1, - colL = col - 1, - colR = col + 1, - radius = Math.floor(Math.min(0.5, Math.max(0, settings.radius)) * width), - center = isDark(row, col), - northwest = isDark(rowT, colL), - north = isDark(rowT, col), - northeast = isDark(rowT, colR), - east = isDark(row, colR), - southeast = isDark(rowB, colR), - south = isDark(rowB, col), - southwest = isDark(rowB, colL), - west = isDark(row, colL); - - left = Math.round(left); - top = Math.round(top); - right = Math.round(right); - bottom = Math.round(bottom); - - if (center) { - drawModuleRoundedDark(context, left, top, right, bottom, radius, !north && !west, !north && !east, !south && !east, !south && !west); - } else { - drawModuleRoundendLight(context, left, top, right, bottom, radius, north && west && northwest, north && east && northeast, south && east && southeast, south && west && southwest); - } - } - - function drawModules(qr, context, settings) { - var moduleCount = qr.moduleCount, - moduleSize = settings.size / moduleCount, - row, - col; - - context.beginPath(); - for (row = 0; row < moduleCount; row += 1) { - for (col = 0; col < moduleCount; col += 1) { - var l = settings.left + col * moduleSize, - t = settings.top + row * moduleSize, - w = moduleSize; - - drawModuleRounded(qr, context, settings, l, t, w, row, col); - } - } - - setFill(context, settings); - context.fill(); - } - - function setFill(context, settings) { - const fill = settings.fill; - if (typeof fill === 'string') { - // solid color - context.fillStyle = fill; - return; - } - const type = fill['type'], - position = fill['position'], - colorStops = fill['colorStops']; - let gradient; - const absolutePosition = position.map(coordinate => Math.round(coordinate * settings.size)); - if (type === 'linear-gradient') { - gradient = context.createLinearGradient.apply(context, absolutePosition); - } else if (type === 'radial-gradient') { - gradient = context.createRadialGradient.apply(context, absolutePosition); - } else { - throw new Error('Unsupported fill'); - } - colorStops.forEach(([offset, color]) => { - gradient.addColorStop(offset, color); - }); - context.fillStyle = gradient; - } - - // Draws QR code to the given `canvas` and returns it. - function drawOnCanvas(canvas, settings) { - var qr = createMinQRCode(settings.text, settings.ecLevel, settings.minVersion, settings.maxVersion, settings.quiet); - if (!qr) { - return null; - } - - var context = canvas.getContext('2d'); - - drawBackground(qr, context, settings); - drawModules(qr, context, settings); - - return canvas; - } - - // Returns a `canvas` element representing the QR code for the given settings. - function createCanvas(settings) { - var $canvas = document.createElement('canvas'); - $canvas.width = settings.size; - $canvas.height = settings.size; - return drawOnCanvas($canvas, settings); - } - - // Plugin - // ====== - - // Default settings - // ---------------- - var defaults = { - // version range somewhere in 1 .. 40 - 'minVersion': 1, - 'maxVersion': 40, - - // error correction level: `'L'`, `'M'`, `'Q'` or `'H'` - 'ecLevel': 'L', - - // offset in pixel if drawn onto existing canvas - 'left': 0, - 'top': 0, - - // size in pixel - 'size': 200, - - // code color or image element - 'fill': '#000', - - // background color, `null` for transparent background - 'background': null, - - // content - 'text': 'no text', - - // corner radius relative to module width: 0.0 .. 0.5 - 'radius': 0.5, - - // quiet zone in modules - 'quiet': 0, - - }; - - // // Register the plugin - // // ------------------- - qrCodeGenerator = function(options, $element) { - var settings = {}; - Object.assign(settings, defaults, options); - // map real names to minifyable properties used by closure compiler - settings.minVersion = settings['minVersion']; - settings.maxVersion = settings['maxVersion']; - settings.ecLevel = settings['ecLevel']; - settings.left = settings['left']; - settings.top = settings['top']; - settings.size = settings['size']; - settings.fill = settings['fill']; - settings.background = settings['background']; - settings.text = settings['text']; - settings.radius = settings['radius']; - settings.quiet = settings['quiet']; - - if ($element instanceof HTMLCanvasElement) { - if ($element.width !== settings.size || $element.height !== settings.size) { - $element.width = settings.size; - $element.height = settings.size; - } - $element.getContext('2d').clearRect(0, 0, $element.width, $element.height); - drawOnCanvas($element, settings); - } else { - const $canvas = createCanvas(settings); - $element.appendChild($canvas); - } - }; -}(function() { - // `qrcode` is the single public function defined by the `QR Code Generator` - //--------------------------------------------------------------------- - // - // QR Code Generator for JavaScript - // - // Copyright (c) 2009 Kazuhiko Arase - // - // URL: http://www.d-project.com/ - // - // Licensed under the MIT license: - // http://www.opensource.org/licenses/mit-license.php - // - // The word 'QR Code' is registered trademark of - // DENSO WAVE INCORPORATED - // http://www.denso-wave.com/qrcode/faqpatent-e.html - // - //--------------------------------------------------------------------- - - var qrcode = function() { - - //--------------------------------------------------------------------- - // qrcode - //--------------------------------------------------------------------- - - /** - * qrcode - * @param typeNumber 1 to 40 - * @param errorCorrectLevel 'L','M','Q','H' - */ - var qrcode = function(typeNumber, errorCorrectLevel) { - - var PAD0 = 0xEC, - PAD1 = 0x11, - _typeNumber = typeNumber, - _errorCorrectLevel = QRErrorCorrectLevel[errorCorrectLevel], - _modules = null, - _moduleCount = 0, - _dataCache = null, - _dataList = new Array(), - _this = {}, - makeImpl = function(test, maskPattern) { - - _moduleCount = _typeNumber * 4 + 17; - _modules = function(moduleCount) { - var modules = new Array(moduleCount); - for (var row = 0; row < moduleCount; row += 1) { - modules[row] = new Array(moduleCount); - for (var col = 0; col < moduleCount; col += 1) { - modules[row][col] = null; - } - } - return modules; - }(_moduleCount); - - setupPositionProbePattern(0, 0); - setupPositionProbePattern(_moduleCount - 7, 0); - setupPositionProbePattern(0, _moduleCount - 7); - setupPositionAdjustPattern(); - setupTimingPattern(); - setupTypeInfo(test, maskPattern); - - if (_typeNumber >= 7) { - setupTypeNumber(test); - } - - if (_dataCache == null) { - _dataCache = createData(_typeNumber, _errorCorrectLevel, _dataList); - } - - mapData(_dataCache, maskPattern); - }, - - setupPositionProbePattern = function(row, col) { - - for (var r = -1; r <= 7; r += 1) { - - if (row + r <= -1 || _moduleCount <= row + r) continue; - - for (var c = -1; c <= 7; c += 1) { - - if (col + c <= -1 || _moduleCount <= col + c) continue; - - if ((0 <= r && r <= 6 && (c == 0 || c == 6)) || - (0 <= c && c <= 6 && (r == 0 || r == 6)) || - (2 <= r && r <= 4 && 2 <= c && c <= 4)) { - _modules[row + r][col + c] = true; - } else { - _modules[row + r][col + c] = false; - } - } - } - }, - - getBestMaskPattern = function() { - - var minLostPoint = 0, - pattern = 0; - - for (var i = 0; i < 8; i += 1) { - - makeImpl(true, i); - - var lostPoint = QRUtil.getLostPoint(_this); - - if (i == 0 || minLostPoint > lostPoint) { - minLostPoint = lostPoint; - pattern = i; - } - } - - return pattern; - }, - - setupTimingPattern = function() { - - for (var r = 8; r < _moduleCount - 8; r += 1) { - if (_modules[r][6] != null) { - continue; - } - _modules[r][6] = (r % 2 == 0); - } - - for (var c = 8; c < _moduleCount - 8; c += 1) { - if (_modules[6][c] != null) { - continue; - } - _modules[6][c] = (c % 2 == 0); - } - }, - - setupPositionAdjustPattern = function() { - - var pos = QRUtil.getPatternPosition(_typeNumber); - - for (var i = 0; i < pos.length; i += 1) { - - for (var j = 0; j < pos.length; j += 1) { - - var row = pos[i]; - var col = pos[j]; - - if (_modules[row][col] != null) { - continue; - } - - for (var r = -2; r <= 2; r += 1) { - - for (var c = -2; c <= 2; c += 1) { - - _modules[row + r][col + c] = r == -2 || r == 2 || c == -2 || c == 2 || (r == 0 && c == 0); - } - } - } - } - }, - - // TODO rm5 can be removed if we fix type to 5 (this method is called at 7 only) - setupTypeNumber = function(test) { - - var bits = QRUtil.getBCHTypeNumber(_typeNumber); - - for (var i = 0; i < 18; i += 1) { - var mod = (!test && ((bits >> i) & 1) == 1); - _modules[Math.floor(i / 3)][i % 3 + _moduleCount - 8 - 3] = mod; - } - - for (var i = 0; i < 18; i += 1) { - var mod = (!test && ((bits >> i) & 1) == 1); - _modules[i % 3 + _moduleCount - 8 - 3][Math.floor(i / 3)] = mod; - } - }, - - setupTypeInfo = function(test, maskPattern) { - - var data = (_errorCorrectLevel << 3) | maskPattern; - var bits = QRUtil.getBCHTypeInfo(data); - - for (var i = 0; i < 15; i += 1) { - let mod = (!test && ((bits >> i) & 1) == 1); - - // vertical then horizontal - _modules[i < 6 ? i : (i < 8 ? i + 1 : _moduleCount - 15 + i)][8] = mod; - _modules[8][i < 8 ? _moduleCount - i - 1 : (i < 9 ? 15 - i : 14 - i)] = mod; - } - - // fixed module - _modules[_moduleCount - 8][8] = (!test); - }, - - mapData = function(data, maskPattern) { - - var inc = -1, - row = _moduleCount - 1, - bitIndex = 7, - byteIndex = 0, - maskFunc = QRUtil.getMaskFunction(maskPattern); - - for (var col = _moduleCount - 1; col > 0; col -= 2) { - - if (col == 6) col -= 1; - - while (true) { - - for (var c = 0; c < 2; c += 1) { - - if (_modules[row][col - c] == null) { - - var dark = false; - - if (byteIndex < data.length) { - dark = (((data[byteIndex] >>> bitIndex) & 1) == 1); - } - - var mask = maskFunc(row, col - c); - - if (mask) { - dark = !dark; - } - - _modules[row][col - c] = dark; - bitIndex -= 1; - - if (bitIndex == -1) { - byteIndex += 1; - bitIndex = 7; - } - } - } - - row += inc; - - if (row < 0 || _moduleCount <= row) { - row -= inc; - inc = -inc; - break; - } - } - } - }, - - createBytes = function(buffer, rsBlocks) { - - var offset = 0, - maxDcCount = 0, - maxEcCount = 0, - dcdata = new Array(rsBlocks.length), - ecdata = new Array(rsBlocks.length); - - for (var r = 0; r < rsBlocks.length; r += 1) { - - var dcCount = rsBlocks[r].dataCount, - ecCount = rsBlocks[r].totalCount - dcCount; - - maxDcCount = Math.max(maxDcCount, dcCount); - maxEcCount = Math.max(maxEcCount, ecCount); - - dcdata[r] = new Array(dcCount); - - for (var i = 0; i < dcdata[r].length; i += 1) { - dcdata[r][i] = 0xff & buffer.getBuffer()[i + offset]; - } - offset += dcCount; - - var rsPoly = QRUtil.getErrorCorrectPolynomial(ecCount), - rawPoly = qrPolynomial(dcdata[r], rsPoly.getLength() - 1), - modPoly = rawPoly.mod(rsPoly); - - ecdata[r] = new Array(rsPoly.getLength() - 1); - for (var i = 0; i < ecdata[r].length; i += 1) { - var modIndex = i + modPoly.getLength() - ecdata[r].length; - ecdata[r][i] = (modIndex >= 0) ? modPoly.getAt(modIndex) : 0; - } - } - - var totalCodeCount = 0; - for (var i = 0; i < rsBlocks.length; i += 1) { - totalCodeCount += rsBlocks[i].totalCount; - } - - var data = new Array(totalCodeCount); - var index = 0; - - for (var i = 0; i < maxDcCount; i += 1) { - for (var r = 0; r < rsBlocks.length; r += 1) { - if (i < dcdata[r].length) { - data[index] = dcdata[r][i]; - index += 1; - } - } - } - - for (var i = 0; i < maxEcCount; i += 1) { - for (var r = 0; r < rsBlocks.length; r += 1) { - if (i < ecdata[r].length) { - data[index] = ecdata[r][i]; - index += 1; - } - } - } - - return data; - }, - - createData = function(typeNumber, errorCorrectLevel, dataList) { - - var rsBlocks = QRRSBlock.getRSBlocks(typeNumber, errorCorrectLevel), - buffer = qrBitBuffer(); - - for (var i = 0; i < dataList.length; i += 1) { - var data = dataList[i]; - buffer.put(data.getMode(), 4); - buffer.put(data.getLength(), QRUtil.getLengthInBits(data.getMode(), typeNumber)); - data.write(buffer); - } - - // calc num max data. - var totalDataCount = 0; - for (var i = 0; i < rsBlocks.length; i += 1) { - totalDataCount += rsBlocks[i].dataCount; - } - - if (buffer.getLengthInBits() > totalDataCount * 8) { - throw new Error('code length overflow. (' + - buffer.getLengthInBits() + - '>' + - totalDataCount * 8 + - ')'); - } - - // end code - if (buffer.getLengthInBits() + 4 <= totalDataCount * 8) { - buffer.put(0, 4); - } - - // padding - while (buffer.getLengthInBits() % 8 != 0) { - buffer.putBit(false); - } - - // padding - while (true) { - - if (buffer.getLengthInBits() >= totalDataCount * 8) { - break; - } - buffer.put(PAD0, 8); - - if (buffer.getLengthInBits() >= totalDataCount * 8) { - break; - } - buffer.put(PAD1, 8); - } - - return createBytes(buffer, rsBlocks); - }; - - _this.addData = function(data) { - var newData = qr8BitByte(data); - _dataList.push(newData); - _dataCache = null; - }; - - _this.isDark = function(row, col) { - if (row < 0 || _moduleCount <= row || col < 0 || _moduleCount <= col) { - throw new Error(row + ',' + col); - } - return _modules[row][col]; - }; - - _this.getModuleCount = function() { - return _moduleCount; - }; - - _this.make = function() { - makeImpl(false, getBestMaskPattern()); - }; - - return _this; - }; - - //--------------------------------------------------------------------- - // qrcode.stringToBytes - //--------------------------------------------------------------------- - - // UTF-8 version - qrcode.stringToBytes = function(s) { - // http://stackoverflow.com/questions/18729405/how-to-convert-utf8-string-to-byte-array - function toUTF8Array(str) { - var utf8 = []; - for (var i = 0; i < str.length; i++) { - var charcode = str.charCodeAt(i); - if (charcode < 0x80) utf8.push(charcode); - else if (charcode < 0x800) { - utf8.push(0xc0 | (charcode >> 6), - 0x80 | (charcode & 0x3f)); - } else if (charcode < 0xd800 || charcode >= 0xe000) { - utf8.push(0xe0 | (charcode >> 12), - 0x80 | ((charcode >> 6) & 0x3f), - 0x80 | (charcode & 0x3f)); - } - // surrogate pair - else { - i++; - // UTF-16 encodes 0x10000-0x10FFFF by - // subtracting 0x10000 and splitting the - // 20 bits of 0x0-0xFFFFF into two halves - charcode = 0x10000 + (((charcode & 0x3ff) << 10) | - (str.charCodeAt(i) & 0x3ff)); - utf8.push(0xf0 | (charcode >> 18), - 0x80 | ((charcode >> 12) & 0x3f), - 0x80 | ((charcode >> 6) & 0x3f), - 0x80 | (charcode & 0x3f)); - } - } - return utf8; - } - return toUTF8Array(s); - }; - - //--------------------------------------------------------------------- - // QRMode - //--------------------------------------------------------------------- - - var QRMode = { - MODE_8BIT_BYTE: 1 << 2, - }; - - //--------------------------------------------------------------------- - // QRErrorCorrectLevel - //--------------------------------------------------------------------- - - var QRErrorCorrectLevel = { - 'L': 1, - 'M': 0, - 'Q': 3, - 'H': 2 - }; - - //--------------------------------------------------------------------- - // QRMaskPattern - //--------------------------------------------------------------------- - - var QRMaskPattern = { - PATTERN000: 0, - PATTERN001: 1, - PATTERN010: 2, - PATTERN011: 3, - PATTERN100: 4, - PATTERN101: 5, - PATTERN110: 6, - PATTERN111: 7 - }; - - //--------------------------------------------------------------------- - // QRUtil - //--------------------------------------------------------------------- - - var QRUtil = function() { - - var PATTERN_POSITION_TABLE = [ - [], - [6, 18], - [6, 22], - [6, 26], - [6, 30], - [6, 34], - [6, 22, 38], - [6, 24, 42], - [6, 26, 46], - [6, 28, 50], - [6, 30, 54], - [6, 32, 58], - [6, 34, 62], - [6, 26, 46, 66], - [6, 26, 48, 70], - [6, 26, 50, 74], - [6, 30, 54, 78], - [6, 30, 56, 82], - [6, 30, 58, 86], - [6, 34, 62, 90], - [6, 28, 50, 72, 94], - [6, 26, 50, 74, 98], - [6, 30, 54, 78, 102], - [6, 28, 54, 80, 106], - [6, 32, 58, 84, 110], - [6, 30, 58, 86, 114], - [6, 34, 62, 90, 118], - [6, 26, 50, 74, 98, 122], - [6, 30, 54, 78, 102, 126], - [6, 26, 52, 78, 104, 130], - [6, 30, 56, 82, 108, 134], - [6, 34, 60, 86, 112, 138], - [6, 30, 58, 86, 114, 142], - [6, 34, 62, 90, 118, 146], - [6, 30, 54, 78, 102, 126, 150], - [6, 24, 50, 76, 102, 128, 154], - [6, 28, 54, 80, 106, 132, 158], - [6, 32, 58, 84, 110, 136, 162], - [6, 26, 54, 82, 110, 138, 166], - [6, 30, 58, 86, 114, 142, 170] - ], - G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0), - G18 = (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0), - G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1), - - _this = {}, - - getBCHDigit = function(data) { - var digit = 0; - while (data != 0) { - digit += 1; - data >>>= 1; - } - return digit; - }; - - _this.getBCHTypeInfo = function(data) { - var d = data << 10; - while (getBCHDigit(d) - getBCHDigit(G15) >= 0) { - d ^= (G15 << (getBCHDigit(d) - getBCHDigit(G15))); - } - return ((data << 10) | d) ^ G15_MASK; - }; - - // TODO rm5 (see rm5 above) - _this.getBCHTypeNumber = function(data) { - var d = data << 12; - while (getBCHDigit(d) - getBCHDigit(G18) >= 0) { - d ^= (G18 << (getBCHDigit(d) - getBCHDigit(G18))); - } - return (data << 12) | d; - }; - - _this.getPatternPosition = function(typeNumber) { - return PATTERN_POSITION_TABLE[typeNumber - 1]; - }; - - _this.getMaskFunction = function(maskPattern) { - - switch (maskPattern) { - - case QRMaskPattern.PATTERN000: - return function(i, j) { return (i + j) % 2 == 0; }; - case QRMaskPattern.PATTERN001: - return function(i, j) { return i % 2 == 0; }; - case QRMaskPattern.PATTERN010: - return function(i, j) { return j % 3 == 0; }; - case QRMaskPattern.PATTERN011: - return function(i, j) { return (i + j) % 3 == 0; }; - case QRMaskPattern.PATTERN100: - return function(i, j) { return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 == 0; }; - case QRMaskPattern.PATTERN101: - return function(i, j) { return (i * j) % 2 + (i * j) % 3 == 0; }; - case QRMaskPattern.PATTERN110: - return function(i, j) { return ((i * j) % 2 + (i * j) % 3) % 2 == 0; }; - case QRMaskPattern.PATTERN111: - return function(i, j) { return ((i * j) % 3 + (i + j) % 2) % 2 == 0; }; - - default: - throw new Error('bad maskPattern:' + maskPattern); - } - }; - - _this.getErrorCorrectPolynomial = function(errorCorrectLength) { - var a = qrPolynomial([1], 0); - for (var i = 0; i < errorCorrectLength; i += 1) { - a = a.multiply(qrPolynomial([1, QRMath.gexp(i)], 0)); - } - return a; - }; - - _this.getLengthInBits = function(mode, type) { - if (mode != QRMode.MODE_8BIT_BYTE || type < 1 || type > 40) - throw new Error('mode: ' + mode + '; type: ' + type); - - return type < 10 ? 8 : 16; - }; - - _this.getLostPoint = function(qrcode) { - - var moduleCount = qrcode.getModuleCount(), - lostPoint = 0; - - // LEVEL1 - - for (var row = 0; row < moduleCount; row += 1) { - for (var col = 0; col < moduleCount; col += 1) { - - var sameCount = 0, - dark = qrcode.isDark(row, col); - - for (var r = -1; r <= 1; r += 1) { - - if (row + r < 0 || moduleCount <= row + r) { - continue; - } - - for (var c = -1; c <= 1; c += 1) { - - if (col + c < 0 || moduleCount <= col + c) { - continue; - } - - if (r == 0 && c == 0) { - continue; - } - - if (dark == qrcode.isDark(row + r, col + c)) { - sameCount += 1; - } - } - } - - if (sameCount > 5) { - lostPoint += (3 + sameCount - 5); - } - } - }; - - // LEVEL2 - - for (var row = 0; row < moduleCount - 1; row += 1) { - for (var col = 0; col < moduleCount - 1; col += 1) { - var count = 0; - if (qrcode.isDark(row, col)) count += 1; - if (qrcode.isDark(row + 1, col)) count += 1; - if (qrcode.isDark(row, col + 1)) count += 1; - if (qrcode.isDark(row + 1, col + 1)) count += 1; - if (count == 0 || count == 4) { - lostPoint += 3; - } - } - } - - // LEVEL3 - - for (var row = 0; row < moduleCount; row += 1) { - for (var col = 0; col < moduleCount - 6; col += 1) { - if (qrcode.isDark(row, col) && - !qrcode.isDark(row, col + 1) && - qrcode.isDark(row, col + 2) && - qrcode.isDark(row, col + 3) && - qrcode.isDark(row, col + 4) && - !qrcode.isDark(row, col + 5) && - qrcode.isDark(row, col + 6)) { - lostPoint += 40; - } - } - } - - for (var col = 0; col < moduleCount; col += 1) { - for (var row = 0; row < moduleCount - 6; row += 1) { - if (qrcode.isDark(row, col) && - !qrcode.isDark(row + 1, col) && - qrcode.isDark(row + 2, col) && - qrcode.isDark(row + 3, col) && - qrcode.isDark(row + 4, col) && - !qrcode.isDark(row + 5, col) && - qrcode.isDark(row + 6, col)) { - lostPoint += 40; - } - } - } - - // LEVEL4 - - var darkCount = 0; - - for (var col = 0; col < moduleCount; col += 1) { - for (var row = 0; row < moduleCount; row += 1) { - if (qrcode.isDark(row, col)) { - darkCount += 1; - } - } - } - - var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5; - lostPoint += ratio * 10; - - return lostPoint; - }; - - return _this; - }(); - - //--------------------------------------------------------------------- - // QRMath - //--------------------------------------------------------------------- - - var QRMath = function() { - - var EXP_TABLE = new Array(256), - LOG_TABLE = new Array(256); - - // initialize tables - for (var i = 0; i < 8; i += 1) { - EXP_TABLE[i] = 1 << i; - } - for (var i = 8; i < 256; i += 1) { - EXP_TABLE[i] = EXP_TABLE[i - 4] ^ - EXP_TABLE[i - 5] ^ - EXP_TABLE[i - 6] ^ - EXP_TABLE[i - 8]; - } - for (var i = 0; i < 255; i += 1) { - LOG_TABLE[EXP_TABLE[i]] = i; - } - - var _this = {}; - - _this.glog = function(n) { - - if (n < 1) { - throw new Error('glog(' + n + ')'); - } - - return LOG_TABLE[n]; - }; - - _this.gexp = function(n) { - - while (n < 0) { - n += 255; - } - - while (n >= 256) { - n -= 255; - } - - return EXP_TABLE[n]; - }; - - return _this; - }(); - - //--------------------------------------------------------------------- - // qrPolynomial - //--------------------------------------------------------------------- - - function qrPolynomial(num, shift) { - - if (typeof num.length == 'undefined') { - throw new Error(num.length + '/' + shift); - } - - var _num = function() { - var offset = 0; - while (offset < num.length && num[offset] == 0) { - offset += 1; - } - var _num = new Array(num.length - offset + shift); - for (var i = 0; i < num.length - offset; i += 1) { - _num[i] = num[i + offset]; - } - return _num; - }(); - - var _this = {}; - - _this.getAt = function(index) { - return _num[index]; - }; - - _this.getLength = function() { - return _num.length; - }; - - _this.multiply = function(e) { - - var num = new Array(_this.getLength() + e.getLength() - 1); - - for (var i = 0; i < _this.getLength(); i += 1) { - for (var j = 0; j < e.getLength(); j += 1) { - num[i + j] ^= QRMath.gexp(QRMath.glog(_this.getAt(i)) + QRMath.glog(e.getAt(j))); - } - } - - return qrPolynomial(num, 0); - }; - - _this.mod = function(e) { - - if (_this.getLength() - e.getLength() < 0) { - return _this; - } - - var ratio = QRMath.glog(_this.getAt(0)) - QRMath.glog(e.getAt(0)); - - var num = new Array(_this.getLength()); - for (var i = 0; i < _this.getLength(); i += 1) { - num[i] = _this.getAt(i); - } - - for (var i = 0; i < e.getLength(); i += 1) { - num[i] ^= QRMath.gexp(QRMath.glog(e.getAt(i)) + ratio); - } - - // recursive call - return qrPolynomial(num, 0).mod(e); - }; - - return _this; - }; - - //--------------------------------------------------------------------- - // QRRSBlock - //--------------------------------------------------------------------- - - var QRRSBlock = function() { - - // TODO is it possible to generate this block with JS in let kB? - var RS_BLOCK_TABLE = [ - - // L - // M - // Q - // H - - // 1 - [1, 26, 19], - [1, 26, 16], - [1, 26, 13], - [1, 26, 9], - - // 2 - [1, 44, 34], - [1, 44, 28], - [1, 44, 22], - [1, 44, 16], - - // 3 - [1, 70, 55], - [1, 70, 44], - [2, 35, 17], - [2, 35, 13], - - // 4 - [1, 100, 80], - [2, 50, 32], - [2, 50, 24], - [4, 25, 9], - - // 5 - [1, 134, 108], - [2, 67, 43], - [2, 33, 15, 2, 34, 16], - [2, 33, 11, 2, 34, 12], - - // 6 - [2, 86, 68], - [4, 43, 27], - [4, 43, 19], - [4, 43, 15], - - // 7 - [2, 98, 78], - [4, 49, 31], - [2, 32, 14, 4, 33, 15], - [4, 39, 13, 1, 40, 14], - - // 8 - [2, 121, 97], - [2, 60, 38, 2, 61, 39], - [4, 40, 18, 2, 41, 19], - [4, 40, 14, 2, 41, 15], - - // 9 - [2, 146, 116], - [3, 58, 36, 2, 59, 37], - [4, 36, 16, 4, 37, 17], - [4, 36, 12, 4, 37, 13], - - // 10 - [2, 86, 68, 2, 87, 69], - [4, 69, 43, 1, 70, 44], - [6, 43, 19, 2, 44, 20], - [6, 43, 15, 2, 44, 16], - - // 11 - [4, 101, 81], - [1, 80, 50, 4, 81, 51], - [4, 50, 22, 4, 51, 23], - [3, 36, 12, 8, 37, 13], - - // 12 - [2, 116, 92, 2, 117, 93], - [6, 58, 36, 2, 59, 37], - [4, 46, 20, 6, 47, 21], - [7, 42, 14, 4, 43, 15], - - // 13 - [4, 133, 107], - [8, 59, 37, 1, 60, 38], - [8, 44, 20, 4, 45, 21], - [12, 33, 11, 4, 34, 12], - - // 14 - [3, 145, 115, 1, 146, 116], - [4, 64, 40, 5, 65, 41], - [11, 36, 16, 5, 37, 17], - [11, 36, 12, 5, 37, 13], - - // 15 - [5, 109, 87, 1, 110, 88], - [5, 65, 41, 5, 66, 42], - [5, 54, 24, 7, 55, 25], - [11, 36, 12, 7, 37, 13], - - // 16 - [5, 122, 98, 1, 123, 99], - [7, 73, 45, 3, 74, 46], - [15, 43, 19, 2, 44, 20], - [3, 45, 15, 13, 46, 16], - - // 17 - [1, 135, 107, 5, 136, 108], - [10, 74, 46, 1, 75, 47], - [1, 50, 22, 15, 51, 23], - [2, 42, 14, 17, 43, 15], - - // 18 - [5, 150, 120, 1, 151, 121], - [9, 69, 43, 4, 70, 44], - [17, 50, 22, 1, 51, 23], - [2, 42, 14, 19, 43, 15], - - // 19 - [3, 141, 113, 4, 142, 114], - [3, 70, 44, 11, 71, 45], - [17, 47, 21, 4, 48, 22], - [9, 39, 13, 16, 40, 14], - - // 20 - [3, 135, 107, 5, 136, 108], - [3, 67, 41, 13, 68, 42], - [15, 54, 24, 5, 55, 25], - [15, 43, 15, 10, 44, 16], - - // 21 - [4, 144, 116, 4, 145, 117], - [17, 68, 42], - [17, 50, 22, 6, 51, 23], - [19, 46, 16, 6, 47, 17], - - // 22 - [2, 139, 111, 7, 140, 112], - [17, 74, 46], - [7, 54, 24, 16, 55, 25], - [34, 37, 13], - - // 23 - [4, 151, 121, 5, 152, 122], - [4, 75, 47, 14, 76, 48], - [11, 54, 24, 14, 55, 25], - [16, 45, 15, 14, 46, 16], - - // 24 - [6, 147, 117, 4, 148, 118], - [6, 73, 45, 14, 74, 46], - [11, 54, 24, 16, 55, 25], - [30, 46, 16, 2, 47, 17], - - // 25 - [8, 132, 106, 4, 133, 107], - [8, 75, 47, 13, 76, 48], - [7, 54, 24, 22, 55, 25], - [22, 45, 15, 13, 46, 16], - - // 26 - [10, 142, 114, 2, 143, 115], - [19, 74, 46, 4, 75, 47], - [28, 50, 22, 6, 51, 23], - [33, 46, 16, 4, 47, 17], - - // 27 - [8, 152, 122, 4, 153, 123], - [22, 73, 45, 3, 74, 46], - [8, 53, 23, 26, 54, 24], - [12, 45, 15, 28, 46, 16], - - // 28 - [3, 147, 117, 10, 148, 118], - [3, 73, 45, 23, 74, 46], - [4, 54, 24, 31, 55, 25], - [11, 45, 15, 31, 46, 16], - - // 29 - [7, 146, 116, 7, 147, 117], - [21, 73, 45, 7, 74, 46], - [1, 53, 23, 37, 54, 24], - [19, 45, 15, 26, 46, 16], - - // 30 - [5, 145, 115, 10, 146, 116], - [19, 75, 47, 10, 76, 48], - [15, 54, 24, 25, 55, 25], - [23, 45, 15, 25, 46, 16], - - // 31 - [13, 145, 115, 3, 146, 116], - [2, 74, 46, 29, 75, 47], - [42, 54, 24, 1, 55, 25], - [23, 45, 15, 28, 46, 16], - - // 32 - [17, 145, 115], - [10, 74, 46, 23, 75, 47], - [10, 54, 24, 35, 55, 25], - [19, 45, 15, 35, 46, 16], - - // 33 - [17, 145, 115, 1, 146, 116], - [14, 74, 46, 21, 75, 47], - [29, 54, 24, 19, 55, 25], - [11, 45, 15, 46, 46, 16], - - // 34 - [13, 145, 115, 6, 146, 116], - [14, 74, 46, 23, 75, 47], - [44, 54, 24, 7, 55, 25], - [59, 46, 16, 1, 47, 17], - - // 35 - [12, 151, 121, 7, 152, 122], - [12, 75, 47, 26, 76, 48], - [39, 54, 24, 14, 55, 25], - [22, 45, 15, 41, 46, 16], - - // 36 - [6, 151, 121, 14, 152, 122], - [6, 75, 47, 34, 76, 48], - [46, 54, 24, 10, 55, 25], - [2, 45, 15, 64, 46, 16], - - // 37 - [17, 152, 122, 4, 153, 123], - [29, 74, 46, 14, 75, 47], - [49, 54, 24, 10, 55, 25], - [24, 45, 15, 46, 46, 16], - - // 38 - [4, 152, 122, 18, 153, 123], - [13, 74, 46, 32, 75, 47], - [48, 54, 24, 14, 55, 25], - [42, 45, 15, 32, 46, 16], - - // 39 - [20, 147, 117, 4, 148, 118], - [40, 75, 47, 7, 76, 48], - [43, 54, 24, 22, 55, 25], - [10, 45, 15, 67, 46, 16], - - // 40 - [19, 148, 118, 6, 149, 119], - [18, 75, 47, 31, 76, 48], - [34, 54, 24, 34, 55, 25], - [20, 45, 15, 61, 46, 16] - ]; - - var qrRSBlock = function(totalCount, dataCount) { - var _this = {}; - _this.totalCount = totalCount; - _this.dataCount = dataCount; - return _this; - }; - - var _this = {}; - - var getRsBlockTable = function(typeNumber, errorCorrectLevel) { - switch (errorCorrectLevel) { - case QRErrorCorrectLevel['L']: - return RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0]; - case QRErrorCorrectLevel['M']: - return RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1]; - case QRErrorCorrectLevel['Q']: - return RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2]; - case QRErrorCorrectLevel['H']: - return RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3]; - default: - return undefined; - } - }; - - _this.getRSBlocks = function(typeNumber, errorCorrectLevel) { - - var rsBlock = getRsBlockTable(typeNumber, errorCorrectLevel); - - if (typeof rsBlock == 'undefined') { - throw new Error('bad rs block @ typeNumber:' + typeNumber + - '/errorCorrectLevel:' + errorCorrectLevel); - } - - var length = rsBlock.length / 3, - list = new Array(); - - for (var i = 0; i < length; i += 1) { - - var count = rsBlock[i * 3 + 0], - totalCount = rsBlock[i * 3 + 1], - dataCount = rsBlock[i * 3 + 2]; - - for (var j = 0; j < count; j += 1) { - list.push(qrRSBlock(totalCount, dataCount)); - } - } - - return list; - }; - - return _this; - }(); - - //--------------------------------------------------------------------- - // qrBitBuffer - //--------------------------------------------------------------------- - - var qrBitBuffer = function() { - - var _buffer = new Array(), - _length = 0, - _this = {}; - - _this.getBuffer = function() { - return _buffer; - }; - - _this.getAt = function(index) { - var bufIndex = Math.floor(index / 8); - return ((_buffer[bufIndex] >>> (7 - index % 8)) & 1) == 1; - }; - - _this.put = function(num, length) { - for (var i = 0; i < length; i += 1) { - _this.putBit(((num >>> (length - i - 1)) & 1) == 1); - } - }; - - _this.getLengthInBits = function() { - return _length; - }; - - _this.putBit = function(bit) { - - var bufIndex = Math.floor(_length / 8); - if (_buffer.length <= bufIndex) { - _buffer.push(0); - } - - if (bit) { - _buffer[bufIndex] |= (0x80 >>> (_length % 8)); - } - - _length += 1; - }; - - return _this; - }; - - //--------------------------------------------------------------------- - // qr8BitByte - //--------------------------------------------------------------------- - - var qr8BitByte = function(data) { - - var _mode = QRMode.MODE_8BIT_BYTE, - _data = data, - _bytes = qrcode.stringToBytes(data), - _this = {}; - - _this.getMode = function() { - return _mode; - }; - - _this.getLength = function(buffer) { - return _bytes.length; - }; - - _this.write = function(buffer) { - for (var i = 0; i < _bytes.length; i += 1) { - buffer.put(_bytes[i], 8); - } - }; - - return _this; - }; - - // returns qrcode function. - return qrcode; - }(); - - return qrcode; // eslint-disable-line no-undef -}())); +UNPKG

qr-creator

Version:

Lightweight QR code generator for stylish QR codes

30 lines (29 loc) • 12.1 kB
/* + jquery-qrcode v0.14.0 - https://larsjung.de/jquery-qrcode/ */ +'use strict';let G=null;class H{}H.render=function(w,B){G(w,B)};self.QrCreator=H; +(function(w){function B(t,c,a,e){var b={},h=w(a,c);h.u(t);h.J();e=e||0;var r=h.h(),d=h.h()+2*e;b.text=t;b.level=c;b.version=a;b.O=d;b.a=function(b,a){b-=e;a-=e;return 0>b||b>=r||0>a||a>=r?!1:h.a(b,a)};return b}function C(t,c,a,e,b,h,r,d,g,x){function u(b,a,f,c,d,r,g){b?(t.lineTo(a+r,f+g),t.arcTo(a,f,c,d,h)):t.lineTo(a,f)}r?t.moveTo(c+h,a):t.moveTo(c,a);u(d,e,a,e,b,-h,0);u(g,e,b,c,b,0,-h);u(x,c,b,c,a,h,0);u(r,c,a,e,a,0,h)}function z(t,c,a,e,b,h,r,d,g,x){function u(b,a,c,d){t.moveTo(b+c,a);t.lineTo(b, +a);t.lineTo(b,a+d);t.arcTo(b,a,b+c,a,h)}r&&u(c,a,h,h);d&&u(e,a,-h,h);g&&u(e,b,-h,-h);x&&u(c,b,h,-h)}function A(t,c){var a=c.fill;if("string"===typeof a)t.fillStyle=a;else{var e=a.type,b=a.colorStops;a=a.position.map((b)=>Math.round(b*c.size));if("linear-gradient"===e)var h=t.createLinearGradient.apply(t,a);else if("radial-gradient"===e)h=t.createRadialGradient.apply(t,a);else throw Error("Unsupported fill");b.forEach(([b,a])=>{h.addColorStop(b,a)});t.fillStyle=h}}function y(t,c){a:{var a=c.text,e= +c.v,b=c.N,h=c.K,r=c.P;b=Math.max(1,b||1);for(h=Math.min(40,h||40);b<=h;b+=1)try{var d=B(a,e,b,r);break a}catch(J){}d=void 0}if(!d)return null;a=t.getContext("2d");c.background&&(a.fillStyle=c.background,a.fillRect(c.left,c.top,c.size,c.size));e=d.O;h=c.size/e;a.beginPath();for(r=0;r<e;r+=1)for(b=0;b<e;b+=1){var g=a,x=c.left+b*h,u=c.top+r*h,p=r,q=b,f=d.a,k=x+h,m=u+h,D=p-1,E=p+1,n=q-1,l=q+1,y=Math.floor(Math.min(.5,Math.max(0,c.R))*h),v=f(p,q),I=f(D,n),w=f(D,q);D=f(D,l);var F=f(p,l);l=f(E,l);q=f(E, +q);E=f(E,n);p=f(p,n);x=Math.round(x);u=Math.round(u);k=Math.round(k);m=Math.round(m);v?C(g,x,u,k,m,y,!w&&!p,!w&&!F,!q&&!F,!q&&!p):z(g,x,u,k,m,y,w&&p&&I,w&&F&&D,q&&F&&l,q&&p&&E)}A(a,c);a.fill();return t}var v={minVersion:1,maxVersion:40,ecLevel:"L",left:0,top:0,size:200,fill:"#000",background:null,text:"no text",radius:.5,quiet:0};G=function(t,c){var a={};Object.assign(a,v,t);a.N=a.minVersion;a.K=a.maxVersion;a.v=a.ecLevel;a.left=a.left;a.top=a.top;a.size=a.size;a.fill=a.fill;a.background=a.background; +a.text=a.text;a.R=a.radius;a.P=a.quiet;if(c instanceof HTMLCanvasElement){if(c.width!==a.size||c.height!==a.size)c.width=a.size,c.height=a.size;c.getContext("2d").clearRect(0,0,c.width,c.height);y(c,a)}else t=document.createElement("canvas"),t.width=a.size,t.height=a.size,a=y(t,a),c.appendChild(a)}})(function(){function w(c){var a=C.s(c);return{S:function(){return 4},b:function(){return a.length},write:function(c){for(var b=0;b<a.length;b+=1)c.put(a[b],8)}}}function B(){var c=[],a=0,e={B:function(){return c}, +c:function(b){return 1==(c[Math.floor(b/8)]>>>7-b%8&1)},put:function(b,h){for(var a=0;a<h;a+=1)e.m(1==(b>>>h-a-1&1))},f:function(){return a},m:function(b){var h=Math.floor(a/8);c.length<=h&&c.push(0);b&&(c[h]|=128>>>a%8);a+=1}};return e}function C(c,a){function e(b,h){for(var a=-1;7>=a;a+=1)if(!(-1>=b+a||d<=b+a))for(var c=-1;7>=c;c+=1)-1>=h+c||d<=h+c||(r[b+a][h+c]=0<=a&&6>=a&&(0==c||6==c)||0<=c&&6>=c&&(0==a||6==a)||2<=a&&4>=a&&2<=c&&4>=c?!0:!1)}function b(b,a){for(var f=d=4*c+17,k=Array(f),m=0;m< +f;m+=1){k[m]=Array(f);for(var p=0;p<f;p+=1)k[m][p]=null}r=k;e(0,0);e(d-7,0);e(0,d-7);f=y.G(c);for(k=0;k<f.length;k+=1)for(m=0;m<f.length;m+=1){p=f[k];var q=f[m];if(null==r[p][q])for(var n=-2;2>=n;n+=1)for(var l=-2;2>=l;l+=1)r[p+n][q+l]=-2==n||2==n||-2==l||2==l||0==n&&0==l}for(f=8;f<d-8;f+=1)null==r[f][6]&&(r[f][6]=0==f%2);for(f=8;f<d-8;f+=1)null==r[6][f]&&(r[6][f]=0==f%2);f=y.w(h<<3|a);for(k=0;15>k;k+=1)m=!b&&1==(f>>k&1),r[6>k?k:8>k?k+1:d-15+k][8]=m,r[8][8>k?d-k-1:9>k?15-k:14-k]=m;r[d-8][8]=!b;if(7<= +c){f=y.A(c);for(k=0;18>k;k+=1)m=!b&&1==(f>>k&1),r[Math.floor(k/3)][k%3+d-8-3]=m;for(k=0;18>k;k+=1)m=!b&&1==(f>>k&1),r[k%3+d-8-3][Math.floor(k/3)]=m}if(null==g){b=t.I(c,h);f=B();for(k=0;k<x.length;k+=1)m=x[k],f.put(4,4),f.put(m.b(),y.f(4,c)),m.write(f);for(k=m=0;k<b.length;k+=1)m+=b[k].j;if(f.f()>8*m)throw Error("code length overflow. ("+f.f()+">"+8*m+")");for(f.f()+4<=8*m&&f.put(0,4);0!=f.f()%8;)f.m(!1);for(;!(f.f()>=8*m);){f.put(236,8);if(f.f()>=8*m)break;f.put(17,8)}var u=0;m=k=0;p=Array(b.length); +q=Array(b.length);for(n=0;n<b.length;n+=1){var v=b[n].j,w=b[n].o-v;k=Math.max(k,v);m=Math.max(m,w);p[n]=Array(v);for(l=0;l<p[n].length;l+=1)p[n][l]=255&f.B()[l+u];u+=v;l=y.C(w);v=z(p[n],l.b()-1).l(l);q[n]=Array(l.b()-1);for(l=0;l<q[n].length;l+=1)w=l+v.b()-q[n].length,q[n][l]=0<=w?v.c(w):0}for(l=f=0;l<b.length;l+=1)f+=b[l].o;f=Array(f);for(l=u=0;l<k;l+=1)for(n=0;n<b.length;n+=1)l<p[n].length&&(f[u]=p[n][l],u+=1);for(l=0;l<m;l+=1)for(n=0;n<b.length;n+=1)l<q[n].length&&(f[u]=q[n][l],u+=1);g=f}b=g;f= +-1;k=d-1;m=7;p=0;a=y.F(a);for(q=d-1;0<q;q-=2)for(6==q&&--q;;){for(n=0;2>n;n+=1)null==r[k][q-n]&&(l=!1,p<b.length&&(l=1==(b[p]>>>m&1)),a(k,q-n)&&(l=!l),r[k][q-n]=l,--m,-1==m&&(p+=1,m=7));k+=f;if(0>k||d<=k){k-=f;f=-f;break}}}var h=A[a],r=null,d=0,g=null,x=[],u={u:function(b){b=w(b);x.push(b);g=null},a:function(b,a){if(0>b||d<=b||0>a||d<=a)throw Error(b+","+a);return r[b][a]},h:function(){return d},J:function(){for(var a=0,h=0,c=0;8>c;c+=1){b(!0,c);var d=y.D(u);if(0==c||a>d)a=d,h=c}b(!1,h)}};return u} +function z(c,a){if("undefined"==typeof c.length)throw Error(c.length+"/"+a);var e=function(){for(var b=0;b<c.length&&0==c[b];)b+=1;for(var r=Array(c.length-b+a),d=0;d<c.length-b;d+=1)r[d]=c[d+b];return r}(),b={c:function(b){return e[b]},b:function(){return e.length},multiply:function(a){for(var h=Array(b.b()+a.b()-1),c=0;c<b.b();c+=1)for(var g=0;g<a.b();g+=1)h[c+g]^=v.i(v.g(b.c(c))+v.g(a.c(g)));return z(h,0)},l:function(a){if(0>b.b()-a.b())return b;for(var c=v.g(b.c(0))-v.g(a.c(0)),h=Array(b.b()), +g=0;g<b.b();g+=1)h[g]=b.c(g);for(g=0;g<a.b();g+=1)h[g]^=v.i(v.g(a.c(g))+c);return z(h,0).l(a)}};return b}C.s=function(c){for(var a=[],e=0;e<c.length;e++){var b=c.charCodeAt(e);128>b?a.push(b):2048>b?a.push(192|b>>6,128|b&63):55296>b||57344<=b?a.push(224|b>>12,128|b>>6&63,128|b&63):(e++,b=65536+((b&1023)<<10|c.charCodeAt(e)&1023),a.push(240|b>>18,128|b>>12&63,128|b>>6&63,128|b&63))}return a};var A={L:1,M:0,Q:3,H:2},y=function(){function c(b){for(var a=0;0!=b;)a+=1,b>>>=1;return a}var a=[[],[6,18], +[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154], +[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],e={w:function(b){for(var a=b<<10;0<=c(a)-c(1335);)a^=1335<<c(a)-c(1335);return(b<<10|a)^21522},A:function(b){for(var a=b<<12;0<=c(a)-c(7973);)a^=7973<<c(a)-c(7973);return b<<12|a},G:function(b){return a[b-1]},F:function(b){switch(b){case 0:return function(b,a){return 0==(b+a)%2};case 1:return function(b){return 0==b%2};case 2:return function(b,a){return 0==a%3};case 3:return function(b,a){return 0== +(b+a)%3};case 4:return function(b,a){return 0==(Math.floor(b/2)+Math.floor(a/3))%2};case 5:return function(b,a){return 0==b*a%2+b*a%3};case 6:return function(b,a){return 0==(b*a%2+b*a%3)%2};case 7:return function(b,a){return 0==(b*a%3+(b+a)%2)%2};default:throw Error("bad maskPattern:"+b);}},C:function(b){for(var a=z([1],0),c=0;c<b;c+=1)a=a.multiply(z([1,v.i(c)],0));return a},f:function(b,a){if(4!=b||1>a||40<a)throw Error("mode: "+b+"; type: "+a);return 10>a?8:16},D:function(b){for(var a=b.h(),c=0, +d=0;d<a;d+=1)for(var g=0;g<a;g+=1){for(var e=0,t=b.a(d,g),p=-1;1>=p;p+=1)if(!(0>d+p||a<=d+p))for(var q=-1;1>=q;q+=1)0>g+q||a<=g+q||(0!=p||0!=q)&&t==b.a(d+p,g+q)&&(e+=1);5<e&&(c+=3+e-5)}for(d=0;d<a-1;d+=1)for(g=0;g<a-1;g+=1)if(e=0,b.a(d,g)&&(e+=1),b.a(d+1,g)&&(e+=1),b.a(d,g+1)&&(e+=1),b.a(d+1,g+1)&&(e+=1),0==e||4==e)c+=3;for(d=0;d<a;d+=1)for(g=0;g<a-6;g+=1)b.a(d,g)&&!b.a(d,g+1)&&b.a(d,g+2)&&b.a(d,g+3)&&b.a(d,g+4)&&!b.a(d,g+5)&&b.a(d,g+6)&&(c+=40);for(g=0;g<a;g+=1)for(d=0;d<a-6;d+=1)b.a(d,g)&&!b.a(d+ +1,g)&&b.a(d+2,g)&&b.a(d+3,g)&&b.a(d+4,g)&&!b.a(d+5,g)&&b.a(d+6,g)&&(c+=40);for(g=e=0;g<a;g+=1)for(d=0;d<a;d+=1)b.a(d,g)&&(e+=1);return c+=Math.abs(100*e/a/a-50)/5*10}};return e}(),v=function(){for(var c=Array(256),a=Array(256),e=0;8>e;e+=1)c[e]=1<<e;for(e=8;256>e;e+=1)c[e]=c[e-4]^c[e-5]^c[e-6]^c[e-8];for(e=0;255>e;e+=1)a[c[e]]=e;return{g:function(b){if(1>b)throw Error("glog("+b+")");return a[b]},i:function(b){for(;0>b;)b+=255;for(;256<=b;)b-=255;return c[b]}}}(),t=function(){function c(b,c){switch(c){case A.L:return a[4* +(b-1)];case A.M:return a[4*(b-1)+1];case A.Q:return a[4*(b-1)+2];case A.H:return a[4*(b-1)+3]}}var a=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36, +2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73, +45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4, +151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117], +[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48], +[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],e={I:function(b,a){var e=c(b,a);if("undefined"== +typeof e)throw Error("bad rs block @ typeNumber:"+b+"/errorCorrectLevel:"+a);b=e.length/3;a=[];for(var d=0;d<b;d+=1)for(var g=e[3*d],h=e[3*d+1],t=e[3*d+2],p=0;p<g;p+=1){var q=t,f={};f.o=h;f.j=q;a.push(f)}return a}};return e}();return C}()); +export default QrCreator; +//# sourceMappingURL=qr-creator.min.js.map +
\ No newline at end of file diff --git a/js/qr-creator.min.js.map b/js/qr-creator.min.js.map new file mode 100644 index 0000000..09f4e46 --- /dev/null +++ b/js/qr-creator.min.js.map @@ -0,0 +1,8 @@ +{ +"version":3, +"file":"dist/qr-creator.min.js", +"lineCount":27, +"mappings":"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", +"sources":["src/qr-creator.js"], +"names":["qrCodeGenerator","QrCreator","render","config","$element","self","vendor_qrcode","createQRCode","text","level","version","quiet","qr","vqr","addData","make","qrModuleCount","getModuleCount","quietModuleCount","moduleCount","isDark","row","col","drawModuleRoundedDark","ctx","l","t","r","b","rad","nw","ne","se","sw","lal","x0","y0","x1","y1","r0","r1","lineTo","arcTo","moveTo","drawModuleRoundendLight","mlla","x","y","setFill","context","settings","fill","fillStyle","type","colorStops","absolutePosition","position","map","coordinate","Math","round","size","gradient","createLinearGradient","apply","createRadialGradient","Error","forEach","offset","color","addColorStop","drawOnCanvas","canvas","ecLevel","minVersion","maxVersion","max","min","err","getContext","background","fillRect","left","top","moduleSize","beginPath","right","bottom","rowT","rowB","colL","colR","radius","floor","center","northwest","north","northeast","east","southeast","south","southwest","west","defaults","options","Object","assign","HTMLCanvasElement","width","height","clearRect","$canvas","document","createElement","appendChild","qr8BitByte","data","_bytes","qrcode","stringToBytes","_this","_this.getMode","MODE_8BIT_BYTE","_this.getLength","length","_this.write","buffer","i","put","qrBitBuffer","_buffer","_length","_this.getBuffer","_this.getAt","index","bufIndex","_this.put","num","putBit","_this.getLengthInBits","_this.putBit","bit","push","typeNumber","errorCorrectLevel","setupPositionProbePattern","_moduleCount","c","_modules","makeImpl","test","maskPattern","modules","Array","pos","QRUtil","getPatternPosition","j","bits","getBCHTypeInfo","_errorCorrectLevel","mod","getBCHTypeNumber","_dataCache","rsBlocks","QRRSBlock","getRSBlocks","_dataList","getLength","getLengthInBits","write","totalDataCount","dataCount","PAD0","PAD1","maxEcCount","maxDcCount","dcdata","ecdata","dcCount","ecCount","totalCount","getBuffer","rsPoly","getErrorCorrectPolynomial","modPoly","qrPolynomial","rawPoly","modIndex","getAt","totalCodeCount","inc","bitIndex","byteIndex","maskFunc","getMaskFunction","dark","mask","QRErrorCorrectLevel","_this.addData","newData","_this.isDark","_this.getModuleCount","_this.make","minLostPoint","pattern","lostPoint","getLostPoint","shift","_num","_this.multiply","e","QRMath","gexp","glog","_this.mod","ratio","qrcode.stringToBytes","s","utf8","charcode","charCodeAt","getBCHDigit","digit","PATTERN_POSITION_TABLE","_this.getBCHTypeInfo","d","G15","G15_MASK","_this.getBCHTypeNumber","G18","_this.getPatternPosition","_this.getMaskFunction","PATTERN000","PATTERN001","PATTERN010","PATTERN011","PATTERN100","PATTERN101","PATTERN110","PATTERN111","_this.getErrorCorrectPolynomial","errorCorrectLength","a","multiply","mode","_this.getLostPoint","sameCount","count","darkCount","abs","EXP_TABLE","LOG_TABLE","_this.glog","n","_this.gexp","getRsBlockTable","RS_BLOCK_TABLE","_this.getRSBlocks","rsBlock","list"] +} diff --git a/js/service-worker.js b/js/service-worker.js index 35ad423..bb8ddde 100644 --- a/js/service-worker.js +++ b/js/service-worker.js @@ -20,6 +20,7 @@ self.addEventListener("install", (event) => { }); */ +/* self.addEventListener('install', event => { event.waitUntil( caches.open('bezahlbrudi-cache-v1').then(cache => { @@ -36,12 +37,14 @@ self.addEventListener('install', event => { }) ); }); +*/ self.addEventListener('fetch', event => { - event.respondWith( + event.respondWith(fetch(event.request)); + /* caches.match(event.request).then(cached => { return cached || fetch(event.request); }) - ); + */ });