UNPKG

1.46 kBJavaScriptView Raw
1"use strict";
2var __importDefault = (this && this.__importDefault) || function (mod) {
3 return (mod && mod.__esModule) ? mod : { "default": mod };
4};
5Object.defineProperty(exports, "__esModule", { value: true });
6exports.useUrlTemplateInterceptor = exports.urlTemplateInterceptor = void 0;
7const url_template_1 = __importDefault(require("url-template"));
8const urlTemplateInterceptor = (options = {}) => (config) => {
9 const { url: originalUrl, urlTemplate, urlTemplateParams = {} } = config;
10 const { urlAsTemplate = true } = options;
11 if (urlTemplate != null) {
12 const url = url_template_1.default
13 .parse(urlTemplate)
14 .expand(urlTemplateParams);
15 return {
16 ...config,
17 url,
18 urlTemplate,
19 urlTemplateParams,
20 };
21 }
22 else if (urlAsTemplate && originalUrl != null) {
23 const url = url_template_1.default
24 .parse(originalUrl)
25 .expand(urlTemplateParams);
26 return {
27 ...config,
28 url,
29 urlTemplate: originalUrl,
30 urlTemplateParams,
31 };
32 }
33 return config;
34};
35exports.urlTemplateInterceptor = urlTemplateInterceptor;
36const useUrlTemplateInterceptor = (instance, options = {}) => {
37 instance.interceptors.request.use((0, exports.urlTemplateInterceptor)(options));
38};
39exports.useUrlTemplateInterceptor = useUrlTemplateInterceptor;
40//# sourceMappingURL=index.js.map
\No newline at end of file