1 | "use strict";
|
2 | var __importDefault = (this && this.__importDefault) || function (mod) {
|
3 | return (mod && mod.__esModule) ? mod : { "default": mod };
|
4 | };
|
5 | Object.defineProperty(exports, "__esModule", { value: true });
|
6 | exports.useUrlTemplateInterceptor = exports.urlTemplateInterceptor = void 0;
|
7 | const url_template_1 = __importDefault(require("url-template"));
|
8 | const 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 | };
|
35 | exports.urlTemplateInterceptor = urlTemplateInterceptor;
|
36 | const useUrlTemplateInterceptor = (instance, options = {}) => {
|
37 | instance.interceptors.request.use((0, exports.urlTemplateInterceptor)(options));
|
38 | };
|
39 | exports.useUrlTemplateInterceptor = useUrlTemplateInterceptor;
|
40 |
|
\ | No newline at end of file |