HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-10-0-8-47 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.22
Disabled: NONE
Upload Files
File: /var/www/javago-api-updates/node_modules/stubs/readme.md
# 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.