1 | 'use strict';
|
2 |
|
3 | var path = require('path');
|
4 |
|
5 | function 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 |
|
16 | function 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 |
|
36 | module.exports = {
|
37 | assets: searchAssets,
|
38 | files: searchFiles
|
39 | }; |
\ | No newline at end of file |