-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathoverrides.coffee
More file actions
45 lines (39 loc) · 1.75 KB
/
overrides.coffee
File metadata and controls
45 lines (39 loc) · 1.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
'use strict'
############################################################################################################
CND = require 'cnd'
rpr = CND.rpr
badge = 'PIPEDREAMS/OVERRIDES'
debug = CND.get_logger 'debug', badge
warn = CND.get_logger 'warn', badge
info = CND.get_logger 'info', badge
urge = CND.get_logger 'urge', badge
help = CND.get_logger 'help', badge
whisper = CND.get_logger 'whisper', badge
echo = CND.echo.bind CND
{ assign
jr } = CND
#...........................................................................................................
PS = require 'pipestreams'
#...........................................................................................................
{ jr
copy
assign } = CND
#...........................................................................................................
override_sym = Symbol.for 'override'
#-----------------------------------------------------------------------------------------------------------
@$drain = ( on_end = null ) ->
pipeline = []
pipeline.push @$ ( d, send ) =>
if ( @select d, '~end' )
send @symbols.end
else
send d
pipeline.push PS.$drain on_end
R = @pull pipeline...
return @mark_as_sink R, { type: '$drain', on_end, }
############################################################################################################
L = @
do ->
### Mark all methods defined here as overrides: ###
for key, value of L
value[ override_sym ] = true