OLD | NEW |
1 // Generates code for a CSS paint API function which logs the given properties | 1 // Generates code for a CSS paint API function which logs the given properties |
2 // to the console. | 2 // to the console. |
3 // | 3 // |
4 // Usage: | 4 // Usage: |
5 // generatePaintStyleLogging([ | 5 // generatePaintStyleLogging([ |
6 // '--foo', | 6 // '--foo', |
7 // 'line-height', | 7 // 'line-height', |
8 // ]); | 8 // ]); |
9 | 9 |
10 function generatePaintStyleLogging(properties) { | 10 function generatePaintStyleLogging(properties) { |
11 const json = JSON.stringify(properties); | 11 const json = JSON.stringify(properties); |
12 return ` | 12 return ` |
13 registerPaint('test', class { | 13 registerPaint('test', class { |
14 static get inputProperties() { return ${json}; } | 14 static get inputProperties() { return ${json}; } |
15 paint(ctx, geom, styleMap) { | 15 paint(ctx, geom, styleMap) { |
16 const properties = styleMap.getProperties().sort(); | 16 const properties = styleMap.getProperties().sort(); |
17 for (let i = 0; i < properties.length; i++) { | 17 for (let i = 0; i < properties.length; i++) { |
18 const value = styleMap.get(properties[i]); | 18 const value = styleMap.get(properties[i]); |
19 console.log(properties[i] + ': ' + (value ? value.cssText: '
[null]')); | 19 let serialized; |
| 20 if (value) { |
| 21 serialized = '[' + value.constructor.name + '=' + value.
cssText + ']'; |
| 22 } else { |
| 23 serialized = '[null]'; |
| 24 } |
| 25 console.log(properties[i] + ': ' + serialized); |
20 } | 26 } |
21 } | 27 } |
22 }); | 28 }); |
23 `; | 29 `; |
24 } | 30 } |
OLD | NEW |