UNPKG

fusion-plugin-rpc

Version:

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

31 lines (22 loc) 3.79 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9tb2NrLXJwYy1oYW5kbGVycy5qcyJdLCJuYW1lcyI6WyJnZXRNb2NrUnBjSGFuZGxlcnMiLCJmaXh0dXJlcyIsIm9uTW9ja1JwYyIsInJlZHVjZSIsInJwY0hhbmRsZXJzIiwiZml4dHVyZSIsInJwY0lkIiwicmVzcG9uc2VEZXRhaWxzIiwiYXJncyIsInJlc3BvbnNlIiwiQXJyYXkiLCJpc0FycmF5IiwiZmlsdGVyIiwiaXRlbSIsIkVycm9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFlQSxNQUFNQSxrQkFBa0IsR0FBRyxDQUN6QkMsUUFEeUIsRUFFekJDLFNBRnlCLEtBSXpCRCxRQUFRLENBQUNFLE1BQVQsQ0FDRSxDQUFDQyxXQUFELEVBQWNDLE9BQWQsTUFBMkIsRUFDekIsR0FBR0QsV0FEc0I7QUFFekIsS0FBRyw0QkFBVUMsT0FBVixFQUFtQixDQUFDQyxLQUFELEVBQVFDLGVBQVIsS0FBNEIsT0FBTyxHQUFHQyxJQUFWLEtBQW1CO0FBQ25FLFVBQU1DLFFBQVEsR0FBR0MsS0FBSyxDQUFDQyxPQUFOLENBQWNKLGVBQWQsSUFDYkEsZUFBZSxDQUFDSyxNQUFoQixDQUF3QkMsSUFBRCxJQUFVLDBCQUFRQSxJQUFJLENBQUNMLElBQWIsRUFBbUJBLElBQW5CLENBQWpDLEVBQTJELENBQTNELEVBQ0dDLFFBRlUsR0FHYkYsZUFISjtBQUtBTCxJQUFBQSxTQUFTLElBQUlBLFNBQVMsQ0FBQ0ksS0FBRCxFQUFRRSxJQUFSLEVBQWNDLFFBQWQsQ0FBdEI7O0FBRUEsUUFBSUEsUUFBUSxZQUFZSyxLQUF4QixFQUErQjtBQUM3QixZQUFNTCxRQUFOO0FBQ0Q7O0FBRUQsV0FBT0EsUUFBUDtBQUNELEdBYkU7QUFGc0IsQ0FBM0IsQ0FERixFQWtCRSxFQWxCRixDQUpGOztlQXlCZVQsa0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuaW1wb3J0IG1hcE9iamVjdCBmcm9tICdqdXN0LW1hcC1vYmplY3QnO1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnanVzdC1jb21wYXJlJztcbmltcG9ydCBSZXNwb25zZUVycm9yIGZyb20gJy4vcmVzcG9uc2UtZXJyb3InO1xuaW1wb3J0IHt0eXBlIEhhbmRsZXJUeXBlfSBmcm9tICcuL3Rva2Vucyc7XG5cbmV4cG9ydCB0eXBlIFJwY1Jlc3BvbnNlID0gT2JqZWN0IHwgUmVzcG9uc2VFcnJvcjtcbmV4cG9ydCB0eXBlIFJwY1Jlc3BvbnNlTWFwID0gQXJyYXk8e1xuICBhcmdzOiBBcnJheTwqPixcbiAgcmVzcG9uc2U6IFJwY1Jlc3BvbnNlLFxufT47XG5leHBvcnQgdHlwZSBScGNGaXh0dXJlVCA9IHtbc3RyaW5nXTogUnBjUmVzcG9uc2VNYXAgfCBScGNSZXNwb25zZX07XG50eXBlIE9uTW9ja1JwY0NhbGxiYWNrVCA9IChcbiAgaGFuZGxlcjogc3RyaW5nLFxuICBhcmdzOiBBcnJheTwqPixcbiAgcmVzcG9uc2U6IFJwY1Jlc3BvbnNlXG4pID0+IHZvaWQ7XG5cbmNvbnN0IGdldE1vY2tScGNIYW5kbGVycyA9IChcbiAgZml4dHVyZXM6IEFycmF5PFJwY0ZpeHR1cmVUPixcbiAgb25Nb2NrUnBjPzogT25Nb2NrUnBjQ2FsbGJhY2tUXG4pOiBIYW5kbGVyVHlwZSA9PlxuICBmaXh0dXJlcy5yZWR1Y2UoXG4gICAgKHJwY0hhbmRsZXJzLCBmaXh0dXJlKSA9PiAoe1xuICAgICAgLi4ucnBjSGFuZGxlcnMsXG4gICAgICAuLi5tYXBPYmplY3QoZml4dHVyZSwgKHJwY0lkLCByZXNwb25zZURldGFpbHMpID0+IGFzeW5jICguLi5hcmdzKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gQXJyYXkuaXNBcnJheShyZXNwb25zZURldGFpbHMpXG4gICAgICAgICAgPyByZXNwb25zZURldGFpbHMuZmlsdGVyKChpdGVtKSA9PiBpc0VxdWFsKGl0ZW0uYXJncywgYXJncykpWzBdXG4gICAgICAgICAgICAgIC5yZXNwb25zZVxuICAgICAgICAgIDogcmVzcG9uc2VEZXRhaWxzO1xuXG4gICAgICAgIG9uTW9ja1JwYyAmJiBvbk1vY2tScGMocnBjSWQsIGFyZ3MsIHJlc3BvbnNlKTtcblxuICAgICAgICBpZiAocmVzcG9uc2UgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgfSksXG4gICAgfSksXG4gICAge31cbiAgKTtcblxuZXhwb3J0IGRlZmF1bHQgZ2V0TW9ja1JwY0hhbmRsZXJzO1xuIl19