@medipass/web-sdk 12.11.1 → 12.11.2-feature-axios-to-fetch.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/jest.setup.js +8 -5
- package/lib/__mocks__/axios.mock.d.ts +2 -2
- package/lib/index.d.ts +16 -16
- package/lib/index.js +4 -3
- package/lib/resources/abr.js +3 -3
- package/lib/resources/accounts.js +3 -3
- package/lib/resources/actions.js +3 -3
- package/lib/resources/aged-care.js +3 -3
- package/lib/resources/api-keys.js +3 -3
- package/lib/resources/applePay.js +3 -3
- package/lib/resources/applications.js +3 -3
- package/lib/resources/attachments.js +3 -3
- package/lib/resources/auth.js +3 -3
- package/lib/resources/blacklist.js +3 -3
- package/lib/resources/bulk-submits.js +3 -3
- package/lib/resources/bulk-uploads.js +3 -3
- package/lib/resources/business-email-log.js +3 -3
- package/lib/resources/business-profiles.js +3 -3
- package/lib/resources/businesses.js +3 -3
- package/lib/resources/claim-items.js +3 -3
- package/lib/resources/devices.js +3 -3
- package/lib/resources/doc-accounts.js +3 -3
- package/lib/resources/documents.js +3 -3
- package/lib/resources/emails.js +3 -3
- package/lib/resources/filter-options.js +3 -3
- package/lib/resources/form-application-templates.js +3 -3
- package/lib/resources/form-applications.js +3 -3
- package/lib/resources/forms.js +3 -3
- package/lib/resources/funder-services.js +3 -3
- package/lib/resources/funder-settings.js +3 -3
- package/lib/resources/funder-values.js +3 -3
- package/lib/resources/funders.js +3 -3
- package/lib/resources/futures.js +3 -3
- package/lib/resources/health-fund-accounts.js +3 -3
- package/lib/resources/health-fund-settings.js +3 -3
- package/lib/resources/healthfunds.js +3 -3
- package/lib/resources/icare.js +3 -3
- package/lib/resources/icditems.js +3 -3
- package/lib/resources/invoice-scans.js +3 -3
- package/lib/resources/jhcs.js +3 -3
- package/lib/resources/kyc.js +3 -3
- package/lib/resources/logs.js +3 -3
- package/lib/resources/members.js +3 -3
- package/lib/resources/message-mappings.js +3 -3
- package/lib/resources/minions.js +3 -3
- package/lib/resources/modalities.js +3 -3
- package/lib/resources/notes.js +3 -3
- package/lib/resources/onboarding-applications.js +3 -3
- package/lib/resources/onboarding-requests.js +3 -3
- package/lib/resources/ops.js +3 -3
- package/lib/resources/organisations.js +3 -3
- package/lib/resources/partners.js +3 -3
- package/lib/resources/patients.js +3 -3
- package/lib/resources/payments.js +3 -3
- package/lib/resources/pms.js +3 -3
- package/lib/resources/practice-profiles.js +3 -3
- package/lib/resources/practice-types.js +3 -3
- package/lib/resources/practices.js +3 -3
- package/lib/resources/products.js +3 -3
- package/lib/resources/professional-categories.js +3 -3
- package/lib/resources/provider-number-types.js +3 -3
- package/lib/resources/provider-registration-types.js +3 -3
- package/lib/resources/provider-requests.js +3 -3
- package/lib/resources/provider-types.js +3 -3
- package/lib/resources/qbe.js +3 -3
- package/lib/resources/ref-sources.js +3 -3
- package/lib/resources/risk.js +3 -3
- package/lib/resources/rnas.js +3 -3
- package/lib/resources/roles.js +3 -3
- package/lib/resources/s3-files.js +3 -3
- package/lib/resources/self-checkout-sessions.js +3 -3
- package/lib/resources/services.js +3 -3
- package/lib/resources/settlements.js +3 -3
- package/lib/resources/sign-up.js +3 -3
- package/lib/resources/specialties.js +3 -3
- package/lib/resources/staff-profiles.js +3 -3
- package/lib/resources/staff.js +3 -3
- package/lib/resources/statistics.js +3 -3
- package/lib/resources/subscriptions.js +3 -3
- package/lib/resources/terminals.js +3 -3
- package/lib/resources/transaction-export.js +3 -3
- package/lib/resources/transaction-reports.js +3 -3
- package/lib/resources/transactions.js +3 -3
- package/lib/resources/triggers.js +3 -3
- package/lib/resources/vendors.js +3 -3
- package/lib/resources/verify.js +3 -3
- package/lib/resources/workers.js +3 -3
- package/lib/resources/workflow-exceptions.js +3 -3
- package/lib/services/aws.js +3 -3
- package/lib/services/version.js +3 -3
- package/lib/{staff-d7246b15.js → staff-b353f63a.js} +268 -308
- package/lib/types/index.d.ts +1 -0
- package/lib/types/index.js +5 -0
- package/lib/utils/application.js +3 -3
- package/lib/utils/get-http-error.d.ts +12 -0
- package/lib/utils/get-http-error.js +22 -0
- package/lib/utils/http-client.d.ts +68 -0
- package/lib/utils/http-client.js +414 -0
- package/lib/utils/professions.js +3 -3
- package/lib/utils/request.d.ts +1 -1
- package/lib/utils/request.js +3 -3
- package/lib/utils/staff.js +3 -3
- package/package.json +3 -4
package/lib/types/index.d.ts
CHANGED
package/lib/types/index.js
CHANGED
|
@@ -2,10 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var utils_httpClient = require('../utils/http-client.js');
|
|
5
6
|
var types_documents = require('./documents.js');
|
|
6
7
|
var types_filterOption = require('./filter-option.js');
|
|
8
|
+
require('@babel/runtime/regenerator');
|
|
9
|
+
require('@babel/runtime/helpers/defineProperty');
|
|
10
|
+
require('@babel/runtime/helpers/asyncToGenerator');
|
|
7
11
|
|
|
8
12
|
|
|
9
13
|
|
|
14
|
+
exports.createHttpClient = utils_httpClient.createHttpClient;
|
|
10
15
|
exports.HealthPointApplicationStatus = types_documents.HealthPointApplicationStatus;
|
|
11
16
|
exports.FilterGroup = types_filterOption.FilterGroup;
|
package/lib/utils/application.js
CHANGED
|
@@ -4,16 +4,16 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
require('@babel/runtime/regenerator');
|
|
6
6
|
require('@babel/runtime/helpers/asyncToGenerator');
|
|
7
|
-
var utils_request = require('../staff-
|
|
7
|
+
var utils_request = require('../staff-b353f63a.js');
|
|
8
8
|
require('@babel/runtime/helpers/defineProperty');
|
|
9
9
|
require('lodash/merge');
|
|
10
10
|
require('lodash/uniq');
|
|
11
|
-
require('
|
|
11
|
+
require('./http-client.js');
|
|
12
12
|
require('date-fns/differenceInSeconds');
|
|
13
13
|
require('jwt-decode');
|
|
14
14
|
require('lodash/forOwn');
|
|
15
15
|
require('lodash/get');
|
|
16
|
-
require('./get-
|
|
16
|
+
require('./get-http-error.js');
|
|
17
17
|
require('./does-param-exist.js');
|
|
18
18
|
require('./param-error.js');
|
|
19
19
|
require('@babel/runtime/helpers/inheritsLoose');
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { HttpClientError, HttpClientResponse } from './http-client';
|
|
2
|
+
/**
|
|
3
|
+
* Extracts a standardized error response from an HttpClientError.
|
|
4
|
+
* Maintains backwards compatibility with the axios error structure.
|
|
5
|
+
*
|
|
6
|
+
* @param error - The HTTP client error
|
|
7
|
+
* @returns The response object if available, or a message-only object for network errors
|
|
8
|
+
*/
|
|
9
|
+
declare const getHttpError: (error: HttpClientError) => HttpClientResponse | {
|
|
10
|
+
message: string;
|
|
11
|
+
};
|
|
12
|
+
export default getHttpError;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Extracts a standardized error response from an HttpClientError.
|
|
7
|
+
* Maintains backwards compatibility with the axios error structure.
|
|
8
|
+
*
|
|
9
|
+
* @param error - The HTTP client error
|
|
10
|
+
* @returns The response object if available, or a message-only object for network errors
|
|
11
|
+
*/
|
|
12
|
+
var getHttpError = function getHttpError(error) {
|
|
13
|
+
if (error.response) {
|
|
14
|
+
return error.response;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return {
|
|
18
|
+
message: error.message
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
exports["default"] = getHttpError;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom HTTP client wrapper around native fetch API.
|
|
3
|
+
* Replaces axios with a minimal implementation that provides:
|
|
4
|
+
* - Request/response interceptors (async supported)
|
|
5
|
+
* - Axios-compatible response structure
|
|
6
|
+
* - Automatic JSON parsing when Content-Type is application/json
|
|
7
|
+
* - Error rejection on 4xx/5xx responses (axios behavior)
|
|
8
|
+
*
|
|
9
|
+
* Based on Kent C. Dodds' pattern:
|
|
10
|
+
* https://kentcdodds.com/blog/replace-axios-with-a-simple-custom-fetch-wrapper
|
|
11
|
+
*/
|
|
12
|
+
export interface HttpClientConfig {
|
|
13
|
+
method?: string;
|
|
14
|
+
headers?: Record<string, string>;
|
|
15
|
+
body?: BodyInit;
|
|
16
|
+
params?: Record<string, any>;
|
|
17
|
+
data?: any;
|
|
18
|
+
tokenType?: string;
|
|
19
|
+
skipDeviceCheck?: boolean;
|
|
20
|
+
[key: string]: any;
|
|
21
|
+
}
|
|
22
|
+
export interface HttpClientResponse<T = any> {
|
|
23
|
+
data: T;
|
|
24
|
+
status: number;
|
|
25
|
+
statusText: string;
|
|
26
|
+
headers: Record<string, string>;
|
|
27
|
+
config: HttpClientConfig;
|
|
28
|
+
}
|
|
29
|
+
export interface HttpClientError extends Error {
|
|
30
|
+
response?: HttpClientResponse;
|
|
31
|
+
config?: HttpClientConfig;
|
|
32
|
+
}
|
|
33
|
+
declare type RequestInterceptorFulfilled = (config: HttpClientConfig) => HttpClientConfig | Promise<HttpClientConfig>;
|
|
34
|
+
declare type RequestInterceptorRejected = (error: any) => any;
|
|
35
|
+
declare type ResponseInterceptorFulfilled = (response: HttpClientResponse) => HttpClientResponse | Promise<HttpClientResponse>;
|
|
36
|
+
declare type ResponseInterceptorRejected = (error: HttpClientError) => any;
|
|
37
|
+
interface RequestInterceptor {
|
|
38
|
+
fulfilled: RequestInterceptorFulfilled;
|
|
39
|
+
rejected?: RequestInterceptorRejected;
|
|
40
|
+
}
|
|
41
|
+
interface ResponseInterceptor {
|
|
42
|
+
fulfilled: ResponseInterceptorFulfilled;
|
|
43
|
+
rejected?: ResponseInterceptorRejected;
|
|
44
|
+
}
|
|
45
|
+
interface InterceptorManager<T> {
|
|
46
|
+
handlers: Array<T | null>;
|
|
47
|
+
use(fulfilled: T extends RequestInterceptor ? RequestInterceptorFulfilled : ResponseInterceptorFulfilled, rejected?: T extends RequestInterceptor ? RequestInterceptorRejected : ResponseInterceptorRejected): number;
|
|
48
|
+
eject(id: number): void;
|
|
49
|
+
}
|
|
50
|
+
export interface HttpClient {
|
|
51
|
+
(url: string, config?: HttpClientConfig): Promise<HttpClientResponse>;
|
|
52
|
+
defaults: {
|
|
53
|
+
headers: {
|
|
54
|
+
post: Record<string, string>;
|
|
55
|
+
common: Record<string, string>;
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
interceptors: {
|
|
59
|
+
request: InterceptorManager<RequestInterceptor>;
|
|
60
|
+
response: InterceptorManager<ResponseInterceptor>;
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Creates a new HTTP client instance with interceptor support.
|
|
65
|
+
* This is the fetch-based replacement for axios.create()
|
|
66
|
+
*/
|
|
67
|
+
export declare function createHttpClient(): HttpClient;
|
|
68
|
+
export {};
|
|
@@ -0,0 +1,414 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
6
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
|
+
var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
|
|
8
|
+
|
|
9
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
|
+
|
|
11
|
+
var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
|
|
12
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
13
|
+
var _asyncToGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_asyncToGenerator);
|
|
14
|
+
|
|
15
|
+
function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
16
|
+
|
|
17
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
18
|
+
|
|
19
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
20
|
+
|
|
21
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
22
|
+
|
|
23
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Custom HTTP client wrapper around native fetch API.
|
|
27
|
+
* Replaces axios with a minimal implementation that provides:
|
|
28
|
+
* - Request/response interceptors (async supported)
|
|
29
|
+
* - Axios-compatible response structure
|
|
30
|
+
* - Automatic JSON parsing when Content-Type is application/json
|
|
31
|
+
* - Error rejection on 4xx/5xx responses (axios behavior)
|
|
32
|
+
*
|
|
33
|
+
* Based on Kent C. Dodds' pattern:
|
|
34
|
+
* https://kentcdodds.com/blog/replace-axios-with-a-simple-custom-fetch-wrapper
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Creates a new HTTP client instance with interceptor support.
|
|
39
|
+
* This is the fetch-based replacement for axios.create()
|
|
40
|
+
*/
|
|
41
|
+
function createHttpClient() {
|
|
42
|
+
var requestInterceptors = [];
|
|
43
|
+
var responseInterceptors = [];
|
|
44
|
+
var defaults = {
|
|
45
|
+
headers: {
|
|
46
|
+
post: {},
|
|
47
|
+
common: {}
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
function httpClient(_x, _x2) {
|
|
52
|
+
return _httpClient.apply(this, arguments);
|
|
53
|
+
} // Attach defaults and interceptor management
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
function _httpClient() {
|
|
57
|
+
_httpClient = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(url, config) {
|
|
58
|
+
var processedConfig, _iterator, _step, _interceptor2, _result2, method, headers, fetchOptions, finalUrl, searchParams, queryString, fetchResponse, _error, _iterator2, _step2, interceptor, result, responseHeaders, responseData, contentType, contentLength, response, _error2, _iterator3, _step3, _interceptor, _result, _iterator4, _step4, _interceptor3;
|
|
59
|
+
|
|
60
|
+
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
|
|
61
|
+
while (1) {
|
|
62
|
+
switch (_context.prev = _context.next) {
|
|
63
|
+
case 0:
|
|
64
|
+
if (config === void 0) {
|
|
65
|
+
config = {};
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
processedConfig = _objectSpread({}, config); // Run request interceptors (in order, skip nulls from eject)
|
|
69
|
+
|
|
70
|
+
_iterator = _createForOfIteratorHelperLoose(requestInterceptors);
|
|
71
|
+
|
|
72
|
+
case 3:
|
|
73
|
+
if ((_step = _iterator()).done) {
|
|
74
|
+
_context.next = 22;
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
_interceptor2 = _step.value;
|
|
79
|
+
|
|
80
|
+
if (!(_interceptor2 === null)) {
|
|
81
|
+
_context.next = 7;
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
return _context.abrupt("continue", 20);
|
|
86
|
+
|
|
87
|
+
case 7:
|
|
88
|
+
_context.prev = 7;
|
|
89
|
+
_context.next = 10;
|
|
90
|
+
return _interceptor2.fulfilled(processedConfig);
|
|
91
|
+
|
|
92
|
+
case 10:
|
|
93
|
+
processedConfig = _context.sent;
|
|
94
|
+
_context.next = 20;
|
|
95
|
+
break;
|
|
96
|
+
|
|
97
|
+
case 13:
|
|
98
|
+
_context.prev = 13;
|
|
99
|
+
_context.t0 = _context["catch"](7);
|
|
100
|
+
|
|
101
|
+
if (!_interceptor2.rejected) {
|
|
102
|
+
_context.next = 19;
|
|
103
|
+
break;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
_result2 = _interceptor2.rejected(_context.t0);
|
|
107
|
+
|
|
108
|
+
if (!(_result2 instanceof Promise)) {
|
|
109
|
+
_context.next = 19;
|
|
110
|
+
break;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
return _context.abrupt("return", _result2);
|
|
114
|
+
|
|
115
|
+
case 19:
|
|
116
|
+
throw _context.t0;
|
|
117
|
+
|
|
118
|
+
case 20:
|
|
119
|
+
_context.next = 3;
|
|
120
|
+
break;
|
|
121
|
+
|
|
122
|
+
case 22:
|
|
123
|
+
// Build headers - merge defaults with config headers
|
|
124
|
+
method = (processedConfig.method || 'GET').toUpperCase();
|
|
125
|
+
headers = _objectSpread({}, defaults.headers.common, {}, method === 'POST' || method === 'PUT' || method === 'PATCH' ? defaults.headers.post : {}, {}, processedConfig.headers); // Build fetch options
|
|
126
|
+
|
|
127
|
+
fetchOptions = {
|
|
128
|
+
method: method,
|
|
129
|
+
headers: headers
|
|
130
|
+
}; // Handle request body
|
|
131
|
+
|
|
132
|
+
if (processedConfig.data !== undefined) {
|
|
133
|
+
if (processedConfig.data instanceof FormData) {
|
|
134
|
+
fetchOptions.body = processedConfig.data; // Remove Content-Type for FormData - browser sets it with boundary
|
|
135
|
+
|
|
136
|
+
delete fetchOptions.headers['Content-Type'];
|
|
137
|
+
} else if (typeof processedConfig.data === 'object') {
|
|
138
|
+
fetchOptions.body = JSON.stringify(processedConfig.data);
|
|
139
|
+
} else {
|
|
140
|
+
fetchOptions.body = processedConfig.data;
|
|
141
|
+
}
|
|
142
|
+
} // Handle query params
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
finalUrl = url;
|
|
146
|
+
|
|
147
|
+
if (processedConfig.params) {
|
|
148
|
+
searchParams = new URLSearchParams();
|
|
149
|
+
Object.entries(processedConfig.params).forEach(function (_ref) {
|
|
150
|
+
var key = _ref[0],
|
|
151
|
+
value = _ref[1];
|
|
152
|
+
|
|
153
|
+
if (value !== undefined && value !== null) {
|
|
154
|
+
if (Array.isArray(value)) {
|
|
155
|
+
value.forEach(function (v) {
|
|
156
|
+
return searchParams.append(key, String(v));
|
|
157
|
+
});
|
|
158
|
+
} else {
|
|
159
|
+
searchParams.append(key, String(value));
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
queryString = searchParams.toString();
|
|
164
|
+
|
|
165
|
+
if (queryString) {
|
|
166
|
+
finalUrl += (url.includes('?') ? '&' : '?') + queryString;
|
|
167
|
+
}
|
|
168
|
+
} // Make the request
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
_context.prev = 28;
|
|
172
|
+
_context.next = 31;
|
|
173
|
+
return fetch(finalUrl, fetchOptions);
|
|
174
|
+
|
|
175
|
+
case 31:
|
|
176
|
+
fetchResponse = _context.sent;
|
|
177
|
+
_context.next = 50;
|
|
178
|
+
break;
|
|
179
|
+
|
|
180
|
+
case 34:
|
|
181
|
+
_context.prev = 34;
|
|
182
|
+
_context.t1 = _context["catch"](28);
|
|
183
|
+
// Network error (no response)
|
|
184
|
+
_error = new Error(_context.t1 instanceof Error ? _context.t1.message : 'Network Error');
|
|
185
|
+
_error.config = processedConfig; // Run response error interceptors
|
|
186
|
+
|
|
187
|
+
_iterator2 = _createForOfIteratorHelperLoose(responseInterceptors);
|
|
188
|
+
|
|
189
|
+
case 39:
|
|
190
|
+
if ((_step2 = _iterator2()).done) {
|
|
191
|
+
_context.next = 49;
|
|
192
|
+
break;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
interceptor = _step2.value;
|
|
196
|
+
|
|
197
|
+
if (!(interceptor === null)) {
|
|
198
|
+
_context.next = 43;
|
|
199
|
+
break;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
return _context.abrupt("continue", 47);
|
|
203
|
+
|
|
204
|
+
case 43:
|
|
205
|
+
if (!interceptor.rejected) {
|
|
206
|
+
_context.next = 47;
|
|
207
|
+
break;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
result = interceptor.rejected(_error);
|
|
211
|
+
|
|
212
|
+
if (!(result instanceof Promise)) {
|
|
213
|
+
_context.next = 47;
|
|
214
|
+
break;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
return _context.abrupt("return", result);
|
|
218
|
+
|
|
219
|
+
case 47:
|
|
220
|
+
_context.next = 39;
|
|
221
|
+
break;
|
|
222
|
+
|
|
223
|
+
case 49:
|
|
224
|
+
throw _error;
|
|
225
|
+
|
|
226
|
+
case 50:
|
|
227
|
+
// Parse response headers into plain object (lowercase keys like axios)
|
|
228
|
+
responseHeaders = {};
|
|
229
|
+
fetchResponse.headers.forEach(function (value, key) {
|
|
230
|
+
responseHeaders[key.toLowerCase()] = value;
|
|
231
|
+
}); // Parse response body based on Content-Type
|
|
232
|
+
|
|
233
|
+
contentType = fetchResponse.headers.get('content-type');
|
|
234
|
+
contentLength = fetchResponse.headers.get('content-length'); // Only try to parse body if there's content
|
|
235
|
+
|
|
236
|
+
if (!(contentLength === '0' || fetchResponse.status === 204)) {
|
|
237
|
+
_context.next = 58;
|
|
238
|
+
break;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
responseData = null;
|
|
242
|
+
_context.next = 75;
|
|
243
|
+
break;
|
|
244
|
+
|
|
245
|
+
case 58:
|
|
246
|
+
if (!(contentType != null && contentType.includes('application/json'))) {
|
|
247
|
+
_context.next = 72;
|
|
248
|
+
break;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
_context.prev = 59;
|
|
252
|
+
_context.next = 62;
|
|
253
|
+
return fetchResponse.json();
|
|
254
|
+
|
|
255
|
+
case 62:
|
|
256
|
+
responseData = _context.sent;
|
|
257
|
+
_context.next = 70;
|
|
258
|
+
break;
|
|
259
|
+
|
|
260
|
+
case 65:
|
|
261
|
+
_context.prev = 65;
|
|
262
|
+
_context.t2 = _context["catch"](59);
|
|
263
|
+
_context.next = 69;
|
|
264
|
+
return fetchResponse.text();
|
|
265
|
+
|
|
266
|
+
case 69:
|
|
267
|
+
responseData = _context.sent;
|
|
268
|
+
|
|
269
|
+
case 70:
|
|
270
|
+
_context.next = 75;
|
|
271
|
+
break;
|
|
272
|
+
|
|
273
|
+
case 72:
|
|
274
|
+
_context.next = 74;
|
|
275
|
+
return fetchResponse.text();
|
|
276
|
+
|
|
277
|
+
case 74:
|
|
278
|
+
responseData = _context.sent;
|
|
279
|
+
|
|
280
|
+
case 75:
|
|
281
|
+
// Build axios-like response object
|
|
282
|
+
response = {
|
|
283
|
+
data: responseData,
|
|
284
|
+
status: fetchResponse.status,
|
|
285
|
+
statusText: fetchResponse.statusText,
|
|
286
|
+
headers: responseHeaders,
|
|
287
|
+
config: processedConfig
|
|
288
|
+
}; // Check for HTTP errors (fetch doesn't reject on 4xx/5xx, but axios does)
|
|
289
|
+
|
|
290
|
+
if (fetchResponse.ok) {
|
|
291
|
+
_context.next = 92;
|
|
292
|
+
break;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
_error2 = new Error("Request failed with status code " + fetchResponse.status);
|
|
296
|
+
_error2.response = response;
|
|
297
|
+
_error2.config = processedConfig; // Run response error interceptors
|
|
298
|
+
|
|
299
|
+
_iterator3 = _createForOfIteratorHelperLoose(responseInterceptors);
|
|
300
|
+
|
|
301
|
+
case 81:
|
|
302
|
+
if ((_step3 = _iterator3()).done) {
|
|
303
|
+
_context.next = 91;
|
|
304
|
+
break;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
_interceptor = _step3.value;
|
|
308
|
+
|
|
309
|
+
if (!(_interceptor === null)) {
|
|
310
|
+
_context.next = 85;
|
|
311
|
+
break;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
return _context.abrupt("continue", 89);
|
|
315
|
+
|
|
316
|
+
case 85:
|
|
317
|
+
if (!_interceptor.rejected) {
|
|
318
|
+
_context.next = 89;
|
|
319
|
+
break;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
_result = _interceptor.rejected(_error2);
|
|
323
|
+
|
|
324
|
+
if (!(_result instanceof Promise)) {
|
|
325
|
+
_context.next = 89;
|
|
326
|
+
break;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
return _context.abrupt("return", _result);
|
|
330
|
+
|
|
331
|
+
case 89:
|
|
332
|
+
_context.next = 81;
|
|
333
|
+
break;
|
|
334
|
+
|
|
335
|
+
case 91:
|
|
336
|
+
throw _error2;
|
|
337
|
+
|
|
338
|
+
case 92:
|
|
339
|
+
_iterator4 = _createForOfIteratorHelperLoose(responseInterceptors);
|
|
340
|
+
|
|
341
|
+
case 93:
|
|
342
|
+
if ((_step4 = _iterator4()).done) {
|
|
343
|
+
_context.next = 102;
|
|
344
|
+
break;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
_interceptor3 = _step4.value;
|
|
348
|
+
|
|
349
|
+
if (!(_interceptor3 === null)) {
|
|
350
|
+
_context.next = 97;
|
|
351
|
+
break;
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
return _context.abrupt("continue", 100);
|
|
355
|
+
|
|
356
|
+
case 97:
|
|
357
|
+
_context.next = 99;
|
|
358
|
+
return _interceptor3.fulfilled(response);
|
|
359
|
+
|
|
360
|
+
case 99:
|
|
361
|
+
response = _context.sent;
|
|
362
|
+
|
|
363
|
+
case 100:
|
|
364
|
+
_context.next = 93;
|
|
365
|
+
break;
|
|
366
|
+
|
|
367
|
+
case 102:
|
|
368
|
+
return _context.abrupt("return", response);
|
|
369
|
+
|
|
370
|
+
case 103:
|
|
371
|
+
case "end":
|
|
372
|
+
return _context.stop();
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
}, _callee, null, [[7, 13], [28, 34], [59, 65]]);
|
|
376
|
+
}));
|
|
377
|
+
return _httpClient.apply(this, arguments);
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
httpClient.defaults = defaults;
|
|
381
|
+
httpClient.interceptors = {
|
|
382
|
+
request: {
|
|
383
|
+
handlers: requestInterceptors,
|
|
384
|
+
use: function use(fulfilled, rejected) {
|
|
385
|
+
return requestInterceptors.push({
|
|
386
|
+
fulfilled: fulfilled,
|
|
387
|
+
rejected: rejected
|
|
388
|
+
}) - 1;
|
|
389
|
+
},
|
|
390
|
+
eject: function eject(id) {
|
|
391
|
+
if (requestInterceptors[id]) {
|
|
392
|
+
requestInterceptors[id] = null;
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
},
|
|
396
|
+
response: {
|
|
397
|
+
handlers: responseInterceptors,
|
|
398
|
+
use: function use(fulfilled, rejected) {
|
|
399
|
+
return responseInterceptors.push({
|
|
400
|
+
fulfilled: fulfilled,
|
|
401
|
+
rejected: rejected
|
|
402
|
+
}) - 1;
|
|
403
|
+
},
|
|
404
|
+
eject: function eject(id) {
|
|
405
|
+
if (responseInterceptors[id]) {
|
|
406
|
+
responseInterceptors[id] = null;
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
};
|
|
411
|
+
return httpClient;
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
exports.createHttpClient = createHttpClient;
|
package/lib/utils/professions.js
CHANGED
|
@@ -7,14 +7,14 @@ require('@babel/runtime/helpers/defineProperty');
|
|
|
7
7
|
require('@babel/runtime/helpers/asyncToGenerator');
|
|
8
8
|
require('lodash/uniq');
|
|
9
9
|
require('lodash/flatten');
|
|
10
|
-
var utils_request = require('../staff-
|
|
10
|
+
var utils_request = require('../staff-b353f63a.js');
|
|
11
11
|
require('lodash/merge');
|
|
12
|
-
require('
|
|
12
|
+
require('./http-client.js');
|
|
13
13
|
require('date-fns/differenceInSeconds');
|
|
14
14
|
require('jwt-decode');
|
|
15
15
|
require('lodash/forOwn');
|
|
16
16
|
require('lodash/get');
|
|
17
|
-
require('./get-
|
|
17
|
+
require('./get-http-error.js');
|
|
18
18
|
require('./does-param-exist.js');
|
|
19
19
|
require('./param-error.js');
|
|
20
20
|
require('@babel/runtime/helpers/inheritsLoose');
|
package/lib/utils/request.d.ts
CHANGED
|
@@ -5,5 +5,5 @@ import type { MedipassRequestOpts } from '../types';
|
|
|
5
5
|
export declare const stripBottleneckOpts: (axiosRequestOpts?: Record<string, any>) => {
|
|
6
6
|
[x: string]: any;
|
|
7
7
|
};
|
|
8
|
-
declare const request: (medipassRequestOpts: MedipassRequestOpts,
|
|
8
|
+
declare const request: (medipassRequestOpts: MedipassRequestOpts, httpRequestOpts?: Record<string, any>) => Promise<any>;
|
|
9
9
|
export default request;
|
package/lib/utils/request.js
CHANGED
|
@@ -6,11 +6,11 @@ require('@babel/runtime/regenerator');
|
|
|
6
6
|
require('@babel/runtime/helpers/asyncToGenerator');
|
|
7
7
|
require('@babel/runtime/helpers/defineProperty');
|
|
8
8
|
require('lodash/get');
|
|
9
|
-
var utils_request = require('../staff-
|
|
10
|
-
require('./get-
|
|
9
|
+
var utils_request = require('../staff-b353f63a.js');
|
|
10
|
+
require('./get-http-error.js');
|
|
11
11
|
require('lodash/merge');
|
|
12
12
|
require('lodash/uniq');
|
|
13
|
-
require('
|
|
13
|
+
require('./http-client.js');
|
|
14
14
|
require('date-fns/differenceInSeconds');
|
|
15
15
|
require('jwt-decode');
|
|
16
16
|
require('lodash/forOwn');
|
package/lib/utils/staff.js
CHANGED
|
@@ -7,13 +7,13 @@ require('@babel/runtime/regenerator');
|
|
|
7
7
|
require('@babel/runtime/helpers/asyncToGenerator');
|
|
8
8
|
require('lodash/merge');
|
|
9
9
|
require('lodash/uniq');
|
|
10
|
-
var utils_request = require('../staff-
|
|
11
|
-
require('
|
|
10
|
+
var utils_request = require('../staff-b353f63a.js');
|
|
11
|
+
require('./http-client.js');
|
|
12
12
|
require('date-fns/differenceInSeconds');
|
|
13
13
|
require('jwt-decode');
|
|
14
14
|
require('lodash/forOwn');
|
|
15
15
|
require('lodash/get');
|
|
16
|
-
require('./get-
|
|
16
|
+
require('./get-http-error.js');
|
|
17
17
|
require('./does-param-exist.js');
|
|
18
18
|
require('./param-error.js');
|
|
19
19
|
require('@babel/runtime/helpers/inheritsLoose');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@medipass/web-sdk",
|
|
3
|
-
"version": "12.11.
|
|
3
|
+
"version": "12.11.2-feature-axios-to-fetch.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -33,7 +33,6 @@
|
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@babel/runtime": "7.8.4",
|
|
36
|
-
"axios": "0.21.1",
|
|
37
36
|
"compare-versions": "3.4.0",
|
|
38
37
|
"date-fns": "2.16.1",
|
|
39
38
|
"jwt-decode": "2.2.0",
|
|
@@ -51,7 +50,7 @@
|
|
|
51
50
|
"@types/mocha": "9.1.1",
|
|
52
51
|
"@types/node": "20.3.2",
|
|
53
52
|
"@types/pify": "5.0.4",
|
|
54
|
-
"
|
|
53
|
+
"jest-fetch-mock": "3.0.3",
|
|
55
54
|
"query-string": "7.0.0",
|
|
56
55
|
"rimraf": "2.6.2",
|
|
57
56
|
"typescript": "4.7.4"
|
|
@@ -59,5 +58,5 @@
|
|
|
59
58
|
"resolutions": {
|
|
60
59
|
"react-scripts/**/@typescript-eslint/eslint-plugin": "5.32.0"
|
|
61
60
|
},
|
|
62
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "b112021aecc5bb3aefda615f34e65c0ff1dcac3c"
|
|
63
62
|
}
|