UNPKG

@connected/client

Version:

The hassle free way to call your server-side code

34 lines 1.44 kB
import Middleware from './middleware.js'; export default class Client { static instance = new Client(); middleware = new Middleware(); use(...handlers) { for (let i = 0; i < handlers.length; i += 1) { const handler = handlers[i]; if (typeof handler !== 'function' || (handler.length !== 3 && handler.length !== 4)) { throw new TypeError('use() needs a middleware function'); } if (handler.length === 3) { this.middleware.use((next, request, response) => handler(request, response, next)); } else { this.middleware.useErrorHandler((error, next, request, response) => handler(error, request, response, next)); } } } execute(name, parameters, constructorParameters, group) { const request = { name, parameters, constructorParameters, group }; const response = { result: null }; return new Promise((done) => { this.middleware.go(done, request, response); }).then((error) => (error ? Promise.reject(error) : response.result)); } static use(...handlers) { return Client.instance.use(...handlers); } static execute(name, parameters, constructorParameters, group) { return Client.instance.execute(name, parameters, constructorParameters, group); } } //# sourceMappingURL=client.js.map