UNPKG

blo

Version:

blo is a small and fast library to generate Ethereum identicons.

32 lines (31 loc) 1.13 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const image = require("./image.js"); const SVG_START = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 8" shape-rendering="optimizeSpeed" '; const SVG_END = "</svg>"; const PATH_1 = '<path fill="hsl('; const PATH_2 = "% "; const PATH_3 = '%)" d="'; const PATH_4 = '"/>'; const BACKGROUND_D = "M0,0H8V8H0z"; function svg(address, size) { const [data, [b, c, s]] = image.image(address); const paths = [ "", // color "" // spot ]; for (let i = 0, x, y; i < 32; i++) { if (data[i] === 0) { continue; } x = i & 3; y = i >> 2; const square = "," + y + "h1v1h-1z"; paths[data[i] - 1] += "M" + x + square + "M" + (7 - x) + square; } return SVG_START + 'width="' + size + '" height="' + size + '">' + PATH_1 + b[0] + " " + b[1] + PATH_2 + b[2] + PATH_3 + BACKGROUND_D + PATH_4 + PATH_1 + c[0] + " " + c[1] + PATH_2 + c[2] + PATH_3 + paths[0] + PATH_4 + PATH_1 + s[0] + " " + s[1] + PATH_2 + s[2] + PATH_3 + paths[1] + PATH_4 + SVG_END; } exports.svg = svg; //# sourceMappingURL=svg.js.map