73 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# stubs
 | 
						|
 | 
						|
> It's a simple stubber.
 | 
						|
 | 
						|
## About
 | 
						|
 | 
						|
For when you don't want to write the same thing over and over to cache a method and call an override, then revert it, and blah blah.
 | 
						|
 | 
						|
 | 
						|
## Use
 | 
						|
```sh
 | 
						|
$ npm install --save-dev stubs
 | 
						|
```
 | 
						|
```js
 | 
						|
var mylib = require('./lib/index.js')
 | 
						|
var stubs = require('stubs')
 | 
						|
 | 
						|
// make it a noop
 | 
						|
stubs(mylib, 'create')
 | 
						|
 | 
						|
// stub it out
 | 
						|
stubs(mylib, 'create', function() {
 | 
						|
  // calls this instead
 | 
						|
})
 | 
						|
 | 
						|
// stub it out, but call the original first
 | 
						|
stubs(mylib, 'create', { callthrough: true }, function() {
 | 
						|
  // call original method, then call this
 | 
						|
})
 | 
						|
 | 
						|
// use the stub for a while, then revert
 | 
						|
stubs(mylib, 'create', { calls: 3 }, function() {
 | 
						|
  // call this 3 times, then use the original method
 | 
						|
})
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
## API
 | 
						|
 | 
						|
### stubs(object, method[[, opts], stub])
 | 
						|
 | 
						|
#### object
 | 
						|
- Type: Object
 | 
						|
 | 
						|
#### method
 | 
						|
- Type: String
 | 
						|
 | 
						|
Name of the method to stub.
 | 
						|
 | 
						|
#### opts
 | 
						|
- (optional)
 | 
						|
- Type: Object
 | 
						|
 | 
						|
##### opts.callthrough
 | 
						|
- (optional)
 | 
						|
- Type: Boolean
 | 
						|
- Default: `false`
 | 
						|
 | 
						|
Call the original method as well as the stub (if a stub is provided).
 | 
						|
 | 
						|
##### opts.calls
 | 
						|
- (optional)
 | 
						|
- Type: Number
 | 
						|
- Default: `0` (never revert)
 | 
						|
 | 
						|
Number of calls to allow the stub to receive until reverting to the original.
 | 
						|
 | 
						|
#### stub
 | 
						|
- (optional)
 | 
						|
- Type: Function
 | 
						|
- Default: `function() {}`
 | 
						|
 | 
						|
This method is called in place of the original method. If `opts.callthrough` is `true`, this method is called *after* the original method is called as well. |