text: "use strict";function Method(e,t,s,r,o,i,p){if(util.isObject(o)?(p=o,o=i=void 0):util.isObject(i)&&(p=i,i=void 0),void 0!==t&&!util.isString(t))throw TypeError("type must be a string");if(!util.isString(s))throw TypeError("requestType must be a string");if(!util.isString(r))throw TypeError("responseType must be a string");ReflectionObject.call(this,e,p),this.type=t||"rpc",this.requestType=s,this.requestStream=!!o||void 0,this.responseType=r,this.responseStream=!!i||void 0,this.resolvedRequestType=null,this.resolvedResponseType=null}module.exports=Method;var ReflectionObject=require("./object");((Method.prototype=Object.create(ReflectionObject.prototype)).constructor=Method).className="Method";var util=require("./util");Method.fromJSON=function(e,t){return new Method(e,t.type,t.requestType,t.responseType,t.requestStream,t.responseStream,t.options)},Method.prototype.toJSON=function(){return{type:"rpc"!==this.type&&this.type||void 0,requestType:this.requestType,requestStream:this.requestStream,responseType:this.responseType,responseStream:this.responseStream,options:this.options}},Method.prototype.resolve=function(){return this.resolved?this:(this.resolvedRequestType=this.parent.lookupType(this.requestType),this.resolvedResponseType=this.parent.lookupType(this.responseType),ReflectionObject.prototype.resolve.call(this))};