/* global require, module, window */
|
var Handler = require('./mock/handler')
|
var Util = require('./mock/util')
|
var Random = require('./mock/random')
|
var RE = require('./mock/regexp')
|
var toJSONSchema = require('./mock/schema')
|
var valid = require('./mock/valid')
|
|
var XHR
|
if (typeof window !== 'undefined') XHR = require('./mock/xhr')
|
|
/*!
|
Mock - 模拟请求 & 模拟数据
|
https://github.com/nuysoft/Mock
|
墨智 mozhi.gyy@taobao.com nuysoft@gmail.com
|
*/
|
var Mock = {
|
Handler: Handler,
|
Random: Random,
|
Util: Util,
|
XHR: XHR,
|
RE: RE,
|
toJSONSchema: toJSONSchema,
|
valid: valid,
|
heredoc: Util.heredoc,
|
setup: function(settings) {
|
return XHR.setup(settings)
|
},
|
_mocked: {}
|
}
|
|
Mock.version = '1.0.1-beta3'
|
|
// 避免循环依赖
|
if (XHR) XHR.Mock = Mock
|
|
/*
|
* Mock.mock( template )
|
* Mock.mock( function() )
|
* Mock.mock( rurl, template )
|
* Mock.mock( rurl, function(options) )
|
* Mock.mock( rurl, rtype, template )
|
* Mock.mock( rurl, rtype, function(options) )
|
|
根据数据模板生成模拟数据。
|
*/
|
Mock.mock = function(rurl, rtype, template) {
|
// Mock.mock(template)
|
if (arguments.length === 1) {
|
return Handler.gen(rurl)
|
}
|
// Mock.mock(rurl, template)
|
if (arguments.length === 2) {
|
template = rtype
|
rtype = undefined
|
}
|
// 拦截 XHR
|
if (XHR) window.XMLHttpRequest = XHR
|
Mock._mocked[rurl + (rtype || '')] = {
|
rurl: rurl,
|
rtype: rtype,
|
template: template
|
}
|
return Mock
|
}
|
|
module.exports = Mock
|