UNPKG

@rxx/http

Version:
52 lines 3.18 kB
"use strict"; /** * @fileoverview IOのモッククラス定義 * @author Taketoshi Aono */ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var http_handler_1 = require("./http-handler"); /** * Mock class for HttpRequest. */ var HttpHandlerMock = /** @class */ (function (_super) { tslib_1.__extends(HttpHandlerMock, _super); /** * @param methods Definitions of each method return value. */ function HttpHandlerMock(methods, advices) { var _this = _super.call(this, advices) || this; _this.methods = methods; _this.fetchFunction = function (url, request) { return new Promise(function (resolve, reject) { setTimeout(function () { var method = _this.methods[(request.method || 'get').toLowerCase()]; if (typeof method === 'function') { var fn = method; try { return resolve(fn(url, request)); } catch (e) { return reject(e); } } resolve(new Response(request.body, { status: 200, statusText: 'OK' })); }, 100); }); }; return _this; } Object.defineProperty(HttpHandlerMock.prototype, "fetch", { /** * Return whatwgFetch function mock. */ get: function () { return this.fetchFunction; }, enumerable: true, configurable: true }); return HttpHandlerMock; }(http_handler_1.HttpHandler)); exports.HttpHandlerMock = HttpHandlerMock; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1oYW5kbGVyLW1vY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaHR0cC1oYW5kbGVyLW1vY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7O0FBR0gsK0NBQTZDO0FBNEI3Qzs7R0FFRztBQUNIO0lBQXFDLDJDQUFXO0lBRzlDOztPQUVHO0lBQ0gseUJBQ1UsT0FBK0IsRUFDdkMsT0FBaUI7UUFGbkIsWUFJRSxrQkFBTSxPQUFPLENBQUMsU0F1QmY7UUExQlMsYUFBTyxHQUFQLE9BQU8sQ0FBd0I7UUFJdkMsS0FBSSxDQUFDLGFBQWEsR0FBRyxVQUFDLEdBQVcsRUFBRSxPQUFvQjtZQUNyRCxPQUFPLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTyxFQUFFLE1BQU07Z0JBQ2pDLFVBQVUsQ0FBQztvQkFDVCxJQUFNLE1BQU0sR0FBRyxLQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO29CQUNyRSxJQUFJLE9BQU8sTUFBTSxLQUFLLFVBQVUsRUFBRTt3QkFDaEMsSUFBTSxFQUFFLEdBQUcsTUFJRSxDQUFDO3dCQUNkLElBQUk7NEJBQ0YsT0FBTyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO3lCQUNsQzt3QkFBQyxPQUFPLENBQUMsRUFBRTs0QkFDVixPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQzt5QkFDbEI7cUJBQ0Y7b0JBQ0QsT0FBTyxDQUNMLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUM5RCxDQUFDO2dCQUNKLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDOztJQUNKLENBQUM7SUFLRCxzQkFBYyxrQ0FBSztRQUhuQjs7V0FFRzthQUNIO1lBQ0UsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQzVCLENBQUM7OztPQUFBO0lBQ0gsc0JBQUM7QUFBRCxDQUFDLEFBekNELENBQXFDLDBCQUFXLEdBeUMvQztBQXpDWSwwQ0FBZSJ9