查看定义函数的位置
See where function is defined
我怎样才能看到这个函数在哪里:http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#copyObject-property
copyObject(params = {}, callback) ⇒ AWS.Request
定义?
我尝试了什么:
var AWS = require('aws-sdk');
AWS.S3.prototype.copyObject
=> undefined
但那是未定义
我想知道它,因为我想用 proxyquire
:
存根这个函数
var aws_stub = {};
var Mover = proxyquire('../../callback/mover',
{'aws-sdk': aws_stub}
).Mover;
var fake_aws_copyObject = function(params, func){func(null, "succeed")};
fake_aws_copyObject_stub = sinon.spy(fake_aws_copyObject);
aws_stub.AWS.S3 ... ?? = fake_aws_copyObject_stub;
它特定于您选择使用的 API 版本,因此您必须先创建一个新的服务实例 var s3 = new AWS.S3();
。
您可以在描述 API 的文件中的某处找到生成它所基于的服务的定义:aws-sdk/apis/s3-2006-03-01.min.json
。
apis
中的 API 个文件在 lib/api_loader.js
中加载。
您可以在 lib/service.js
中看到它们实际上已添加到原型中,但这只会在您创建服务的新实例后发生:
/**
* Adds one method for each operation described in the api configuration
*
* @api private
*/
defineMethods: function defineMethods(svc) {
AWS.util.each(svc.prototype.api.operations, function iterator(method) {
if (svc.prototype[method]) return;
svc.prototype[method] = function (params, callback) {
return this.makeRequest(method, params, callback);
};
});
}
我怎样才能看到这个函数在哪里:http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#copyObject-property
copyObject(params = {}, callback) ⇒ AWS.Request
定义?
我尝试了什么:
var AWS = require('aws-sdk');
AWS.S3.prototype.copyObject
=> undefined
但那是未定义
我想知道它,因为我想用 proxyquire
:
var aws_stub = {};
var Mover = proxyquire('../../callback/mover',
{'aws-sdk': aws_stub}
).Mover;
var fake_aws_copyObject = function(params, func){func(null, "succeed")};
fake_aws_copyObject_stub = sinon.spy(fake_aws_copyObject);
aws_stub.AWS.S3 ... ?? = fake_aws_copyObject_stub;
它特定于您选择使用的 API 版本,因此您必须先创建一个新的服务实例 var s3 = new AWS.S3();
。
您可以在描述 API 的文件中的某处找到生成它所基于的服务的定义:aws-sdk/apis/s3-2006-03-01.min.json
。
apis
中的 API 个文件在 lib/api_loader.js
中加载。
您可以在 lib/service.js
中看到它们实际上已添加到原型中,但这只会在您创建服务的新实例后发生:
/**
* Adds one method for each operation described in the api configuration
*
* @api private
*/
defineMethods: function defineMethods(svc) {
AWS.util.each(svc.prototype.api.operations, function iterator(method) {
if (svc.prototype[method]) return;
svc.prototype[method] = function (params, callback) {
return this.makeRequest(method, params, callback);
};
});
}