UNPKG

1.07 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6var checkboardCache = {};
7
8var render = exports.render = function render(c1, c2, size, serverCanvas) {
9 if (typeof document === 'undefined' && !serverCanvas) {
10 return null;
11 }
12 var canvas = serverCanvas ? new serverCanvas() : document.createElement('canvas');
13 canvas.width = size * 2;
14 canvas.height = size * 2;
15 var ctx = canvas.getContext('2d');
16 if (!ctx) {
17 return null;
18 } // If no context can be found, return early.
19 ctx.fillStyle = c1;
20 ctx.fillRect(0, 0, canvas.width, canvas.height);
21 ctx.fillStyle = c2;
22 ctx.fillRect(0, 0, size, size);
23 ctx.translate(size, size);
24 ctx.fillRect(0, 0, size, size);
25 return canvas.toDataURL();
26};
27
28var get = exports.get = function get(c1, c2, size, serverCanvas) {
29 var key = c1 + '-' + c2 + '-' + size + (serverCanvas ? '-server' : '');
30
31 if (checkboardCache[key]) {
32 return checkboardCache[key];
33 }
34
35 var checkboard = render(c1, c2, size, serverCanvas);
36 checkboardCache[key] = checkboard;
37 return checkboard;
38};
\No newline at end of file