File tree Expand file tree Collapse file tree 1 file changed +6
-12
lines changed Expand file tree Collapse file tree 1 file changed +6
-12
lines changed Original file line number Diff line number Diff line change @@ -5,25 +5,19 @@ function Counter() {}
5
5
const counter = initial => {
6
6
const f = val => {
7
7
f . count += val ;
8
- Object . keys ( f . events )
9
- . map ( key => parseInt ( key ) )
10
- . filter ( n => n <= f . count )
11
- . forEach ( n => {
12
- f . events [ n ] . forEach ( callback => callback ( f . count ) ) ;
13
- delete f . events [ n ] ;
14
- } ) ;
8
+ Object . keys ( f . events ) . filter ( n => n <= f . count ) . forEach ( n => {
9
+ f . events [ n ] . forEach ( callback => callback ( f . count ) ) ;
10
+ delete f . events [ n ] ;
11
+ } ) ;
15
12
return f ;
16
13
} ;
17
- const fields = { count : 0 , events : { } } ;
18
14
Object . setPrototypeOf ( f , Counter . prototype ) ;
19
- Object . assign ( f , fields ) ;
20
- return f ( initial ) ;
15
+ return Object . assign ( f , { count : 0 , events : { } } ) ( initial ) ;
21
16
} ;
22
17
23
18
Counter . prototype . on = function ( n , callback ) {
24
19
const event = this . events [ n ] ;
25
- if ( event ) event . push ( callback ) ;
26
- else this . events [ n ] = [ callback ] ;
20
+ if ( event ) event . push ( callback ) ; else this . events [ n ] = [ callback ] ;
27
21
return this ( 0 ) ;
28
22
} ;
29
23
You can’t perform that action at this time.
0 commit comments