1 | through2 = require "through2"
|
2 | gutil = require "gulp-util"
|
3 |
|
4 |
|
5 | buffer = ->
|
6 | all = []
|
7 |
|
8 | transform = (obj, enc, done) ->
|
9 | all.push obj
|
10 | done()
|
11 |
|
12 | flush = (done) ->
|
13 | for obj in all
|
14 | @push obj
|
15 | done()
|
16 |
|
17 | through2.obj transform, flush
|
18 |
|
19 |
|
20 |
|
21 | log = (name) ->
|
22 | firstRun = true
|
23 |
|
24 | transform = (obj, enc, done) ->
|
25 | if firstRun
|
26 | gutil.log "#{name}: Starting..."
|
27 | firstRun = false
|
28 |
|
29 | gutil.log "#{name}:", obj
|
30 | @push obj
|
31 | done()
|
32 |
|
33 | flush = (done) ->
|
34 | gutil.log "#{name}: Finished."
|
35 | done()
|
36 |
|
37 | through2.obj transform, flush
|
38 |
|
39 |
|
40 |
|
41 | module.exports =
|
42 | buffer: buffer
|
43 | log: log
|
44 |
|