| var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",r=function(e){e=e.replace(/\r\n/g,"\n");for(var r=0,t="";r<e.length;r++){var n=e.charCodeAt(r);n<128?t+=String.fromCharCode(n):n>127&&n<2048?(t+=String.fromCharCode(n>>6|192),t+=String.fromCharCode(63&n|128)):(t+=String.fromCharCode(n>>12|224),t+=String.fromCharCode(n>>6&63|128),t+=String.fromCharCode(63&n|128))}return t},t=function(t){var n,o,a,i,c,f,s,d=0,u="";for(t=r(t);d<t.length;)i=(n=t.charCodeAt(d++))>>2,c=(3&n)<<4|(o=t.charCodeAt(d++))>>4,f=(15&o)<<2|(a=t.charCodeAt(d++))>>6,s=63&a,isNaN(o)?f=s=64:isNaN(a)&&(s=64),u=u+e.charAt(i)+e.charAt(c)+e.charAt(f)+e.charAt(s);return u},n=function(e){return"string"==typeof e?"string":"undefined"!=typeof SVGElement&&e instanceof SVGElement?"element":void 0},o=function(e){return"data:image/svg+xml;base64,"+t(e)},a=function(e){return o((new XMLSerializer).serializeToString(e))},i=function(e){switch(n(e)){case"string":return o(e);case"element":return a(e);default:return e}};exports.convertElement=a,exports.default=i,exports.detectInputType=n,exports.encode=t,exports.getBase64=o,exports.svg64=i,exports.utf8Encode=r; | ||
| //# sourceMappingURL=svg64.cjs.map |
| {"version":3,"file":"svg64.cjs","sources":["../src/svg64.ts"],"sourcesContent":["// prettier-ignore\nconst CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\nconst PREFIX = 'data:image/svg+xml;base64,';\n\nexport const utf8Encode = (input: string): string => {\n\tinput = input.replace(/\\r\\n/g, '\\n');\n\n\tlet i = 0;\n\tlet output = '';\n\n\tfor (; i < input.length; i++) {\n\t\tconst c = input.charCodeAt(i);\n\n\t\tif (c < 128) {\n\t\t\toutput += String.fromCharCode(c);\n\t\t} else if (c > 127 && c < 2048) {\n\t\t\toutput += String.fromCharCode((c >> 6) | 192);\n\t\t\toutput += String.fromCharCode((c & 63) | 128);\n\t\t} else {\n\t\t\toutput += String.fromCharCode((c >> 12) | 224);\n\t\t\toutput += String.fromCharCode(((c >> 6) & 63) | 128);\n\t\t\toutput += String.fromCharCode((c & 63) | 128);\n\t\t}\n\t}\n\n\treturn output;\n};\n\nexport const encode = (input: string): string => {\n\tlet i = 0;\n\tlet chr1: number;\n\tlet chr2: number;\n\tlet chr3: number;\n\tlet enc1: number;\n\tlet enc2: number;\n\tlet enc3: number;\n\tlet enc4: number;\n\tlet output = '';\n\n\tinput = utf8Encode(input);\n\n\twhile (i < input.length) {\n\t\tchr1 = input.charCodeAt(i++);\n\t\tchr2 = input.charCodeAt(i++);\n\t\tchr3 = input.charCodeAt(i++);\n\n\t\tenc1 = chr1 >> 2;\n\t\tenc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\n\t\tenc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\n\t\tenc4 = chr3 & 63;\n\n\t\tif (isNaN(chr2)) {\n\t\t\tenc3 = enc4 = 64;\n\t\t} else if (isNaN(chr3)) {\n\t\t\tenc4 = 64;\n\t\t}\n\n\t\toutput = output + CHARS.charAt(enc1) + CHARS.charAt(enc2) + CHARS.charAt(enc3) + CHARS.charAt(enc4);\n\t}\n\n\treturn output;\n};\n\nexport const detectInputType = (input: string | SVGElement): 'string' | 'element' | void => {\n\tif (typeof input === 'string') {\n\t\treturn 'string';\n\t}\n\n\tif (typeof SVGElement !== 'undefined' && input instanceof SVGElement) {\n\t\treturn 'element';\n\t}\n};\n\nexport const getBase64 = (input: string) => PREFIX + encode(input);\n\nexport const convertElement = (input: SVGElement): string => getBase64(new XMLSerializer().serializeToString(input));\n\nexport const svg64 = (input: string | SVGElement): string => {\n\tconst type = detectInputType(input);\n\n\tswitch (type) {\n\t\tcase 'string':\n\t\t\treturn getBase64(input as string);\n\n\t\tcase 'element':\n\t\t\treturn convertElement(input as SVGElement);\n\n\t\tdefault:\n\t\t\treturn input as string;\n\t}\n};\n\nexport default svg64;\n"],"names":["CHARS","utf8Encode","input","replace","i","output","length","c","charCodeAt","String","fromCharCode","encode","chr1","chr2","chr3","enc1","enc2","enc3","enc4","isNaN","charAt","detectInputType","SVGElement","getBase64","PREFIX","convertElement","XMLSerializer","serializeToString","svg64"],"mappings":"AACA,IAAMA,EAAQ,oEAGDC,EAAa,SAACC,GAC1BA,EAAQA,EAAMC,QAAQ,QAAS,MAK/B,IAHA,IAAIC,EAAI,EACJC,EAAS,GAEND,EAAIF,EAAMI,OAAQF,IAAK,CAC7B,IAAOG,EAAGL,EAAMM,WAAWJ,GAEvBG,EAAI,IACPF,GAAUI,OAAOC,aAAaH,GACpBA,EAAI,KAAOA,EAAI,MACzBF,GAAUI,OAAOC,aAAcH,GAAK,EAAK,KACzCF,GAAUI,OAAOC,aAAkB,GAAJH,EAAU,OAEzCF,GAAUI,OAAOC,aAAcH,GAAK,GAAM,KAC1CF,GAAUI,OAAOC,aAAeH,GAAK,EAAK,GAAM,KAChDF,GAAUI,OAAOC,aAAkB,GAAJH,EAAU,KAE1C,CAED,OAAOF,CACR,EAEaM,EAAS,SAACT,GACtB,IACgBU,EACZC,EACAC,EACYC,EACAC,EACZC,EACYC,EAPXd,EAAG,EAQJC,EAAS,GAIb,IAFAH,EAAQD,EAAWC,GAEZE,EAAIF,EAAMI,QAKhBS,GAJAH,EAAOV,EAAMM,WAAWJ,OAIT,EACfY,GAAgB,EAAPJ,IAAa,GAJtBC,EAAOX,EAAMM,WAAWJ,OAIY,EACpCa,GAAgB,GAAPJ,IAAc,GAJvBC,EAAOZ,EAAMM,WAAWJ,OAIa,EACrCc,EAAc,GAAPJ,EAEHK,MAAMN,GACTI,EAAOC,EAAO,GACJC,MAAML,KAChBI,EAAO,IAGRb,EAASA,EAASL,EAAMoB,OAAOL,GAAQf,EAAMoB,OAAOJ,GAAQhB,EAAMoB,OAAOH,GAAQjB,EAAMoB,OAAOF,GAG/F,OAAOb,CACR,EAE4BgB,EAAG,SAACnB,GAC/B,MAAqB,iBAALA,EACR,SAGkB,oBAAfoB,YAA8BpB,aAAiBoB,WAClD,eADR,CAGD,EAEsBC,EAAG,SAACrB,GAAkBsB,MAvE7B,6BAuEsCb,EAAOT,EAAM,EAErDuB,EAAiB,SAACvB,GAAiB,OAAsBqB,GAAC,IAAiBG,eAAGC,kBAAkBzB,GAAO,EAElG0B,EAAG,SAAC1B,GAGrB,OAFamB,EAAgBnB,IAG5B,IAAK,SACJ,OAAOqB,EAAUrB,GAElB,IAAK,UACJ,SAAsBA,GAEvB,QACC,OAAsBA,EAEzB"} |
| export declare const utf8Encode: (input: string) => string; | ||
| export declare const encode: (input: string) => string; | ||
| export declare const detectInputType: (input: string | SVGElement) => 'string' | 'element' | void; | ||
| export declare const getBase64: (input: string) => string; | ||
| export declare const convertElement: (input: SVGElement) => string; | ||
| export declare const svg64: (input: string | SVGElement) => string; | ||
| export default svg64; |
| const e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",r=e=>{e=e.replace(/\r\n/g,"\n");let r=0,t="";for(;r<e.length;r++){const n=e.charCodeAt(r);n<128?t+=String.fromCharCode(n):n>127&&n<2048?(t+=String.fromCharCode(n>>6|192),t+=String.fromCharCode(63&n|128)):(t+=String.fromCharCode(n>>12|224),t+=String.fromCharCode(n>>6&63|128),t+=String.fromCharCode(63&n|128))}return t},t=t=>{let n,a,o,i,h,d,C,c=0,g="";for(t=r(t);c<t.length;)n=t.charCodeAt(c++),a=t.charCodeAt(c++),o=t.charCodeAt(c++),i=n>>2,h=(3&n)<<4|a>>4,d=(15&a)<<2|o>>6,C=63&o,isNaN(a)?d=C=64:isNaN(o)&&(C=64),g=g+e.charAt(i)+e.charAt(h)+e.charAt(d)+e.charAt(C);return g},n=e=>"string"==typeof e?"string":"undefined"!=typeof SVGElement&&e instanceof SVGElement?"element":void 0,a=e=>"data:image/svg+xml;base64,"+t(e),o=e=>a((new XMLSerializer).serializeToString(e)),i=e=>{switch(n(e)){case"string":return a(e);case"element":return o(e);default:return e}};export{o as convertElement,i as default,n as detectInputType,t as encode,a as getBase64,i as svg64,r as utf8Encode}; | ||
| //# sourceMappingURL=svg64.modern.js.map |
| {"version":3,"file":"svg64.modern.js","sources":["../src/svg64.ts"],"sourcesContent":["// prettier-ignore\nconst CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\nconst PREFIX = 'data:image/svg+xml;base64,';\n\nexport const utf8Encode = (input: string): string => {\n\tinput = input.replace(/\\r\\n/g, '\\n');\n\n\tlet i = 0;\n\tlet output = '';\n\n\tfor (; i < input.length; i++) {\n\t\tconst c = input.charCodeAt(i);\n\n\t\tif (c < 128) {\n\t\t\toutput += String.fromCharCode(c);\n\t\t} else if (c > 127 && c < 2048) {\n\t\t\toutput += String.fromCharCode((c >> 6) | 192);\n\t\t\toutput += String.fromCharCode((c & 63) | 128);\n\t\t} else {\n\t\t\toutput += String.fromCharCode((c >> 12) | 224);\n\t\t\toutput += String.fromCharCode(((c >> 6) & 63) | 128);\n\t\t\toutput += String.fromCharCode((c & 63) | 128);\n\t\t}\n\t}\n\n\treturn output;\n};\n\nexport const encode = (input: string): string => {\n\tlet i = 0;\n\tlet chr1: number;\n\tlet chr2: number;\n\tlet chr3: number;\n\tlet enc1: number;\n\tlet enc2: number;\n\tlet enc3: number;\n\tlet enc4: number;\n\tlet output = '';\n\n\tinput = utf8Encode(input);\n\n\twhile (i < input.length) {\n\t\tchr1 = input.charCodeAt(i++);\n\t\tchr2 = input.charCodeAt(i++);\n\t\tchr3 = input.charCodeAt(i++);\n\n\t\tenc1 = chr1 >> 2;\n\t\tenc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\n\t\tenc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\n\t\tenc4 = chr3 & 63;\n\n\t\tif (isNaN(chr2)) {\n\t\t\tenc3 = enc4 = 64;\n\t\t} else if (isNaN(chr3)) {\n\t\t\tenc4 = 64;\n\t\t}\n\n\t\toutput = output + CHARS.charAt(enc1) + CHARS.charAt(enc2) + CHARS.charAt(enc3) + CHARS.charAt(enc4);\n\t}\n\n\treturn output;\n};\n\nexport const detectInputType = (input: string | SVGElement): 'string' | 'element' | void => {\n\tif (typeof input === 'string') {\n\t\treturn 'string';\n\t}\n\n\tif (typeof SVGElement !== 'undefined' && input instanceof SVGElement) {\n\t\treturn 'element';\n\t}\n};\n\nexport const getBase64 = (input: string) => PREFIX + encode(input);\n\nexport const convertElement = (input: SVGElement): string => getBase64(new XMLSerializer().serializeToString(input));\n\nexport const svg64 = (input: string | SVGElement): string => {\n\tconst type = detectInputType(input);\n\n\tswitch (type) {\n\t\tcase 'string':\n\t\t\treturn getBase64(input as string);\n\n\t\tcase 'element':\n\t\t\treturn convertElement(input as SVGElement);\n\n\t\tdefault:\n\t\t\treturn input as string;\n\t}\n};\n\nexport default svg64;\n"],"names":["CHARS","utf8Encode","input","replace","i","length","c","charCodeAt","output","String","fromCharCode","chr1","chr3","enc1","enc2","enc3","enc4","chr2","isNaN","charAt","detectInputType","SVGElement","getBase64","encode","convertElement","XMLSerializer","serializeToString","svg64"],"mappings":"AACA,MAAMA,EAAQ,oEAGDC,EAAcC,IAC1BA,EAAQA,EAAMC,QAAQ,QAAS,MAE/B,IAAIC,EAAI,IACK,GAEb,KAAOA,EAAIF,EAAMG,OAAQD,IAAK,CAC7B,MAAME,EAAIJ,EAAMK,WAAWH,GAEvBE,EAAI,IACPE,GAAUC,OAAOC,aAAaJ,GACpBA,EAAI,KAAOA,EAAI,MACzBE,GAAUC,OAAOC,aAAcJ,GAAK,EAAK,KACzCE,GAAUC,OAAOC,aAAkB,GAAJJ,EAAU,OAEzCE,GAAUC,OAAOC,aAAcJ,GAAK,GAAM,KAC1CE,GAAUC,OAAOC,aAAeJ,GAAK,EAAK,GAAM,KAChDE,GAAUC,OAAOC,aAAkB,GAAJJ,EAAU,KAE1C,CAED,OAAOE,KAGeN,IACtB,IACIS,IAEYC,EACZC,EACAC,EACYC,EACAC,EAPZZ,EAAI,EAQJI,EAAS,GAIb,IAFAN,EAAQD,EAAWC,GAEZE,EAAIF,EAAMG,QAChBM,EAAOT,EAAMK,WAAWH,KACxBa,EAAOf,EAAMK,WAAWH,KACxBQ,EAAOV,EAAMK,WAAWH,KAExBS,EAAOF,GAAQ,EACfG,GAAgB,EAAPH,IAAa,EAAMM,GAAQ,EACpCF,GAAgB,GAAPE,IAAc,EAAML,GAAQ,EACrCI,EAAc,GAAPJ,EAEHM,MAAMD,GACTF,EAAOC,EAAO,GACJE,MAAMN,KAChBI,EAAO,IAGRR,EAASA,EAASR,EAAMmB,OAAON,GAAQb,EAAMmB,OAAOL,GAAQd,EAAMmB,OAAOJ,GAAQf,EAAMmB,OAAOH,GAG/F,UAG2BI,EAAIlB,GACV,iBAALA,EACR,SAGkB,oBAALmB,YAAoBnB,wBACjC,eADR,EAKqBoB,EAAIpB,GAvEX,6BAuEsCqB,EAAOrB,GAE/CsB,EAAkBtB,GAA8BoB,GAAU,IAAIG,eAAgBC,kBAAkBxB,IAEhGyB,EAASzB,IAGrB,OAFakB,EAAgBlB,IAG5B,IAAK,SACJ,OAAgBoB,EAACpB,GAElB,IAAK,UACJ,SAAsBA,GAEvB,QACC,OAAsBA,EAAC"} |
| var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",e=function(r){r=r.replace(/\r\n/g,"\n");for(var e=0,t="";e<r.length;e++){var n=r.charCodeAt(e);n<128?t+=String.fromCharCode(n):n>127&&n<2048?(t+=String.fromCharCode(n>>6|192),t+=String.fromCharCode(63&n|128)):(t+=String.fromCharCode(n>>12|224),t+=String.fromCharCode(n>>6&63|128),t+=String.fromCharCode(63&n|128))}return t},t=function(t){var n,a,o,i,f,c,h,u=0,d="";for(t=e(t);u<t.length;)i=(n=t.charCodeAt(u++))>>2,f=(3&n)<<4|(a=t.charCodeAt(u++))>>4,c=(15&a)<<2|(o=t.charCodeAt(u++))>>6,h=63&o,isNaN(a)?c=h=64:isNaN(o)&&(h=64),d=d+r.charAt(i)+r.charAt(f)+r.charAt(c)+r.charAt(h);return d},n=function(r){return"string"==typeof r?"string":"undefined"!=typeof SVGElement&&r instanceof SVGElement?"element":void 0},a=function(r){return"data:image/svg+xml;base64,"+t(r)},o=function(r){return a((new XMLSerializer).serializeToString(r))},i=function(r){switch(n(r)){case"string":return a(r);case"element":return o(r);default:return r}};export{o as convertElement,i as default,n as detectInputType,t as encode,a as getBase64,i as svg64,e as utf8Encode}; | ||
| //# sourceMappingURL=svg64.module.js.map |
| {"version":3,"file":"svg64.module.js","sources":["../src/svg64.ts"],"sourcesContent":["// prettier-ignore\nconst CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\nconst PREFIX = 'data:image/svg+xml;base64,';\n\nexport const utf8Encode = (input: string): string => {\n\tinput = input.replace(/\\r\\n/g, '\\n');\n\n\tlet i = 0;\n\tlet output = '';\n\n\tfor (; i < input.length; i++) {\n\t\tconst c = input.charCodeAt(i);\n\n\t\tif (c < 128) {\n\t\t\toutput += String.fromCharCode(c);\n\t\t} else if (c > 127 && c < 2048) {\n\t\t\toutput += String.fromCharCode((c >> 6) | 192);\n\t\t\toutput += String.fromCharCode((c & 63) | 128);\n\t\t} else {\n\t\t\toutput += String.fromCharCode((c >> 12) | 224);\n\t\t\toutput += String.fromCharCode(((c >> 6) & 63) | 128);\n\t\t\toutput += String.fromCharCode((c & 63) | 128);\n\t\t}\n\t}\n\n\treturn output;\n};\n\nexport const encode = (input: string): string => {\n\tlet i = 0;\n\tlet chr1: number;\n\tlet chr2: number;\n\tlet chr3: number;\n\tlet enc1: number;\n\tlet enc2: number;\n\tlet enc3: number;\n\tlet enc4: number;\n\tlet output = '';\n\n\tinput = utf8Encode(input);\n\n\twhile (i < input.length) {\n\t\tchr1 = input.charCodeAt(i++);\n\t\tchr2 = input.charCodeAt(i++);\n\t\tchr3 = input.charCodeAt(i++);\n\n\t\tenc1 = chr1 >> 2;\n\t\tenc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\n\t\tenc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\n\t\tenc4 = chr3 & 63;\n\n\t\tif (isNaN(chr2)) {\n\t\t\tenc3 = enc4 = 64;\n\t\t} else if (isNaN(chr3)) {\n\t\t\tenc4 = 64;\n\t\t}\n\n\t\toutput = output + CHARS.charAt(enc1) + CHARS.charAt(enc2) + CHARS.charAt(enc3) + CHARS.charAt(enc4);\n\t}\n\n\treturn output;\n};\n\nexport const detectInputType = (input: string | SVGElement): 'string' | 'element' | void => {\n\tif (typeof input === 'string') {\n\t\treturn 'string';\n\t}\n\n\tif (typeof SVGElement !== 'undefined' && input instanceof SVGElement) {\n\t\treturn 'element';\n\t}\n};\n\nexport const getBase64 = (input: string) => PREFIX + encode(input);\n\nexport const convertElement = (input: SVGElement): string => getBase64(new XMLSerializer().serializeToString(input));\n\nexport const svg64 = (input: string | SVGElement): string => {\n\tconst type = detectInputType(input);\n\n\tswitch (type) {\n\t\tcase 'string':\n\t\t\treturn getBase64(input as string);\n\n\t\tcase 'element':\n\t\t\treturn convertElement(input as SVGElement);\n\n\t\tdefault:\n\t\t\treturn input as string;\n\t}\n};\n\nexport default svg64;\n"],"names":["CHARS","utf8Encode","input","replace","i","output","length","c","charCodeAt","String","fromCharCode","encode","chr1","chr2","chr3","enc1","enc2","enc3","enc4","isNaN","charAt","detectInputType","SVGElement","getBase64","PREFIX","convertElement","XMLSerializer","serializeToString","svg64"],"mappings":"AACA,IAAMA,EAAQ,oEAGDC,EAAa,SAACC,GAC1BA,EAAQA,EAAMC,QAAQ,QAAS,MAK/B,IAHA,IAAIC,EAAI,EACJC,EAAS,GAEND,EAAIF,EAAMI,OAAQF,IAAK,CAC7B,IAAOG,EAAGL,EAAMM,WAAWJ,GAEvBG,EAAI,IACPF,GAAUI,OAAOC,aAAaH,GACpBA,EAAI,KAAOA,EAAI,MACzBF,GAAUI,OAAOC,aAAcH,GAAK,EAAK,KACzCF,GAAUI,OAAOC,aAAkB,GAAJH,EAAU,OAEzCF,GAAUI,OAAOC,aAAcH,GAAK,GAAM,KAC1CF,GAAUI,OAAOC,aAAeH,GAAK,EAAK,GAAM,KAChDF,GAAUI,OAAOC,aAAkB,GAAJH,EAAU,KAE1C,CAED,OAAOF,CACR,EAEaM,EAAS,SAACT,GACtB,IACgBU,EACZC,EACAC,EACYC,EACAC,EACZC,EACYC,EAPXd,EAAG,EAQJC,EAAS,GAIb,IAFAH,EAAQD,EAAWC,GAEZE,EAAIF,EAAMI,QAKhBS,GAJAH,EAAOV,EAAMM,WAAWJ,OAIT,EACfY,GAAgB,EAAPJ,IAAa,GAJtBC,EAAOX,EAAMM,WAAWJ,OAIY,EACpCa,GAAgB,GAAPJ,IAAc,GAJvBC,EAAOZ,EAAMM,WAAWJ,OAIa,EACrCc,EAAc,GAAPJ,EAEHK,MAAMN,GACTI,EAAOC,EAAO,GACJC,MAAML,KAChBI,EAAO,IAGRb,EAASA,EAASL,EAAMoB,OAAOL,GAAQf,EAAMoB,OAAOJ,GAAQhB,EAAMoB,OAAOH,GAAQjB,EAAMoB,OAAOF,GAG/F,OAAOb,CACR,EAE4BgB,EAAG,SAACnB,GAC/B,MAAqB,iBAALA,EACR,SAGkB,oBAAfoB,YAA8BpB,aAAiBoB,WAClD,eADR,CAGD,EAEsBC,EAAG,SAACrB,GAAkBsB,MAvE7B,6BAuEsCb,EAAOT,EAAM,EAErDuB,EAAiB,SAACvB,GAAiB,OAAsBqB,GAAC,IAAiBG,eAAGC,kBAAkBzB,GAAO,EAElG0B,EAAG,SAAC1B,GAGrB,OAFamB,EAAgBnB,IAG5B,IAAK,SACJ,OAAOqB,EAAUrB,GAElB,IAAK,UACJ,SAAsBA,GAEvB,QACC,OAAsBA,EAEzB"} |
| !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e||self).svg64={})}(this,function(e){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",n=function(e){e=e.replace(/\r\n/g,"\n");for(var t=0,n="";t<e.length;t++){var r=e.charCodeAt(t);r<128?n+=String.fromCharCode(r):r>127&&r<2048?(n+=String.fromCharCode(r>>6|192),n+=String.fromCharCode(63&r|128)):(n+=String.fromCharCode(r>>12|224),n+=String.fromCharCode(r>>6&63|128),n+=String.fromCharCode(63&r|128))}return n},r=function(e){var r,o,i,a,f,d,c,u=0,s="";for(e=n(e);u<e.length;)a=(r=e.charCodeAt(u++))>>2,f=(3&r)<<4|(o=e.charCodeAt(u++))>>4,d=(15&o)<<2|(i=e.charCodeAt(u++))>>6,c=63&i,isNaN(o)?d=c=64:isNaN(i)&&(c=64),s=s+t.charAt(a)+t.charAt(f)+t.charAt(d)+t.charAt(c);return s},o=function(e){return"string"==typeof e?"string":"undefined"!=typeof SVGElement&&e instanceof SVGElement?"element":void 0},i=function(e){return"data:image/svg+xml;base64,"+r(e)},a=function(e){return i((new XMLSerializer).serializeToString(e))},f=function(e){switch(o(e)){case"string":return i(e);case"element":return a(e);default:return e}};e.convertElement=a,e.default=f,e.detectInputType=o,e.encode=r,e.getBase64=i,e.svg64=f,e.utf8Encode=n}); | ||
| //# sourceMappingURL=svg64.umd.js.map |
| {"version":3,"file":"svg64.umd.js","sources":["../src/svg64.ts"],"sourcesContent":["// prettier-ignore\nconst CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\nconst PREFIX = 'data:image/svg+xml;base64,';\n\nexport const utf8Encode = (input: string): string => {\n\tinput = input.replace(/\\r\\n/g, '\\n');\n\n\tlet i = 0;\n\tlet output = '';\n\n\tfor (; i < input.length; i++) {\n\t\tconst c = input.charCodeAt(i);\n\n\t\tif (c < 128) {\n\t\t\toutput += String.fromCharCode(c);\n\t\t} else if (c > 127 && c < 2048) {\n\t\t\toutput += String.fromCharCode((c >> 6) | 192);\n\t\t\toutput += String.fromCharCode((c & 63) | 128);\n\t\t} else {\n\t\t\toutput += String.fromCharCode((c >> 12) | 224);\n\t\t\toutput += String.fromCharCode(((c >> 6) & 63) | 128);\n\t\t\toutput += String.fromCharCode((c & 63) | 128);\n\t\t}\n\t}\n\n\treturn output;\n};\n\nexport const encode = (input: string): string => {\n\tlet i = 0;\n\tlet chr1: number;\n\tlet chr2: number;\n\tlet chr3: number;\n\tlet enc1: number;\n\tlet enc2: number;\n\tlet enc3: number;\n\tlet enc4: number;\n\tlet output = '';\n\n\tinput = utf8Encode(input);\n\n\twhile (i < input.length) {\n\t\tchr1 = input.charCodeAt(i++);\n\t\tchr2 = input.charCodeAt(i++);\n\t\tchr3 = input.charCodeAt(i++);\n\n\t\tenc1 = chr1 >> 2;\n\t\tenc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\n\t\tenc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\n\t\tenc4 = chr3 & 63;\n\n\t\tif (isNaN(chr2)) {\n\t\t\tenc3 = enc4 = 64;\n\t\t} else if (isNaN(chr3)) {\n\t\t\tenc4 = 64;\n\t\t}\n\n\t\toutput = output + CHARS.charAt(enc1) + CHARS.charAt(enc2) + CHARS.charAt(enc3) + CHARS.charAt(enc4);\n\t}\n\n\treturn output;\n};\n\nexport const detectInputType = (input: string | SVGElement): 'string' | 'element' | void => {\n\tif (typeof input === 'string') {\n\t\treturn 'string';\n\t}\n\n\tif (typeof SVGElement !== 'undefined' && input instanceof SVGElement) {\n\t\treturn 'element';\n\t}\n};\n\nexport const getBase64 = (input: string) => PREFIX + encode(input);\n\nexport const convertElement = (input: SVGElement): string => getBase64(new XMLSerializer().serializeToString(input));\n\nexport const svg64 = (input: string | SVGElement): string => {\n\tconst type = detectInputType(input);\n\n\tswitch (type) {\n\t\tcase 'string':\n\t\t\treturn getBase64(input as string);\n\n\t\tcase 'element':\n\t\t\treturn convertElement(input as SVGElement);\n\n\t\tdefault:\n\t\t\treturn input as string;\n\t}\n};\n\nexport default svg64;\n"],"names":["CHARS","utf8Encode","input","replace","i","output","length","c","charCodeAt","String","fromCharCode","encode","chr1","chr2","chr3","enc1","enc2","enc3","enc4","isNaN","charAt","detectInputType","SVGElement","getBase64","PREFIX","convertElement","XMLSerializer","serializeToString","svg64"],"mappings":"+NACA,IAAMA,EAAQ,oEAGDC,EAAa,SAACC,GAC1BA,EAAQA,EAAMC,QAAQ,QAAS,MAK/B,IAHA,IAAIC,EAAI,EACJC,EAAS,GAEND,EAAIF,EAAMI,OAAQF,IAAK,CAC7B,IAAOG,EAAGL,EAAMM,WAAWJ,GAEvBG,EAAI,IACPF,GAAUI,OAAOC,aAAaH,GACpBA,EAAI,KAAOA,EAAI,MACzBF,GAAUI,OAAOC,aAAcH,GAAK,EAAK,KACzCF,GAAUI,OAAOC,aAAkB,GAAJH,EAAU,OAEzCF,GAAUI,OAAOC,aAAcH,GAAK,GAAM,KAC1CF,GAAUI,OAAOC,aAAeH,GAAK,EAAK,GAAM,KAChDF,GAAUI,OAAOC,aAAkB,GAAJH,EAAU,KAE1C,CAED,OAAOF,CACR,EAEaM,EAAS,SAACT,GACtB,IACgBU,EACZC,EACAC,EACYC,EACAC,EACZC,EACYC,EAPXd,EAAG,EAQJC,EAAS,GAIb,IAFAH,EAAQD,EAAWC,GAEZE,EAAIF,EAAMI,QAKhBS,GAJAH,EAAOV,EAAMM,WAAWJ,OAIT,EACfY,GAAgB,EAAPJ,IAAa,GAJtBC,EAAOX,EAAMM,WAAWJ,OAIY,EACpCa,GAAgB,GAAPJ,IAAc,GAJvBC,EAAOZ,EAAMM,WAAWJ,OAIa,EACrCc,EAAc,GAAPJ,EAEHK,MAAMN,GACTI,EAAOC,EAAO,GACJC,MAAML,KAChBI,EAAO,IAGRb,EAASA,EAASL,EAAMoB,OAAOL,GAAQf,EAAMoB,OAAOJ,GAAQhB,EAAMoB,OAAOH,GAAQjB,EAAMoB,OAAOF,GAG/F,OAAOb,CACR,EAE4BgB,EAAG,SAACnB,GAC/B,MAAqB,iBAALA,EACR,SAGkB,oBAAfoB,YAA8BpB,aAAiBoB,WAClD,eADR,CAGD,EAEsBC,EAAG,SAACrB,GAAkBsB,MAvE7B,6BAuEsCb,EAAOT,EAAM,EAErDuB,EAAiB,SAACvB,GAAiB,OAAsBqB,GAAC,IAAiBG,eAAGC,kBAAkBzB,GAAO,EAElG0B,EAAG,SAAC1B,GAGrB,OAFamB,EAAgBnB,IAG5B,IAAK,SACJ,OAAOqB,EAAUrB,GAElB,IAAK,UACJ,SAAsBA,GAEvB,QACC,OAAsBA,EAEzB"} |
+93
| // prettier-ignore | ||
| const CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; | ||
| const PREFIX = 'data:image/svg+xml;base64,'; | ||
| export const utf8Encode = (input: string): string => { | ||
| input = input.replace(/\r\n/g, '\n'); | ||
| let i = 0; | ||
| let output = ''; | ||
| for (; i < input.length; i++) { | ||
| const c = input.charCodeAt(i); | ||
| if (c < 128) { | ||
| output += String.fromCharCode(c); | ||
| } else if (c > 127 && c < 2048) { | ||
| output += String.fromCharCode((c >> 6) | 192); | ||
| output += String.fromCharCode((c & 63) | 128); | ||
| } else { | ||
| output += String.fromCharCode((c >> 12) | 224); | ||
| output += String.fromCharCode(((c >> 6) & 63) | 128); | ||
| output += String.fromCharCode((c & 63) | 128); | ||
| } | ||
| } | ||
| return output; | ||
| }; | ||
| export const encode = (input: string): string => { | ||
| let i = 0; | ||
| let chr1: number; | ||
| let chr2: number; | ||
| let chr3: number; | ||
| let enc1: number; | ||
| let enc2: number; | ||
| let enc3: number; | ||
| let enc4: number; | ||
| let output = ''; | ||
| input = utf8Encode(input); | ||
| while (i < input.length) { | ||
| chr1 = input.charCodeAt(i++); | ||
| chr2 = input.charCodeAt(i++); | ||
| chr3 = input.charCodeAt(i++); | ||
| enc1 = chr1 >> 2; | ||
| enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); | ||
| enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); | ||
| enc4 = chr3 & 63; | ||
| if (isNaN(chr2)) { | ||
| enc3 = enc4 = 64; | ||
| } else if (isNaN(chr3)) { | ||
| enc4 = 64; | ||
| } | ||
| output = output + CHARS.charAt(enc1) + CHARS.charAt(enc2) + CHARS.charAt(enc3) + CHARS.charAt(enc4); | ||
| } | ||
| return output; | ||
| }; | ||
| export const detectInputType = (input: string | SVGElement): 'string' | 'element' | void => { | ||
| if (typeof input === 'string') { | ||
| return 'string'; | ||
| } | ||
| if (typeof SVGElement !== 'undefined' && input instanceof SVGElement) { | ||
| return 'element'; | ||
| } | ||
| }; | ||
| export const getBase64 = (input: string) => PREFIX + encode(input); | ||
| export const convertElement = (input: SVGElement): string => getBase64(new XMLSerializer().serializeToString(input)); | ||
| export const svg64 = (input: string | SVGElement): string => { | ||
| const type = detectInputType(input); | ||
| switch (type) { | ||
| case 'string': | ||
| return getBase64(input as string); | ||
| case 'element': | ||
| return convertElement(input as SVGElement); | ||
| default: | ||
| return input as string; | ||
| } | ||
| }; | ||
| export default svg64; |
+15
-7
| { | ||
| "name": "svg64", | ||
| "version": "1.2.0", | ||
| "version": "2.0.0", | ||
| "description": "Convert SVG to base64 anywhere", | ||
@@ -18,3 +18,12 @@ "keywords": [ | ||
| "funding": "https://github.com/sponsors/scriptex", | ||
| "main": "dist/svg64.js", | ||
| "type": "module", | ||
| "source": "src/svg64.ts", | ||
| "exports": { | ||
| "require": "./dist/svg64.cjs", | ||
| "default": "./dist/svg64.modern.js" | ||
| }, | ||
| "main": "./dist/svg64.cjs", | ||
| "types": "./dist/svg64.d.ts", | ||
| "module": "./dist/svg64.module.js", | ||
| "unpkg": "./dist/svg64.umd.js", | ||
| "repository": { | ||
@@ -25,12 +34,11 @@ "type": "git", | ||
| "scripts": { | ||
| "js": "mkdir dist && uglifyjs src/svg64.js -o dist/svg64.js", | ||
| "clean": "rm -rf dist && rm -rf demo/dist", | ||
| "copy": "cp -r dist demo", | ||
| "demo": "node ./demo/scripts/node.js", | ||
| "build": "yarn clean && yarn js && yarn copy" | ||
| "demo": "node ./demo/scripts/node.mjs", | ||
| "build": "microbundle && yarn copy", | ||
| "start": "microbundle watch" | ||
| }, | ||
| "dependencies": {}, | ||
| "devDependencies": { | ||
| "uglify-js": "3.17.2" | ||
| "microbundle": "0.15.1" | ||
| } | ||
| } |
+6
-4
@@ -58,5 +58,7 @@ [](https://travis-ci.com/scriptex/svg64) | ||
| ### In a browser: | ||
| ### In a browser | ||
| ```javascript | ||
| import svg64 from 'svg64'; // or use window.svg64.default | ||
| // This is your SVG DOM element | ||
@@ -69,3 +71,3 @@ const svg = document.getElementById('svg'); | ||
| // This is your SVG in base64 representation | ||
| const base64fromSVG = window.svg64(svg); | ||
| const base64fromSVG = svg64(svg); | ||
@@ -76,3 +78,3 @@ // Add the base64 image as a background to your element | ||
| ### In Node: | ||
| ### In Node | ||
@@ -97,3 +99,3 @@ ```javascript | ||
| Check it out [here](https://sv64.atanas.info) | ||
| Check it out [here](https://svg64.atanas.info) | ||
@@ -100,0 +102,0 @@ There is a simple demo illustrating how to use the SVG64 module in NodeJS. |
| (function(root,factory){if(typeof exports==="object"&&typeof module==="object")module.exports=factory();else if(typeof define==="function"&&define.amd)define(["svg64"],factory);else if(typeof exports==="object")exports["svg64"]=factory();else root["svg64"]=factory()})(this,function(){var Base64={characters:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(input){var output="";var chr1,chr2,chr3,enc1,enc2,enc3,enc4;var i=0;input=Base64.utf8Encode(input);while(i<input.length){chr1=input.charCodeAt(i++);chr2=input.charCodeAt(i++);chr3=input.charCodeAt(i++);enc1=chr1>>2;enc2=(chr1&3)<<4|chr2>>4;enc3=(chr2&15)<<2|chr3>>6;enc4=chr3&63;if(isNaN(chr2)){enc3=enc4=64}else if(isNaN(chr3)){enc4=64}output=output+this.characters.charAt(enc1)+this.characters.charAt(enc2)+this.characters.charAt(enc3)+this.characters.charAt(enc4)}return output},utf8Encode:function(string){string=string.replace(/\r\n/g,"\n");var utftext="";for(var n=0;n<string.length;n++){var c=string.charCodeAt(n);if(c<128){utftext+=String.fromCharCode(c)}else if(c>127&&c<2048){utftext+=String.fromCharCode(c>>6|192);utftext+=String.fromCharCode(c&63|128)}else{utftext+=String.fromCharCode(c>>12|224);utftext+=String.fromCharCode(c>>6&63|128);utftext+=String.fromCharCode(c&63|128)}}return utftext}};var PREFIX="data:image/svg+xml;base64,";var detectInputType=function(input){if(typeof input==="string"){return"string"}if(typeof SVGElement!=="undefined"&&input instanceof SVGElement){return"element"}};var convertElement=function(element){var XMLS=new XMLSerializer;var svg=XMLS.serializeToString(element);return getBase64(svg)};var getBase64=function(svg){return PREFIX+Base64.encode(svg)};return function(svg){var type=detectInputType(svg);switch(type){case"string":return getBase64(svg);case"element":return convertElement(svg);default:return svg}}}); |
-136
| (function (root, factory) { | ||
| if (typeof exports === 'object' && typeof module === 'object') module.exports = factory(); | ||
| // @ts-ignore | ||
| else if (typeof define === 'function' && define.amd) define(['svg64'], factory); | ||
| else if (typeof exports === 'object') exports['svg64'] = factory(); | ||
| else root['svg64'] = factory(); | ||
| })(this, function () { | ||
| /** | ||
| * Code modified from http://www.webtoolkit.info/ | ||
| **/ | ||
| var Base64 = { | ||
| characters: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=', | ||
| encode: function (input) { | ||
| var output = ''; | ||
| var chr1, chr2, chr3, enc1, enc2, enc3, enc4; | ||
| var i = 0; | ||
| input = Base64.utf8Encode(input); | ||
| while (i < input.length) { | ||
| chr1 = input.charCodeAt(i++); | ||
| chr2 = input.charCodeAt(i++); | ||
| chr3 = input.charCodeAt(i++); | ||
| enc1 = chr1 >> 2; | ||
| enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); | ||
| enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); | ||
| enc4 = chr3 & 63; | ||
| if (isNaN(chr2)) { | ||
| enc3 = enc4 = 64; | ||
| } else if (isNaN(chr3)) { | ||
| enc4 = 64; | ||
| } | ||
| output = | ||
| output + | ||
| this.characters.charAt(enc1) + | ||
| this.characters.charAt(enc2) + | ||
| this.characters.charAt(enc3) + | ||
| this.characters.charAt(enc4); | ||
| } | ||
| return output; | ||
| }, | ||
| utf8Encode: function (string) { | ||
| string = string.replace(/\r\n/g, '\n'); | ||
| var utftext = ''; | ||
| for (var n = 0; n < string.length; n++) { | ||
| var c = string.charCodeAt(n); | ||
| if (c < 128) { | ||
| utftext += String.fromCharCode(c); | ||
| } else if (c > 127 && c < 2048) { | ||
| utftext += String.fromCharCode((c >> 6) | 192); | ||
| utftext += String.fromCharCode((c & 63) | 128); | ||
| } else { | ||
| utftext += String.fromCharCode((c >> 12) | 224); | ||
| utftext += String.fromCharCode(((c >> 6) & 63) | 128); | ||
| utftext += String.fromCharCode((c & 63) | 128); | ||
| } | ||
| } | ||
| return utftext; | ||
| } | ||
| }; | ||
| var PREFIX = 'data:image/svg+xml;base64,'; | ||
| /** | ||
| * Detect the type of the provided SVG | ||
| * | ||
| * @param {string | SVGElement} input | ||
| * | ||
| * @return {string | void} | ||
| */ | ||
| var detectInputType = function (input) { | ||
| if (typeof input === 'string') { | ||
| return 'string'; | ||
| } | ||
| if (typeof SVGElement !== 'undefined' && input instanceof SVGElement) { | ||
| return 'element'; | ||
| } | ||
| }; | ||
| /** | ||
| * Convert SVGElement to base64 | ||
| * | ||
| * @param {SVGElement} element | ||
| * | ||
| * @return {string} | ||
| */ | ||
| var convertElement = function (element) { | ||
| var XMLS = new XMLSerializer(); | ||
| var svg = XMLS.serializeToString(element); | ||
| return getBase64(svg); | ||
| }; | ||
| /** | ||
| * Get the base64 representation of an SVG string or element | ||
| * | ||
| * @param {string} svg - Serialized SVG element or SVG string | ||
| * @param {SVGElement} svg - Serialized SVG element or SVG string | ||
| * | ||
| * @return {string} | ||
| */ | ||
| var getBase64 = function (svg) { | ||
| return PREFIX + Base64.encode(svg); | ||
| }; | ||
| /** | ||
| * Actually convert the provided SVG | ||
| * | ||
| * @param {string} svg | ||
| * @param {SVGElement} svg | ||
| * | ||
| * @return {string} | ||
| */ | ||
| return function (svg) { | ||
| var type = detectInputType(svg); | ||
| switch (type) { | ||
| case 'string': | ||
| return getBase64(svg); | ||
| case 'element': | ||
| return convertElement(svg); | ||
| default: | ||
| return svg; | ||
| } | ||
| }; | ||
| }); |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
33660
121.32%13
160%199
1.02%Yes
NaN102
-12.82%4
300%1
Infinity%