mawk

1.0.0 • Public • Published

mawk

npm package build code climate coverage issues dependencies devDependencies downloads

Table of Contents

# mawk.args(fn) - returns argument names for a function.
# mawk.as(name, value) - create a mock from a value.
# mawk.factory(name, fn) - create a mock from a factory function.
# mawk.require(name) - create a mock from a module.
# mawk.resolve(name) - returns the value of a mock.
# mawk.sanitize(name) - returns a safe mock name.

mawk.args(fn)

stability

Returns the argument names for the function fn as an array of strings.

var mock = require('mawk');
 
function sum(one, two) {
  return one + two;
}
 
mock.args(sum);
// => [ 'one', 'two' ]

mawk.as(name, value)

stability

Creates a mock with specified name that resolves to the specified value.

var mock = require('mawk');
 
// pass name and value together
mock.as('one', 1);
 
// or pass name then value
mock('one').as(1);
 
mock.resolve('one');
// => 1

mawk.factory(name, fn)

stability

Creates a mock with specified name that resolves to the value returned from the function fn.

var mock = require('mawk');
 
mock('one').as(1);
mock('two').as(2);
 
function three(one, two) {
  return one + two;
}
 
// pass name and function together
mock.factory('three', three);
 
// or pass name then function
mock('three').factory(three);
 
mock.resolve('three');
// => 3

mawk.require(name)

stability

Creates a mock from the module with specified name.

var mock = require('mawk');
 
// in production
mock.require('redis');
 
mock.resolve('redis');
// => require('redis')
 
// in development
mock('redis').require('fakeredis');
 
mock.resolve('redis');
// => require('fakeredis')

mawk.resolve(name)

stability

Returns the value of the mock with the specified name.

var mock = require('mawk');
 
mock('one').as(1);
mock('two').as(2);
 
mock.resolve('one');
// => 1
 
mock.resolve('two');
// => 2

mawk.sanitize(name)

stability

Returns a sanitized version of name suitable for use as a JavaScript function argument.

var mock = require('mawk');
 
mock.sanitize('express');
// => 'express'
 
mock.sanitize('!safe');
// => 'safe'
 
mock.sanitize('body-parser');
// => 'bodyParser'
 
mock.sanitize('@bakerface/mawkjs');
// => 'mawkjs'
 
mock.sanitize('/path/to/file.js');
// => 'file'

Readme

Keywords

Package Sidebar

Install

npm i mawk

Weekly Downloads

3

Version

1.0.0

License

MIT

Last publish

Collaborators

  • bakerface