Skip to content

Commit 115c017

Browse files
committed
feature(@putout/engine-processor) add getExtensions
1 parent 98f8390 commit 115c017

File tree

3 files changed

+46
-9
lines changed

3 files changed

+46
-9
lines changed

packages/engine-processor/README.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
# @putout/engine-processor [![NPM version][NPMIMGURL]][NPMURL] [![Dependency Status][DependencyStatusIMGURL]][DependencyStatusURL]
22

3-
[NPMIMGURL]: https://img.shields.io/npm/v/@putout/engine-loader.svg?style=flat&longCache=true
4-
[NPMURL]: https://npmjs.org/package/@putout/engine-loader"npm"
5-
6-
[DependencyStatusURL]: https://david-dm.org/coderaiser/putout?path=packages/engine-loader
7-
[DependencyStatusIMGURL]: https://david-dm.org/coderaiser/putout.svg?path=packages/engine-loader
3+
[NPMIMGURL]: https://img.shields.io/npm/v/@putout/engine-loader.svg?style=flat&longCache=true
4+
[NPMURL]: https://npmjs.org/package/@putout/engine-loader"npm"
5+
[DependencyStatusURL]: https://david-dm.org/coderaiser/putout?path=packages/engine-loader
6+
[DependencyStatusIMGURL]: https://david-dm.org/coderaiser/putout.svg?path=packages/engine-loader
87

98
Run putout `pre-` and `post-` processors.
109

@@ -30,7 +29,7 @@ runProcessors({
3029
isProcessed,
3130
places,
3231
processedSource,
33-
})
32+
});
3433
```
3534

3635
## Processor Example
@@ -39,7 +38,7 @@ Simplest possible procesor exampmle can look like this:
3938

4039
```js
4140
module.exports.extensions = [
42-
'js'
41+
'js',
4342
];
4443

4544
// preProcess should always return array of sources that was get from source
@@ -59,4 +58,3 @@ module.exports.postProcess = (source, list) => {
5958
## License
6059

6160
MIT
62-

packages/engine-processor/lib/processor.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,18 @@ const defaultProcessors = [
99

1010
const addExtension = (name, ext) => !ext ? name : `${name}{${ext}}`;
1111

12+
module.exports.defaultProcessors = defaultProcessors;
13+
14+
module.exports.getExtensions = (processors) => {
15+
const result = [];
16+
17+
for (const {extensions} of processors) {
18+
result.push(...extensions);
19+
}
20+
21+
return result;
22+
};
23+
1224
module.exports.runProcessors = async ({name, process, options, rawSource, index, length}) => {
1325
const allPlaces = [];
1426
const ext = extname(name).slice(1);

packages/engine-processor/test/processor.js

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const {join} = require('path');
55

66
const test = require('supertape');
77
const stub = require('@cloudcmd/stub');
8-
const {runProcessors} = require('..');
8+
const {runProcessors, getExtensions} = require('..');
99

1010
test('putout: engine-processor: no processor', async (t) => {
1111
const name = 'hello.xxx';
@@ -100,3 +100,30 @@ test('putout: engine-processor: markdown: javascript', async (t) => {
100100
t.end();
101101
});
102102

103+
test('putout: engine-processor: getExtensions', (t) => {
104+
const js = {
105+
extensions: [
106+
'js',
107+
'ts',
108+
],
109+
};
110+
111+
const css = {
112+
extensions: [
113+
'css',
114+
],
115+
};
116+
117+
const processors = [js, css];
118+
const result = getExtensions(processors);
119+
120+
const expected = [
121+
'js',
122+
'ts',
123+
'css',
124+
];
125+
126+
t.deepEqual(expected, result, 'should equal');
127+
t.end();
128+
});
129+

0 commit comments

Comments
 (0)