File tree Expand file tree Collapse file tree 2 files changed +33
-0
lines changed Expand file tree Collapse file tree 2 files changed +33
-0
lines changed Original file line number Diff line number Diff line change @@ -130,6 +130,14 @@ exports.key = function (handler, key) {
130
130
// expose keycode hash
131
131
exports . key . keyCodes = keyCodes
132
132
133
+ exports . debounce = function ( handler , delay ) {
134
+ if ( ! handler ) return
135
+ if ( ! delay ) {
136
+ delay = 300
137
+ }
138
+ return _ . debounce ( handler , delay )
139
+ }
140
+
133
141
/**
134
142
* Install special array filters
135
143
*/
Original file line number Diff line number Diff line change @@ -98,6 +98,31 @@ describe('Filters', function () {
98
98
expect ( spy ) . toHaveBeenCalled ( )
99
99
} )
100
100
101
+ it ( 'debounce' , function ( done ) {
102
+ var filter = filters . debounce
103
+ expect ( filter ( null ) ) . toBeUndefined ( )
104
+ var spy = jasmine . createSpy ( 'filter:debounce' )
105
+ var handler = filter ( spy )
106
+ handler ( )
107
+ expect ( spy ) . not . toHaveBeenCalled ( )
108
+ handler = filter ( spy )
109
+ handler ( )
110
+ setTimeout ( function ( ) {
111
+ expect ( spy ) . toHaveBeenCalled ( )
112
+ } , 400 )
113
+ var spy2 = jasmine . createSpy ( 'filter:debounce' )
114
+ handler = filter ( spy2 , 450 )
115
+ handler ( )
116
+ handler ( )
117
+ setTimeout ( function ( ) {
118
+ expect ( spy2 ) . not . toHaveBeenCalled ( )
119
+ } , 400 )
120
+ setTimeout ( function ( ) {
121
+ expect ( spy2 . calls . count ( ) ) . toBe ( 1 )
122
+ done ( )
123
+ } , 500 )
124
+ } )
125
+
101
126
it ( 'filterBy' , function ( ) {
102
127
var filter = filters . filterBy
103
128
var arr = [
You can’t perform that action at this time.
0 commit comments