UNPKG

fusion-plugin-rpc

Version:

Fetch data on the server and client with an RPC style interface.

24 lines (23 loc) 3.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _justMapObject = _interopRequireDefault(require("just-map-object")); var _justCompare = _interopRequireDefault(require("just-compare")); var _responseError = _interopRequireDefault(require("./response-error")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const getMockRpcHandlers = (fixtures, onMockRpc) => fixtures.reduce((rpcHandlers, fixture) => ({ ...rpcHandlers, ...(0, _justMapObject.default)(fixture, (rpcId, responseDetails) => async (...args) => { const response = Array.isArray(responseDetails) ? responseDetails.filter(item => (0, _justCompare.default)(item.args, args))[0].response : responseDetails; onMockRpc && onMockRpc(rpcId, args, response); if (response instanceof Error) { throw response; } return response; }) }), {}); var _default = getMockRpcHandlers; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRNb2NrUnBjSGFuZGxlcnMiLCJmaXh0dXJlcyIsIm9uTW9ja1JwYyIsInJlZHVjZSIsInJwY0hhbmRsZXJzIiwiZml4dHVyZSIsIm1hcE9iamVjdCIsInJwY0lkIiwicmVzcG9uc2VEZXRhaWxzIiwiYXJncyIsInJlc3BvbnNlIiwiQXJyYXkiLCJpc0FycmF5IiwiZmlsdGVyIiwiaXRlbSIsImlzRXF1YWwiLCJFcnJvciJdLCJzb3VyY2VzIjpbInNyYy9tb2NrLXJwYy1oYW5kbGVycy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbWFwT2JqZWN0IGZyb20gJ2p1c3QtbWFwLW9iamVjdCc7XG5pbXBvcnQgaXNFcXVhbCBmcm9tICdqdXN0LWNvbXBhcmUnO1xuaW1wb3J0IFJlc3BvbnNlRXJyb3IgZnJvbSAnLi9yZXNwb25zZS1lcnJvcic7XG5pbXBvcnQge3R5cGUgSGFuZGxlclR5cGV9IGZyb20gJy4vdG9rZW5zJztcblxuZXhwb3J0IHR5cGUgUnBjUmVzcG9uc2UgPSBhbnkgfCBSZXNwb25zZUVycm9yO1xuZXhwb3J0IHR5cGUgUnBjUmVzcG9uc2VNYXAgPSBBcnJheTx7XG4gIGFyZ3M6IEFycmF5PGFueT47XG4gIHJlc3BvbnNlOiBScGNSZXNwb25zZTtcbn0+O1xuZXhwb3J0IHR5cGUgUnBjRml4dHVyZVQgPSB7XG4gIFt4OiBzdHJpbmddOiBScGNSZXNwb25zZU1hcCB8IFJwY1Jlc3BvbnNlO1xufTtcbnR5cGUgT25Nb2NrUnBjQ2FsbGJhY2tUID0gKFxuICBoYW5kbGVyOiBzdHJpbmcsXG4gIGFyZ3M6IEFycmF5PGFueT4sXG4gIHJlc3BvbnNlOiBScGNSZXNwb25zZVxuKSA9PiB2b2lkO1xuXG5jb25zdCBnZXRNb2NrUnBjSGFuZGxlcnMgPSAoXG4gIGZpeHR1cmVzOiBBcnJheTxScGNGaXh0dXJlVD4sXG4gIG9uTW9ja1JwYz86IE9uTW9ja1JwY0NhbGxiYWNrVFxuKTogSGFuZGxlclR5cGUgPT5cbiAgZml4dHVyZXMucmVkdWNlKFxuICAgIChycGNIYW5kbGVycywgZml4dHVyZSkgPT4gKHtcbiAgICAgIC4uLnJwY0hhbmRsZXJzLFxuICAgICAgLi4ubWFwT2JqZWN0KGZpeHR1cmUsIChycGNJZCwgcmVzcG9uc2VEZXRhaWxzKSA9PiBhc3luYyAoLi4uYXJncykgPT4ge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IEFycmF5LmlzQXJyYXkocmVzcG9uc2VEZXRhaWxzKVxuICAgICAgICAgID8gcmVzcG9uc2VEZXRhaWxzLmZpbHRlcigoaXRlbSkgPT4gaXNFcXVhbChpdGVtLmFyZ3MsIGFyZ3MpKVswXVxuICAgICAgICAgICAgICAucmVzcG9uc2VcbiAgICAgICAgICA6IHJlc3BvbnNlRGV0YWlscztcblxuICAgICAgICBvbk1vY2tScGMgJiYgb25Nb2NrUnBjKHJwY0lkLCBhcmdzLCByZXNwb25zZSk7XG5cbiAgICAgICAgaWYgKHJlc3BvbnNlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgIH0pLFxuICAgIH0pLFxuICAgIHt9XG4gICk7XG5cbmV4cG9ydCBkZWZhdWx0IGdldE1vY2tScGNIYW5kbGVycztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQTZDO0FBaUI3QyxNQUFNQSxrQkFBa0IsR0FBRyxDQUN6QkMsUUFBNEIsRUFDNUJDLFNBQThCLEtBRTlCRCxRQUFRLENBQUNFLE1BQU0sQ0FDYixDQUFDQyxXQUFXLEVBQUVDLE9BQU8sTUFBTTtFQUN6QixHQUFHRCxXQUFXO0VBQ2QsR0FBRyxJQUFBRSxzQkFBUyxFQUFDRCxPQUFPLEVBQUUsQ0FBQ0UsS0FBSyxFQUFFQyxlQUFlLEtBQUssT0FBTyxHQUFHQyxJQUFJLEtBQUs7SUFDbkUsTUFBTUMsUUFBUSxHQUFHQyxLQUFLLENBQUNDLE9BQU8sQ0FBQ0osZUFBZSxDQUFDLEdBQzNDQSxlQUFlLENBQUNLLE1BQU0sQ0FBRUMsSUFBSSxJQUFLLElBQUFDLG9CQUFPLEVBQUNELElBQUksQ0FBQ0wsSUFBSSxFQUFFQSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUMxREMsUUFBUSxHQUNYRixlQUFlO0lBRW5CTixTQUFTLElBQUlBLFNBQVMsQ0FBQ0ssS0FBSyxFQUFFRSxJQUFJLEVBQUVDLFFBQVEsQ0FBQztJQUU3QyxJQUFJQSxRQUFRLFlBQVlNLEtBQUssRUFBRTtNQUM3QixNQUFNTixRQUFRO0lBQ2hCO0lBRUEsT0FBT0EsUUFBUTtFQUNqQixDQUFDO0FBQ0gsQ0FBQyxDQUFDLEVBQ0YsQ0FBQyxDQUFDLENBQ0g7QUFBQyxlQUVXVixrQkFBa0I7QUFBQSJ9