UNPKG

1.15 kBJavaScriptView Raw
1'use strict';
2
3var path = require('path');
4
5function searchAssets() {
6 var assets = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
7 var extensions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
8
9 return Object.keys(assets).map(function (name) {
10 return extensions.indexOf(path.extname(name.indexOf('?') >= 0 ? name.split('?').slice(0, -1).join('') : name)) >= 0 && { name: name, asset: assets[name] };
11 }).filter(function (a) {
12 return a;
13 });
14}
15
16function searchFiles() {
17 var modules = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
18 var extensions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
19 var getter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (a) {
20 return a;
21 };
22
23 return Object.keys(modules).map(function (name) {
24 var file = getter(modules[name]);
25
26 if (!file) {
27 return null;
28 }
29
30 return extensions.indexOf(path.extname(file)) >= 0 && file;
31 }).filter(function (a) {
32 return a;
33 });
34}
35
36module.exports = {
37 assets: searchAssets,
38 files: searchFiles
39};
\No newline at end of file