{"version":3,"sources":["../../src/method-descriptor.ts"],"sourcesContent":["import type { Headers, RequestParams, ParameterEncoderFn, Params } from './types'\nimport type { Middleware } from './middleware/index'\n\nexport interface MethodDescriptorParams {\n  allowResourceHostOverride?: boolean\n  authAttr?: string\n  binary?: boolean\n  bodyAttr?: string\n  headers?: Headers\n  headersAttr?: string\n  host: string\n  hostAttr?: string\n  method?: string\n  middleware?: Array<Middleware>\n  middlewares?: Array<Middleware>\n  parameterEncoder?: ParameterEncoderFn\n  params?: Params\n  path: string | ((args: RequestParams) => string)\n  pathAttr?: string\n  queryParamAlias?: Record<string, string>\n  signalAttr?: string\n  timeoutAttr?: string\n}\n\n/**\n * @typedef MethodDescriptor\n * @param {MethodDescriptorParams} params\n *   @param {boolean} params.allowResourceHostOverride\n *   @param {Function} params.parameterEncoder\n *   @param {String} params.authAttr - auth attribute name. Default: 'auth'\n *   @param {boolean} params.binary\n *   @param {String} params.bodyAttr - body attribute name. Default: 'body'\n *   @param {Headers} params.headers\n *   @param {String} params.headersAttr - headers attribute name. Default: 'headers'\n *   @param {String} params.host\n *   @param {String} params.hostAttr - host attribute name. Default: 'host'\n *   @param {String} params.method\n *   @param {Middleware[]} params.middleware\n *   @param {Middleware[]} params.middlewares - alias for middleware\n *   @param {RequestParams} params.params\n *   @param {String|Function} params.path\n *   @param {String} params.pathAttr. Default: 'path'\n *   @param {Object} params.queryParamAlias\n *   @param {Number} params.signalAttr - signal attribute name. Default: 'signal'\n *   @param {Number} params.timeoutAttr - timeout attribute name. Default: 'timeout'\n */\nexport class MethodDescriptor {\n  public readonly allowResourceHostOverride: boolean\n  public readonly authAttr: string\n  public readonly binary: boolean\n  public readonly bodyAttr: string\n  public readonly headers?: Headers\n  public readonly headersAttr: string\n  public readonly host: string\n  public readonly hostAttr: string\n  public readonly method: string\n  public readonly middleware: Middleware[]\n  public readonly parameterEncoder: ParameterEncoderFn\n  public readonly params?: RequestParams\n  public readonly path: string | ((args: RequestParams) => string)\n  public readonly pathAttr: string\n  public readonly queryParamAlias: Record<string, string>\n  public readonly signalAttr: string\n  public readonly timeoutAttr: string\n\n  constructor(params: MethodDescriptorParams) {\n    this.allowResourceHostOverride = params.allowResourceHostOverride || false\n    this.binary = params.binary || false\n    this.headers = params.headers\n    this.host = params.host\n    this.method = params.method || 'get'\n    this.parameterEncoder = params.parameterEncoder || encodeURIComponent\n    this.params = params.params\n    this.path = params.path\n    this.queryParamAlias = params.queryParamAlias || {}\n\n    this.authAttr = params.authAttr || 'auth'\n    this.bodyAttr = params.bodyAttr || 'body'\n    this.headersAttr = params.headersAttr || 'headers'\n    this.hostAttr = params.hostAttr || 'host'\n    this.pathAttr = params.pathAttr || 'path'\n    this.signalAttr = params.signalAttr || 'signal'\n    this.timeoutAttr = params.timeoutAttr || 'timeout'\n\n    const resourceMiddleware = params.middleware || params.middlewares || []\n    this.middleware = resourceMiddleware\n  }\n}\n\nexport default MethodDescriptor\n"],"mappings":";AA8CO,IAAM,mBAAN,MAAuB;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEhB,YAAY,QAAgC;AAC1C,SAAK,4BAA4B,OAAO,6BAA6B;AACrE,SAAK,SAAS,OAAO,UAAU;AAC/B,SAAK,UAAU,OAAO;AACtB,SAAK,OAAO,OAAO;AACnB,SAAK,SAAS,OAAO,UAAU;AAC/B,SAAK,mBAAmB,OAAO,oBAAoB;AACnD,SAAK,SAAS,OAAO;AACrB,SAAK,OAAO,OAAO;AACnB,SAAK,kBAAkB,OAAO,mBAAmB,CAAC;AAElD,SAAK,WAAW,OAAO,YAAY;AACnC,SAAK,WAAW,OAAO,YAAY;AACnC,SAAK,cAAc,OAAO,eAAe;AACzC,SAAK,WAAW,OAAO,YAAY;AACnC,SAAK,WAAW,OAAO,YAAY;AACnC,SAAK,aAAa,OAAO,cAAc;AACvC,SAAK,cAAc,OAAO,eAAe;AAEzC,UAAM,qBAAqB,OAAO,cAAc,OAAO,eAAe,CAAC;AACvE,SAAK,aAAa;AAAA,EACpB;AACF;AAEA,IAAO,4BAAQ;","names":[]}