UNPKG

830 BJavaScriptView Raw
1'use strict';
2
3module.exports = generateManifestFromConfiguration;
4
5var hasTarget = require('./has-target');
6var objectAssign = require('object-assign');
7
8function generateManifestFromConfiguration(configuration) {
9 var manifest = {};
10
11 for(var attribute in configuration) {
12 if (attribute !== 'apple' && attribute !== 'ms') {
13 if (attribute === 'icons') {
14 manifest[attribute] = copyIcons(configuration[attribute]);
15 } else {
16 manifest[attribute] = configuration[attribute];
17 }
18 }
19 }
20
21 return manifest;
22}
23
24function copyIcons(iconsDefinition) {
25 var icons, copy;
26
27 icons = [];
28
29 for(var icon of iconsDefinition) {
30 if (!icon.targets || hasTarget(icon, 'manifest')) {
31 copy = objectAssign({}, icon);
32 delete copy.targets;
33
34 icons.push(copy);
35 }
36 }
37
38 return icons;
39}