UNPKG

mappersmith

Version:

It is a lightweight rest client for node.js and the browser

90 lines (87 loc) 3.3 kB
import { C as Context, M as Middleware, i as MethodDescriptorParams, h as MethodDescriptor, c as MiddlewareDescriptor, d as MiddlewareParams } from './index-D3_z6QHM.mjs'; import { ParameterEncoderFn } from './types.mjs'; import { GatewayConfiguration } from './gateway/types.mjs'; import Gateway from './gateway/gateway.mjs'; interface GlobalConfigs { context: Context; middleware: Middleware[]; Promise: PromiseConstructor | null; fetch: typeof fetch | null; gateway: typeof Gateway | null; gatewayConfigs: GatewayConfiguration; maxMiddlewareStackExecutionAllowed: number; } type ResourceTypeConstraint = { [resourceName: string]: { [methodName: string]: Omit<MethodDescriptorParams, 'host'> & { host?: string; }; }; }; interface ManifestOptions<Resources extends ResourceTypeConstraint> { allowResourceHostOverride?: boolean; authAttr?: string; bodyAttr?: string; clientId?: string; gatewayConfigs?: Partial<GatewayConfiguration>; headersAttr?: string; host: string; hostAttr?: string; middleware?: Middleware[]; parameterEncoder?: ParameterEncoderFn; resources?: Resources; signalAttr?: string; timeoutAttr?: string; /** * @deprecated - use `middleware` instead */ middlewares?: Middleware[]; ignoreGlobalMiddleware?: boolean; } type Method = { name: string; descriptor: MethodDescriptor; }; type EachResourceCallbackFn = (name: string, methods: Method[]) => void; type CreateMiddlewareParams = Partial<Omit<MiddlewareParams, 'resourceName' | 'resourceMethod'>> & Pick<MiddlewareParams, 'resourceName' | 'resourceMethod'>; /** * @typedef Manifest * @param {Object} obj * @param {Object} obj.gatewayConfigs - default: base values from mappersmith * @param {Object} obj.ignoreGlobalMiddleware - default: false * @param {Object} obj.resources - default: {} * @param {Array} obj.middleware or obj.middlewares - default: [] * @param {Object} globalConfigs */ declare class Manifest<Resources extends ResourceTypeConstraint> { allowResourceHostOverride: boolean; authAttr?: string; bodyAttr?: string; clientId: string | null; context: Context; gatewayConfigs: GatewayConfiguration; headersAttr?: string; host: string; hostAttr?: string; middleware: Middleware[]; parameterEncoder: ParameterEncoderFn; resources: Resources; signalAttr?: string; timeoutAttr?: string; constructor(options: ManifestOptions<Resources>, { gatewayConfigs, middleware, context }: GlobalConfigs); eachResource(callback: EachResourceCallbackFn): void; private eachMethod; createMethodDescriptor(resourceName: string, methodName: string): MethodDescriptor; /** * @param {Object} args * @param {String|Null} args.clientId * @param {String} args.resourceName * @param {String} args.resourceMethod * @param {Object} args.context * @param {Boolean} args.mockRequest * * @return {Array<Object>} */ createMiddleware(args: CreateMiddlewareParams): (MiddlewareDescriptor & Partial<MiddlewareDescriptor>)[]; } export { type GlobalConfigs, Manifest, type ManifestOptions, type Method, type ResourceTypeConstraint, Manifest as default };