UNPKG

@fly/edge

Version:
44 lines 5.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.responseModifier = exports.requestModifier = void 0; /** * A convenience function for building middleware that only operates on a response. * @param fn */ function requestModifier(fn) { return function (fetch, ...args) { return async function (req, init) { if (typeof req === "string") { req = new Request(req, init); init = undefined; } let resp = fn(req, ...args); if (resp instanceof Promise) { resp = await resp; } if (resp) { return resp; } return fetch(req, init); }; }; } exports.requestModifier = requestModifier; /** * A convenience function for building middleware that only operates on a response. * @param fn */ function responseModifier(fn) { return function (fetch, ...args) { return async function (req, init) { const resp = await fetch(req, init); if (typeof req === "string") { req = new Request(req, init); init = undefined; } return fn(resp, ...args); }; }; } exports.responseModifier = responseModifier; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9taWRkbGV3YXJlL2J1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBV0E7OztHQUdHO0FBQ0gsU0FBZ0IsZUFBZSxDQUFDLEVBQTREO0lBRTFGLE9BQU8sVUFBUyxLQUFvQixFQUFFLEdBQUcsSUFBVztRQUNsRCxPQUFPLEtBQUssV0FBVSxHQUFnQixFQUFFLElBQWtCO1lBQ3hELElBQUcsT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFDO2dCQUN6QixHQUFHLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFBO2dCQUM1QixJQUFJLEdBQUcsU0FBUyxDQUFBO2FBQ2pCO1lBQ0QsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFBO1lBQzNCLElBQUcsSUFBSSxZQUFZLE9BQU8sRUFBQztnQkFDekIsSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFBO2FBQ2xCO1lBQ0QsSUFBRyxJQUFJLEVBQUM7Z0JBQ04sT0FBTyxJQUFJLENBQUE7YUFDWjtZQUNELE9BQU8sS0FBSyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUN6QixDQUFDLENBQUE7SUFDSCxDQUFDLENBQUE7QUFDSCxDQUFDO0FBbEJELDBDQWtCQztBQU9EOzs7R0FHRztBQUNILFNBQWdCLGdCQUFnQixDQUFDLEVBQW9FO0lBRW5HLE9BQU8sVUFBUyxLQUFvQixFQUFFLEdBQUcsSUFBVztRQUNsRCxPQUFPLEtBQUssV0FBVSxHQUFnQixFQUFFLElBQWtCO1lBQ3hELE1BQU0sSUFBSSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQTtZQUNuQyxJQUFHLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBQztnQkFDekIsR0FBRyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQTtnQkFDNUIsSUFBSSxHQUFHLFNBQVMsQ0FBQTthQUNqQjtZQUVELE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFBO1FBQzFCLENBQUMsQ0FBQTtJQUNILENBQUMsQ0FBQTtBQUNILENBQUM7QUFiRCw0Q0FhQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBNaWRkbGV3YXJlXG4gKi9cbmltcG9ydCB7IEZldGNoRnVuY3Rpb24sIEZldGNoR2VuZXJhdG9yV2l0aE9wdGlvbnMsIEZldGNoR2VuZXJhdG9yIH0gZnJvbSBcIi4uL2ZldGNoXCI7XG5cbmV4cG9ydCB0eXBlIFJlc3BvbnNlTW9kaWZpZXJSZXN1bHQgPSBQcm9taXNlPHVuZGVmaW5lZCB8IHZvaWQgfCBSZXNwb25zZT4gfCB1bmRlZmluZWQgfCB2b2lkIHwgUmVzcG9uc2Vcbi8qKlxuICogQSBjb252ZW5pZW5jZSBmdW5jdGlvbiBmb3IgYnVpbGRpbmcgbWlkZGxld2FyZSB0aGF0IG9ubHkgb3BlcmF0ZXMgb24gYSByZXF1ZXN0LlxuICogQHBhcmFtIGZuIFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVxdWVzdE1vZGlmaWVyPEo+KGZuOiAocmVxOiBSZXF1ZXN0LCBvcHRpb25zOiBKKSA9PiBSZXNwb25zZU1vZGlmaWVyUmVzdWx0KTogRmV0Y2hHZW5lcmF0b3JXaXRoT3B0aW9uczxKPlxuLyoqXG4gKiBBIGNvbnZlbmllbmNlIGZ1bmN0aW9uIGZvciBidWlsZGluZyBtaWRkbGV3YXJlIHRoYXQgb25seSBvcGVyYXRlcyBvbiBhIHJlc3BvbnNlLlxuICogQHBhcmFtIGZuIFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVxdWVzdE1vZGlmaWVyKGZuOiAocmVxOiBSZXF1ZXN0LCAuLi5hcmdzOiBhbnlbXSkgPT4gUmVzcG9uc2VNb2RpZmllclJlc3VsdCk6IEZldGNoR2VuZXJhdG9yXG57XG4gIHJldHVybiBmdW5jdGlvbihmZXRjaDogRmV0Y2hGdW5jdGlvbiwgLi4uYXJnczogYW55W10pe1xuICAgIHJldHVybiBhc3luYyBmdW5jdGlvbihyZXE6IFJlcXVlc3RJbmZvLCBpbml0PzogUmVxdWVzdEluaXQpe1xuICAgICAgaWYodHlwZW9mIHJlcSA9PT0gXCJzdHJpbmdcIil7XG4gICAgICAgIHJlcSA9IG5ldyBSZXF1ZXN0KHJlcSwgaW5pdClcbiAgICAgICAgaW5pdCA9IHVuZGVmaW5lZFxuICAgICAgfVxuICAgICAgbGV0IHJlc3AgPSBmbihyZXEsIC4uLmFyZ3MpXG4gICAgICBpZihyZXNwIGluc3RhbmNlb2YgUHJvbWlzZSl7XG4gICAgICAgIHJlc3AgPSBhd2FpdCByZXNwXG4gICAgICB9XG4gICAgICBpZihyZXNwKXtcbiAgICAgICAgcmV0dXJuIHJlc3BcbiAgICAgIH1cbiAgICAgIHJldHVybiBmZXRjaChyZXEsIGluaXQpXG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQSBjb252ZW5pZW5jZSBmdW5jdGlvbiBmb3IgYnVpbGRpbmcgbWlkZGxld2FyZSB0aGF0IG9ubHkgb3BlcmF0ZXMgb24gYSByZXNwb25zZS5cbiAqIEBwYXJhbSBmbiBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc3BvbnNlTW9kaWZpZXI8Sj4oZm46IChyZXNwOiBSZXNwb25zZSwgb3B0aW9uczogSikgPT4gUHJvbWlzZTxSZXNwb25zZT4gfCBSZXNwb25zZSk6IEZldGNoR2VuZXJhdG9yV2l0aE9wdGlvbnM8Sj5cbi8qKlxuICogQSBjb252ZW5pZW5jZSBmdW5jdGlvbiBmb3IgYnVpbGRpbmcgbWlkZGxld2FyZSB0aGF0IG9ubHkgb3BlcmF0ZXMgb24gYSByZXNwb25zZS5cbiAqIEBwYXJhbSBmbiBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc3BvbnNlTW9kaWZpZXIoZm46IChyZXNwOiBSZXNwb25zZSwgLi4uYXJnczogYW55W10pID0+IFByb21pc2U8UmVzcG9uc2U+IHwgUmVzcG9uc2UpOiBGZXRjaEdlbmVyYXRvclxue1xuICByZXR1cm4gZnVuY3Rpb24oZmV0Y2g6IEZldGNoRnVuY3Rpb24sIC4uLmFyZ3M6IGFueVtdKXtcbiAgICByZXR1cm4gYXN5bmMgZnVuY3Rpb24ocmVxOiBSZXF1ZXN0SW5mbywgaW5pdD86IFJlcXVlc3RJbml0KXtcbiAgICAgIGNvbnN0IHJlc3AgPSBhd2FpdCBmZXRjaChyZXEsIGluaXQpXG4gICAgICBpZih0eXBlb2YgcmVxID09PSBcInN0cmluZ1wiKXtcbiAgICAgICAgcmVxID0gbmV3IFJlcXVlc3QocmVxLCBpbml0KVxuICAgICAgICBpbml0ID0gdW5kZWZpbmVkXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmbihyZXNwLCAuLi5hcmdzKVxuICAgIH1cbiAgfVxufSJdfQ==