@equinor/fusion-framework-module-http 6.2.1 → 6.2.3

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.
Files changed (46) hide show
  1. package/CHANGELOG.md +350 -310
  2. package/dist/esm/configurator.js +2 -2
  3. package/dist/esm/configurator.js.map +1 -1
  4. package/dist/esm/errors.js.map +1 -1
  5. package/dist/esm/lib/client/client-msal.js.map +1 -1
  6. package/dist/esm/lib/client/client.js.map +1 -1
  7. package/dist/esm/lib/operators/capitalize-request-method.operator.js +3 -1
  8. package/dist/esm/lib/operators/capitalize-request-method.operator.js.map +1 -1
  9. package/dist/esm/lib/operators/fetch-request.schema.js.map +1 -1
  10. package/dist/esm/lib/operators/http-request-handler.js.map +1 -1
  11. package/dist/esm/lib/operators/process-operators.js.map +1 -1
  12. package/dist/esm/lib/operators/request-operator-header.js.map +1 -1
  13. package/dist/esm/lib/operators/request-validation.operator.js.map +1 -1
  14. package/dist/esm/lib/selectors/blob-selector.js.map +1 -1
  15. package/dist/esm/lib/selectors/json-selector.js.map +1 -1
  16. package/dist/esm/module.js +1 -1
  17. package/dist/esm/module.js.map +1 -1
  18. package/dist/esm/provider.js +9 -4
  19. package/dist/esm/provider.js.map +1 -1
  20. package/dist/esm/version.js +1 -1
  21. package/dist/tsconfig.tsbuildinfo +1 -1
  22. package/dist/types/lib/operators/process-operators.d.ts +1 -1
  23. package/dist/types/module.d.ts +3 -3
  24. package/dist/types/provider.d.ts +10 -3
  25. package/dist/types/version.d.ts +1 -1
  26. package/package.json +4 -4
  27. package/src/configurator.ts +115 -116
  28. package/src/errors.ts +24 -24
  29. package/src/lib/client/client-msal.ts +34 -34
  30. package/src/lib/client/client.ts +298 -298
  31. package/src/lib/client/types.ts +147 -145
  32. package/src/lib/operators/capitalize-request-method.operator.ts +11 -9
  33. package/src/lib/operators/fetch-request.schema.ts +70 -73
  34. package/src/lib/operators/http-request-handler.ts +11 -11
  35. package/src/lib/operators/process-operators.ts +88 -88
  36. package/src/lib/operators/request-operator-header.ts +6 -6
  37. package/src/lib/operators/request-validation.operator.ts +32 -32
  38. package/src/lib/operators/types.ts +44 -44
  39. package/src/lib/selectors/blob-selector.ts +24 -24
  40. package/src/lib/selectors/json-selector.ts +25 -25
  41. package/src/module.ts +73 -69
  42. package/src/provider.ts +141 -139
  43. package/src/version.ts +1 -1
  44. package/tests/HttpClient.test.ts +37 -37
  45. package/tests/operators.test.ts +67 -67
  46. package/vitest.config.ts +6 -6
package/CHANGELOG.md CHANGED
@@ -1,11 +1,37 @@
1
1
  # Change Log
2
2
 
3
+ ## 6.2.3
4
+
5
+ ### Patch Changes
6
+
7
+ - [#2885](https://github.com/equinor/fusion-framework/pull/2885) [`abb3560`](https://github.com/equinor/fusion-framework/commit/abb3560a22ad8830df19904272035458433f4237) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update he `Typescript` version `^5.7.3` to `^5.8.2`
8
+
9
+ - [#2901](https://github.com/equinor/fusion-framework/pull/2901) [`8c6c598`](https://github.com/equinor/fusion-framework/commit/8c6c598fce973f9c24426d5e108cc3301d2da139) Thanks [@odinr](https://github.com/odinr)! - refactor: adhere to Biome `useOptionalChain`
10
+
11
+ - [#2900](https://github.com/equinor/fusion-framework/pull/2900) [`fdd057e`](https://github.com/equinor/fusion-framework/commit/fdd057e0920ffb93e07b6338e3ff592a65dabbc6) Thanks [@odinr](https://github.com/odinr)! - Fixed key syntax in `HttpClientConfigurator` default request handler.
12
+
13
+ - Updated dependencies [[`abb3560`](https://github.com/equinor/fusion-framework/commit/abb3560a22ad8830df19904272035458433f4237)]:
14
+ - @equinor/fusion-framework-module@4.3.7
15
+ - @equinor/fusion-framework-module-msal@4.0.2
16
+
17
+ ## 6.2.2
18
+
19
+ ### Patch Changes
20
+
21
+ - [#2852](https://github.com/equinor/fusion-framework/pull/2852) [`ba5d12e`](https://github.com/equinor/fusion-framework/commit/ba5d12eba0a38db412353765e997d02c1fbb478d) Thanks [@odinr](https://github.com/odinr)! - replaced forEach with for-of loops for better readability
22
+
23
+ - [#2848](https://github.com/equinor/fusion-framework/pull/2848) [`dcd2fb1`](https://github.com/equinor/fusion-framework/commit/dcd2fb1394e175d0cc2a4289ed3ede8e0271d67d) Thanks [@odinr](https://github.com/odinr)! - Refactored imports to use `type` when importing types from a module, to conform with the `useImportType` rule in Biome.
24
+
25
+ - Updated dependencies [[`ba5d12e`](https://github.com/equinor/fusion-framework/commit/ba5d12eba0a38db412353765e997d02c1fbb478d), [`6efabb7`](https://github.com/equinor/fusion-framework/commit/6efabb7837a97319e976e122db855d8b88b031a6), [`1953dd2`](https://github.com/equinor/fusion-framework/commit/1953dd217d85fa4880856b2c97b6305fcbaf2e24), [`dcd2fb1`](https://github.com/equinor/fusion-framework/commit/dcd2fb1394e175d0cc2a4289ed3ede8e0271d67d)]:
26
+ - @equinor/fusion-framework-module@4.3.6
27
+ - @equinor/fusion-framework-module-msal@4.0.1
28
+
3
29
  ## 6.2.1
4
30
 
5
31
  ### Patch Changes
6
32
 
7
33
  - Updated dependencies [[`ea4b522`](https://github.com/equinor/fusion-framework/commit/ea4b5221b30719289fc947b5dbb0acd3ea52ffaa)]:
8
- - @equinor/fusion-framework-module-msal@4.0.0
34
+ - @equinor/fusion-framework-module-msal@4.0.0
9
35
 
10
36
  ## 6.2.0
11
37
 
@@ -13,144 +39,150 @@
13
39
 
14
40
  - [#2491](https://github.com/equinor/fusion-framework/pull/2491) [`73af73e`](https://github.com/equinor/fusion-framework/commit/73af73e5582ca27b132210af8ba308b80e036d51) Thanks [@odinr](https://github.com/odinr)! - Added a new operator `capitalizeRequestMethodOperator` to ensure that the HTTP method of a given request is in uppercase.
15
41
 
16
- - Introduced `capitalizeRequestMethodOperator` which processes an HTTP request object and converts its method to uppercase.
17
- - Logs a warning if the HTTP method was converted, providing information about the change and a reference to RFC 7231 Section 4.1.
42
+ - Introduced `capitalizeRequestMethodOperator` which processes an HTTP request object and converts its method to uppercase.
43
+ - Logs a warning if the HTTP method was converted, providing information about the change and a reference to RFC 7231 Section 4.1.
18
44
 
19
- **Example usage:**
45
+ **Example usage:**
20
46
 
21
- ```typescript
22
- import { capitalizeRequestMethodOperator } from '@equinor/fusion-query';
47
+ ```typescript
48
+ import { capitalizeRequestMethodOperator } from "@equinor/fusion-query";
23
49
 
24
- const operator = capitalizeRequestMethodOperator();
25
- const request = { method: 'get' };
26
- const updatedRequest = operator(request);
27
- console.log(updatedRequest.method); // Outputs: 'GET'
28
- ```
50
+ const operator = capitalizeRequestMethodOperator();
51
+ const request = { method: "get" };
52
+ const updatedRequest = operator(request);
53
+ console.log(updatedRequest.method); // Outputs: 'GET'
54
+ ```
29
55
 
30
- Adding the operator to the `HttpClient`:
56
+ Adding the operator to the `HttpClient`:
31
57
 
32
- ```typescript
33
- const httpClient = new HttpClient();
34
- httpClient.requestHandler.add('capatalize-method', capitalizeRequestMethodOperator());
58
+ ```typescript
59
+ const httpClient = new HttpClient();
60
+ httpClient.requestHandler.add(
61
+ "capatalize-method",
62
+ capitalizeRequestMethodOperator()
63
+ );
35
64
 
36
- // transforms `method` to uppercase and logs a warning.
37
- httpClient.get('https://example.com', { method: 'get' });
38
- ```
65
+ // transforms `method` to uppercase and logs a warning.
66
+ httpClient.get("https://example.com", { method: "get" });
67
+ ```
39
68
 
40
69
  - [#2491](https://github.com/equinor/fusion-framework/pull/2491) [`73af73e`](https://github.com/equinor/fusion-framework/commit/73af73e5582ca27b132210af8ba308b80e036d51) Thanks [@odinr](https://github.com/odinr)! - The `HttpClientConfigurator` now has by default the `capitalizeRequestMethodOperator` and `requestValidationOperator` enabled.
41
70
 
42
- **CapitalizeRequestMethodOperator**
71
+ **CapitalizeRequestMethodOperator**
43
72
 
44
- This operator will capitalize the HTTP method name before sending the request. This is useful when you are using a client that requires the HTTP method to be capitalized. If you want to disable this operator, you can do so by removing it from the `HttpClientConfigurator`:
73
+ This operator will capitalize the HTTP method name before sending the request. This is useful when you are using a client that requires the HTTP method to be capitalized. If you want to disable this operator, you can do so by removing it from the `HttpClientConfigurator`:
45
74
 
46
- ```typescript
47
- httpConfig.defaultHttpRequestHandler.remove('capitalize-method');
48
- ```
75
+ ```typescript
76
+ httpConfig.defaultHttpRequestHandler.remove("capitalize-method");
77
+ ```
49
78
 
50
- > [!NOTE]
51
- > This operator is enabled by default and will log to the console if the method is not capitalized.
79
+ > [!NOTE]
80
+ > This operator is enabled by default and will log to the console if the method is not capitalized.
52
81
 
53
- **RequestValidationOperator**
82
+ **RequestValidationOperator**
54
83
 
55
- This operator will parse and validate the request before sending it. If the request is invalid, the error will be logged to the console. If you want to disable this operator, you can do so by removing it from the `HttpClientConfigurator`:
84
+ This operator will parse and validate the request before sending it. If the request is invalid, the error will be logged to the console. If you want to disable this operator, you can do so by removing it from the `HttpClientConfigurator`:
56
85
 
57
- ```typescript
58
- httpConfig.defaultHttpRequestHandler.remove('validate-request');
59
- ```
86
+ ```typescript
87
+ httpConfig.defaultHttpRequestHandler.remove("validate-request");
88
+ ```
60
89
 
61
- > [!NOTE]
62
- > This operator is enabled by default and will log to the console if the request parameters are invalid.
90
+ > [!NOTE]
91
+ > This operator is enabled by default and will log to the console if the request parameters are invalid.
63
92
 
64
- If you wish stricter validation, you can enable the `strict` mode by setting the `strict` property to `true`:
93
+ If you wish stricter validation, you can enable the `strict` mode by setting the `strict` property to `true`:
65
94
 
66
- ```typescript
67
- import { requestValidationOperator } from '@equinor/fusion-framework-module-http/operators';
95
+ ```typescript
96
+ import { requestValidationOperator } from '@equinor/fusion-framework-module-http/operators';
68
97
 
69
- httpConfig.defaultHttpRequestHandler.set(
70
- 'validate-request'
71
- requestValidationOperator({
72
- strict: true, // will throw error if schema is not valid
73
- parse: true // will not allow additional properties
74
- })
75
- );
76
- ```
98
+ httpConfig.defaultHttpRequestHandler.set(
99
+ 'validate-request'
100
+ requestValidationOperator({
101
+ strict: true, // will throw error if schema is not valid
102
+ parse: true // will not allow additional properties
103
+ })
104
+ );
105
+ ```
77
106
 
78
107
  - [#2491](https://github.com/equinor/fusion-framework/pull/2491) [`73af73e`](https://github.com/equinor/fusion-framework/commit/73af73e5582ca27b132210af8ba308b80e036d51) Thanks [@odinr](https://github.com/odinr)! - Added `remove` to the `ProcessOperators` to allow for the removal of a specific operator. This is useful for removing operators that are not desired, example default operators included in initial configuration.
79
108
 
80
- example:
109
+ example:
81
110
 
82
- ```typescript
83
- httpClient.requestHandler.remove('capitalize-method');
84
- ```
111
+ ```typescript
112
+ httpClient.requestHandler.remove("capitalize-method");
113
+ ```
85
114
 
86
- > [!NOTE]
87
- > There are currently no code completion for the `remove` method, so you will need to know the name of the operator you want to remove. We assume this is so low level that if you are removing operators you know what the name of the operator is.
115
+ > [!NOTE]
116
+ > There are currently no code completion for the `remove` method, so you will need to know the name of the operator you want to remove. We assume this is so low level that if you are removing operators you know what the name of the operator is.
88
117
 
89
- > [!TIP]
90
- > If you only wish to replace the operator with another operator, you can use the `set` method instead of `remove` and `add`.
118
+ > [!TIP]
119
+ > If you only wish to replace the operator with another operator, you can use the `set` method instead of `remove` and `add`.
91
120
 
92
121
  - [#2491](https://github.com/equinor/fusion-framework/pull/2491) [`73af73e`](https://github.com/equinor/fusion-framework/commit/73af73e5582ca27b132210af8ba308b80e036d51) Thanks [@odinr](https://github.com/odinr)! - **New Feature: Enhanced `requestValidationOperator`**
93
122
 
94
- The `requestValidationOperator` is a utility function that validates incoming requests against a Zod schema. This function has two options: `strict` and `parse`. The `strict` option allows you to enforce strict validation, while the `parse` option enables you to return the parsed request object if it passes validation.
123
+ The `requestValidationOperator` is a utility function that validates incoming requests against a Zod schema. This function has two options: `strict` and `parse`. The `strict` option allows you to enforce strict validation, while the `parse` option enables you to return the parsed request object if it passes validation.
95
124
 
96
- The `requestValidationOperator` is meant to be used as a request operator in the Fusion API framework. It is a higher-order function that takes a Zod schema as an argument and returns a function that validates incoming requests against that schema.
125
+ The `requestValidationOperator` is meant to be used as a request operator in the Fusion API framework. It is a higher-order function that takes a Zod schema as an argument and returns a function that validates incoming requests against that schema.
97
126
 
98
- | Option | Description | Usage |
99
- | --------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
100
- | **Strict Validation** | When `strict` is set to `true`, the validation will fail if there are additional properties not defined in the schema. | If `strict` is set to `false` or omitted, additional properties will be allowed and passed through without causing validation errors. |
101
- | **Parse Option** | When `parse` is enabled, the function will return the parsed and potentially transformed request object if it passes validation. | If `parse` is not enabled, the function will not return anything even if the request object is valid. |
127
+ | Option | Description | Usage |
128
+ | --------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
129
+ | **Strict Validation** | When `strict` is set to `true`, the validation will fail if there are additional properties not defined in the schema. | If `strict` is set to `false` or omitted, additional properties will be allowed and passed through without causing validation errors. |
130
+ | **Parse Option** | When `parse` is enabled, the function will return the parsed and potentially transformed request object if it passes validation. | If `parse` is not enabled, the function will not return anything even if the request object is valid. |
102
131
 
103
- To use the new `strict` and `parse` options, update your code as follows:
132
+ To use the new `strict` and `parse` options, update your code as follows:
104
133
 
105
- Example usage with strict validation:
134
+ Example usage with strict validation:
106
135
 
107
- ```typescript
108
- const operator = requestValidationOperator({ strict: true });
136
+ ```typescript
137
+ const operator = requestValidationOperator({ strict: true });
109
138
 
110
- // This will throw an error because of invalid method and extra property.
111
- operator({
112
- method: 'post',
113
- body: 'foo',
114
- extraProperty: 'This should not be here',
115
- });
116
- ```
139
+ // This will throw an error because of invalid method and extra property.
140
+ operator({
141
+ method: "post",
142
+ body: "foo",
143
+ extraProperty: "This should not be here",
144
+ });
145
+ ```
117
146
 
118
- Example usage with parsing enabled:
147
+ Example usage with parsing enabled:
119
148
 
120
- ```typescript
121
- // Example usage with parsing enabled
122
- const operator = requestValidationOperator({ parse: true });
149
+ ```typescript
150
+ // Example usage with parsing enabled
151
+ const operator = requestValidationOperator({ parse: true });
123
152
 
124
- // will return { method: 'GET' }
125
- const parsedRequest = operator({
126
- method: 'GET',
127
- extraProperty: 'This should not be here',
128
- });
129
- ```
153
+ // will return { method: 'GET' }
154
+ const parsedRequest = operator({
155
+ method: "GET",
156
+ extraProperty: "This should not be here",
157
+ });
158
+ ```
130
159
 
131
- Example usage with both strict validation and parsing enabled:
160
+ Example usage with both strict validation and parsing enabled:
132
161
 
133
- ```typescript
134
- const operator = requestValidationOperator({ strict: true, parse: true });
162
+ ```typescript
163
+ const operator = requestValidationOperator({ strict: true, parse: true });
135
164
 
136
- // will throw an error because of extra property.
137
- const parsedStrictRequest = operator({
138
- method: 'GET',
139
- extraProperty: 'This should not be here',
140
- });
141
- ```
165
+ // will throw an error because of extra property.
166
+ const parsedStrictRequest = operator({
167
+ method: "GET",
168
+ extraProperty: "This should not be here",
169
+ });
170
+ ```
142
171
 
143
- Example usage with the `HttpClient`:
172
+ Example usage with the `HttpClient`:
144
173
 
145
- ```typescript
146
- const httpClient = new HttpClient();
174
+ ```typescript
175
+ const httpClient = new HttpClient();
147
176
 
148
- // Add the request validation operator to the HttpClient.
149
- httpClient.requestHandler.add('validate-init', requestValidationOperator({ parse: true }));
177
+ // Add the request validation operator to the HttpClient.
178
+ httpClient.requestHandler.add(
179
+ "validate-init",
180
+ requestValidationOperator({ parse: true })
181
+ );
150
182
 
151
- // will throw an error because of invalid method.
152
- httpClient.get('https://example.com', { method: 'get' });
153
- ```
183
+ // will throw an error because of invalid method.
184
+ httpClient.get("https://example.com", { method: "get" });
185
+ ```
154
186
 
155
187
  ## 6.1.0
156
188
 
@@ -158,35 +190,35 @@
158
190
 
159
191
  - [#2452](https://github.com/equinor/fusion-framework/pull/2452) [`c776845`](https://github.com/equinor/fusion-framework/commit/c776845e753acf4a0bceda1c59d31e5939c44c31) Thanks [@odinr](https://github.com/odinr)! - **@equinor/fusion-framework-module-http**
160
192
 
161
- `HttpClient._resolveUrl` now supports resolving URLs with a base URL that contains a path.
193
+ `HttpClient._resolveUrl` now supports resolving URLs with a base URL that contains a path.
162
194
 
163
- before:
195
+ before:
164
196
 
165
- ```typescript
166
- const client = new HttpClient('https://example.com/test/me');
167
- client.fetch('/api'); // https://example.com/api
168
- ```
197
+ ```typescript
198
+ const client = new HttpClient("https://example.com/test/me");
199
+ client.fetch("/api"); // https://example.com/api
200
+ ```
169
201
 
170
- now:
202
+ now:
171
203
 
172
- ```typescript
173
- const client = new HttpClient('https://example.com/test/me');
174
- client.fetch('/api'); // https://example.com/test/me/api
175
- ```
204
+ ```typescript
205
+ const client = new HttpClient("https://example.com/test/me");
206
+ client.fetch("/api"); // https://example.com/test/me/api
207
+ ```
176
208
 
177
209
  ### Patch Changes
178
210
 
179
211
  - Updated dependencies [[`2644b3d`](https://github.com/equinor/fusion-framework/commit/2644b3d63939aede736a3b1950db32dbd487877d)]:
180
- - @equinor/fusion-framework-module@4.3.5
181
- - @equinor/fusion-framework-module-msal@3.1.5
212
+ - @equinor/fusion-framework-module@4.3.5
213
+ - @equinor/fusion-framework-module-msal@3.1.5
182
214
 
183
215
  ## 6.0.3
184
216
 
185
217
  ### Patch Changes
186
218
 
187
219
  - Updated dependencies [[`75d676d`](https://github.com/equinor/fusion-framework/commit/75d676d2c7919f30e036b5ae97c4d814c569aa87), [`00d5e9c`](https://github.com/equinor/fusion-framework/commit/00d5e9c632876742c3d2a74efea2f126a0a169d9)]:
188
- - @equinor/fusion-framework-module@4.3.4
189
- - @equinor/fusion-framework-module-msal@3.1.4
220
+ - @equinor/fusion-framework-module@4.3.4
221
+ - @equinor/fusion-framework-module-msal@3.1.4
190
222
 
191
223
  ## 6.0.2
192
224
 
@@ -195,8 +227,8 @@
195
227
  - [#2358](https://github.com/equinor/fusion-framework/pull/2358) [`decb9e9`](https://github.com/equinor/fusion-framework/commit/decb9e9e3d1bb1b0577b729a1e7ae812afdd83cb) Thanks [@eikeland](https://github.com/eikeland)! - Updating vitest to 2.0.4. Setting vitest as devDependency in fusion-query. Updating vite to 5.3.4
196
228
 
197
229
  - Updated dependencies [[`a1524e9`](https://github.com/equinor/fusion-framework/commit/a1524e9c4d83778da3db42dbcf99908b776a0592)]:
198
- - @equinor/fusion-framework-module@4.3.3
199
- - @equinor/fusion-framework-module-msal@3.1.3
230
+ - @equinor/fusion-framework-module@4.3.3
231
+ - @equinor/fusion-framework-module-msal@3.1.3
200
232
 
201
233
  ## 6.0.1
202
234
 
@@ -204,13 +236,13 @@
204
236
 
205
237
  - [#2324](https://github.com/equinor/fusion-framework/pull/2324) [`788d0b9`](https://github.com/equinor/fusion-framework/commit/788d0b93edc25e5b682d88c58614560c204c1af9) Thanks [@odinr](https://github.com/odinr)! - Updated documentation in `README.md` for http module.
206
238
 
207
- - added introduction to http module
208
- - added concepts section which highlights the key concepts of http module
209
- - added sequence diagram for http request execution
210
- - added examples for http module
211
- - improved documentation for configuring http module
212
- - improved documentation for working with http clients
213
- - improved the formatting of the documentation
239
+ - added introduction to http module
240
+ - added concepts section which highlights the key concepts of http module
241
+ - added sequence diagram for http request execution
242
+ - added examples for http module
243
+ - improved documentation for configuring http module
244
+ - improved documentation for working with http clients
245
+ - improved the formatting of the documentation
214
246
 
215
247
  - [#2333](https://github.com/equinor/fusion-framework/pull/2333) [`86d55b8`](https://github.com/equinor/fusion-framework/commit/86d55b8d27a572f3f62170b1e72aceda54f955e1) Thanks [@odinr](https://github.com/odinr)! - Updated `TypeScript` to 5.5.3
216
248
 
@@ -218,55 +250,55 @@
218
250
 
219
251
  - [#2324](https://github.com/equinor/fusion-framework/pull/2324) [`788d0b9`](https://github.com/equinor/fusion-framework/commit/788d0b93edc25e5b682d88c58614560c204c1af9) Thanks [@odinr](https://github.com/odinr)! - - Added a new type `ResponseSelector<TResult, TResponse>`: a function that takes a `Response` object and returns an observable stream of type `TResult`. The `ResponseSelector` type has two template parameters: `TResult` and `TResponse`.
220
252
 
221
- - Updated the `FetchRequestInit` type to include a new property `selector` of type `ResponseSelector<TReturn, TResponse>`, which allows specifying a response selector function.
222
- - Updated the blob-selector and json-selector functions to use the new `ResponseSelector` type.
253
+ - Updated the `FetchRequestInit` type to include a new property `selector` of type `ResponseSelector<TReturn, TResponse>`, which allows specifying a response selector function.
254
+ - Updated the blob-selector and json-selector functions to use the new `ResponseSelector` type.
223
255
 
224
256
  - [#2320](https://github.com/equinor/fusion-framework/pull/2320) [`1dd85f3`](https://github.com/equinor/fusion-framework/commit/1dd85f3a408a73df556d1812a5f280945cc100ee) Thanks [@odinr](https://github.com/odinr)! - Removed the `removeComments` option from the `tsconfig.base.json` file.
225
257
 
226
- Removing the `removeComments` option allows TypeScript to preserve comments in the compiled JavaScript output. This can be beneficial for several reasons:
258
+ Removing the `removeComments` option allows TypeScript to preserve comments in the compiled JavaScript output. This can be beneficial for several reasons:
227
259
 
228
- 1. Improved debugging: Preserved comments can help developers understand the code better during debugging sessions.
229
- 2. Documentation: JSDoc comments and other important code documentation will be retained in the compiled output.
230
- 3. Source map accuracy: Keeping comments can lead to more accurate source maps, which is crucial for debugging and error tracking.
260
+ 1. Improved debugging: Preserved comments can help developers understand the code better during debugging sessions.
261
+ 2. Documentation: JSDoc comments and other important code documentation will be retained in the compiled output.
262
+ 3. Source map accuracy: Keeping comments can lead to more accurate source maps, which is crucial for debugging and error tracking.
231
263
 
232
- No action is required from consumers of the library. This change affects the build process and doesn't introduce any breaking changes or new features.
264
+ No action is required from consumers of the library. This change affects the build process and doesn't introduce any breaking changes or new features.
233
265
 
234
- Before:
266
+ Before:
235
267
 
236
- ```json
237
- {
238
- "compilerOptions": {
239
- "module": "ES2022",
240
- "target": "ES6",
241
- "incremental": true,
242
- "removeComments": true,
243
- "preserveConstEnums": true,
244
- "sourceMap": true,
245
- "moduleResolution": "node"
246
- }
268
+ ```json
269
+ {
270
+ "compilerOptions": {
271
+ "module": "ES2022",
272
+ "target": "ES6",
273
+ "incremental": true,
274
+ "removeComments": true,
275
+ "preserveConstEnums": true,
276
+ "sourceMap": true,
277
+ "moduleResolution": "node"
247
278
  }
248
- ```
249
-
250
- After:
251
-
252
- ```json
253
- {
254
- "compilerOptions": {
255
- "module": "ES2022",
256
- "target": "ES6",
257
- "incremental": true,
258
- "preserveConstEnums": true,
259
- "sourceMap": true,
260
- "moduleResolution": "node"
261
- }
279
+ }
280
+ ```
281
+
282
+ After:
283
+
284
+ ```json
285
+ {
286
+ "compilerOptions": {
287
+ "module": "ES2022",
288
+ "target": "ES6",
289
+ "incremental": true,
290
+ "preserveConstEnums": true,
291
+ "sourceMap": true,
292
+ "moduleResolution": "node"
262
293
  }
263
- ```
294
+ }
295
+ ```
264
296
 
265
- This change ensures that comments are preserved in the compiled output, potentially improving the development and debugging experience for users of the Fusion Framework.
297
+ This change ensures that comments are preserved in the compiled output, potentially improving the development and debugging experience for users of the Fusion Framework.
266
298
 
267
299
  - Updated dependencies [[`2f74edc`](https://github.com/equinor/fusion-framework/commit/2f74edcd4a3ea2b87d69f0fd63492145c3c01663), [`86d55b8`](https://github.com/equinor/fusion-framework/commit/86d55b8d27a572f3f62170b1e72aceda54f955e1), [`1dd85f3`](https://github.com/equinor/fusion-framework/commit/1dd85f3a408a73df556d1812a5f280945cc100ee)]:
268
- - @equinor/fusion-framework-module@4.3.2
269
- - @equinor/fusion-framework-module-msal@3.1.2
300
+ - @equinor/fusion-framework-module@4.3.2
301
+ - @equinor/fusion-framework-module-msal@3.1.2
270
302
 
271
303
  ## 6.0.0
272
304
 
@@ -274,99 +306,107 @@
274
306
 
275
307
  - [#2181](https://github.com/equinor/fusion-framework/pull/2181) [`ba2379b`](https://github.com/equinor/fusion-framework/commit/ba2379b177f23ccc023894e36e50d7fc56c929c8) Thanks [@odinr](https://github.com/odinr)! - The `blob` and `blob# Change Log methods in the `HttpClient` class have been updated to provide a more robust and flexible API for fetching blob resources.
276
308
 
277
- 1. The `blob` and `blob# Change Log methods now accept an optional `args`parameter of type`FetchRequestInit<T, TRequest, TResponse>`, where `T` is the type of the expected blob result. This allows consumers to customize the fetch request and response handling.
278
- 2. The `blob` and `blob# Change Log methods now return a `Promise<T>`and`StreamResponse<T>`respectively, where`T` is the type of the expected blob result. This allows consumers to handle the blob data in a more type-safe manner.
279
- 3. The `blobSelector` function has been updated to extract the filename (if available) from the `content-disposition` header and return it along with the blob data in a `BlobResult` object.
280
- 4. If you were previously using the `blob` or `blob# Change Log methods and expecting a `Blob`result, you must now use the new`BlobResult` type, which includes the filename (if available) and the blob data.
309
+ 1. The `blob` and `blob# Change Log methods now accept an optional `args`parameter of type`FetchRequestInit<T, TRequest, TResponse>`, where `T` is the type of the expected blob result. This allows consumers to customize the fetch request and response handling.
310
+ 2. The `blob` and `blob# Change Log methods now return a `Promise<T>`and`StreamResponse<T>`respectively, where`T` is the type of the expected blob result. This allows consumers to handle the blob data in a more type-safe manner.
311
+ 3. The `blobSelector` function has been updated to extract the filename (if available) from the `content-disposition` header and return it along with the blob data in a `BlobResult` object.
312
+ 4. If you were previously using the `blob` or `blob# Change Log methods and expecting a `Blob`result, you must now use the new`BlobResult` type, which includes the filename (if available) and the blob data.
281
313
 
282
- > [!WARNING]
283
- > This alters the return type of the `blob` and `blob# Change Log methods, which is a **breaking change**.
314
+ > [!WARNING]
315
+ > This alters the return type of the `blob` and `blob# Change Log methods, which is a **breaking change**.
284
316
 
285
- Example:
317
+ Example:
286
318
 
287
- ```typescript
288
- const blobResult = await httpClient.blob('/path/to/blob');
289
- console.log(blobResult.filename); // 'example.pdf'
290
- console.log(blobResult.blob); // Blob instance
291
- ```
319
+ ```typescript
320
+ const blobResult = await httpClient.blob("/path/to/blob");
321
+ console.log(blobResult.filename); // 'example.pdf'
322
+ console.log(blobResult.blob); // Blob instance
323
+ ```
292
324
 
293
- 1. If you were providing a custom selector function to the `blob` or `blob# Change Log methods, you can now use the new `BlobResult` type in your selector function.
325
+ 1. If you were providing a custom selector function to the `blob` or `blob# Change Log methods, you can now use the new `BlobResult` type in your selector function.
294
326
 
295
- Example:
327
+ Example:
296
328
 
297
- ```typescript
298
- const customBlobSelector = async (
299
- response: Response,
300
- ): Promise<{ filename: string; blob: Blob }> => {
301
- // Extract filename and blob from the response
302
- const { filename, blob } = await blobSelector(response);
303
- return { filename, blob };
304
- };
329
+ ```typescript
330
+ const customBlobSelector = async (
331
+ response: Response
332
+ ): Promise<{ filename: string; blob: Blob }> => {
333
+ // Extract filename and blob from the response
334
+ const { filename, blob } = await blobSelector(response);
335
+ return { filename, blob };
336
+ };
305
337
 
306
- const blobResult = await httpClient.blob('/path/to/blob', { selector: customBlobSelector });
307
- console.log(blobResult.filename); // 'example.pdf'
308
- console.log(blobResult.blob); // Blob instance
309
- ```
338
+ const blobResult = await httpClient.blob("/path/to/blob", {
339
+ selector: customBlobSelector,
340
+ });
341
+ console.log(blobResult.filename); // 'example.pdf'
342
+ console.log(blobResult.blob); // Blob instance
343
+ ```
310
344
 
311
- 3. If you were using the `blob# Change Log method and expecting a `StreamResponse<Blob>`, you can now use the new `StreamResponse<T>`type, where`T` is the type of the expected blob result.
345
+ 3. If you were using the `blob# Change Log method and expecting a `StreamResponse<Blob>`, you can now use the new `StreamResponse<T>`type, where`T` is the type of the expected blob result.
312
346
 
313
- Example:
347
+ Example:
314
348
 
315
- ```typescript
316
- const blobStream = httpClient.blob$('/path/to/blob');
317
- blobStream.subscribe((blobResult) => {
318
- console.log(blobResult.filename); // 'example.pdf'
319
- console.log(blobResult.blob); // Blob instance
320
- });
321
- ```
349
+ ```typescript
350
+ const blobStream = httpClient.blob$("/path/to/blob");
351
+ blobStream.subscribe((blobResult) => {
352
+ console.log(blobResult.filename); // 'example.pdf'
353
+ console.log(blobResult.blob); // Blob instance
354
+ });
355
+ ```
322
356
 
323
357
  ### Patch Changes
324
358
 
325
359
  - [#2196](https://github.com/equinor/fusion-framework/pull/2196) [`1e60919`](https://github.com/equinor/fusion-framework/commit/1e60919e83fb65528c88f604d7bd43299ec412e1) Thanks [@odinr](https://github.com/odinr)! - The `jsonSelector` function was not checking the error type in the `catch` block.
326
360
  This lead to not throwing the error with parsed data, but always throwing a parser error, where the correct error was `cause` in the `ErrorOptions`
327
361
 
328
- **BREAKING CHANGE:**
329
-
330
- If for some reason developers has catched the error and assumed the `cause` property would give the proper error data, this will no longer be the case.
331
-
332
- ```ts
333
- try {
334
- await jsonSelector(response);
335
- } catch (error) {
336
- if (error instanceof HttpJsonResponseError) {
337
- const { data, cause } = error;
338
- if (data) {
339
- console.error('the request was not `ok`, see provided error data', data);
340
- } else {
341
- console.error('failed to parse data from response, see provided cause', cause);
342
- }
343
- }
362
+ **BREAKING CHANGE:**
363
+
364
+ If for some reason developers has catched the error and assumed the `cause` property would give the proper error data, this will no longer be the case.
365
+
366
+ ```ts
367
+ try {
368
+ await jsonSelector(response);
369
+ } catch (error) {
370
+ if (error instanceof HttpJsonResponseError) {
371
+ const { data, cause } = error;
372
+ if (data) {
373
+ console.error(
374
+ "the request was not `ok`, see provided error data",
375
+ data
376
+ );
377
+ } else {
378
+ console.error(
379
+ "failed to parse data from response, see provided cause",
380
+ cause
381
+ );
382
+ }
344
383
  }
345
- ```
346
-
347
- ```diff
348
- try {
349
- await jsonSelector(response);
350
- } catch (error) {
351
- if(error instanceof HttpJsonResponseError) {
352
- - const data = error.cause instanceof HttpJsonResponseError ? err.cause.data : null;
353
- + const data = error instanceof HttpJsonResponseError ? error.data : null;
354
- if(data) {
355
- console.error('the request was not `ok`, see provided error data', data);
356
- } else {
357
- console.error('failed to parse data from response, see provided cause', error.cause);
358
- }
384
+ }
385
+ ```
386
+
387
+ ```diff
388
+ try {
389
+ await jsonSelector(response);
390
+ } catch (error) {
391
+ if(error instanceof HttpJsonResponseError) {
392
+ - const data = error.cause instanceof HttpJsonResponseError ? err.cause.data : null;
393
+ + const data = error instanceof HttpJsonResponseError ? error.data : null;
394
+ if(data) {
395
+ console.error('the request was not `ok`, see provided error data', data);
396
+ } else {
397
+ console.error('failed to parse data from response, see provided cause', error.cause);
359
398
  }
360
399
  }
361
- ```
400
+ }
401
+ ```
362
402
 
363
403
  ## 5.2.3
364
404
 
365
405
  ### Patch Changes
366
406
 
367
407
  - Updated dependencies [[`fb424be`](https://github.com/equinor/fusion-framework/commit/fb424be24ad9349d01daef91a01c464d7b1413d2), [`fb424be`](https://github.com/equinor/fusion-framework/commit/fb424be24ad9349d01daef91a01c464d7b1413d2), [`fb424be`](https://github.com/equinor/fusion-framework/commit/fb424be24ad9349d01daef91a01c464d7b1413d2)]:
368
- - @equinor/fusion-framework-module@4.3.1
369
- - @equinor/fusion-framework-module-msal@3.1.1
408
+ - @equinor/fusion-framework-module@4.3.1
409
+ - @equinor/fusion-framework-module-msal@3.1.1
370
410
 
371
411
  ## 5.2.2
372
412
 
@@ -382,48 +422,48 @@
382
422
 
383
423
  - [#2043](https://github.com/equinor/fusion-framework/pull/2043) [`4af517f`](https://github.com/equinor/fusion-framework/commit/4af517f107f960aa1dc7459451d99e2e83d350ee) Thanks [@odinr](https://github.com/odinr)! - When adding operators to request and response handler to an http client instanstance, the values where added to the configured handlers permanently
384
424
 
385
- ```ts
386
- // create a new client from configuration
387
- const fooClient = provider.createClient('foo');
388
- fooClient.requestHandler.setHeader('x-foo', 'bar');
389
-
390
- // generate a RequestInit object
391
- const fooRequest = await lastValueFrom(
392
- fooClient.requestHandler.process({ path: '/api', uri: fooClient.uri }),
393
- );
394
-
395
- expect((fooRequest.headers as Headers)?.get('x-foo')).toBe('bar');
396
-
397
- // create a new client from the same configuration
398
- const barClient = provider.createClient('foo');
399
-
400
- // generate a RequestInit object
401
- const barRequest = await lastValueFrom(
402
- barClient.requestHandler.process({ path: '/api', uri: barClient.uri }),
403
- );
404
-
405
- // expect the request header to not been modified
406
- // FAILED
407
- expect((barRequest.headers as Headers)?.get('x-foo')).toBeUndefined();
408
- ```
409
-
410
- modified the `ProcessOperators` to accept operators on creation, which are clone to the instance.
411
-
412
- ```diff
413
- --- a/packages/modules/http/src/lib/client/client.ts
414
- +++ a/packages/modules/http/src/lib/client/client.ts
415
- constructor(
416
- public uri: string,
417
- options?: Partial<HttpClientCreateOptions<TRequest, TResponse>>,
418
- ) {
419
- - this.requestHandler = options?.requestHandler ?? new HttpRequestHandler<TRequest>();
420
- + this.requestHandler = new HttpRequestHandler<TRequest>(options?.requestHandler);
421
- - this.responseHandler = options?.responseHandler ?? new HttpResponseHandler<TResponse>();
422
- + this.responseHandler = new HttpResponseHandler<TResponse>(options?.responseHandler);
423
- this._init();
424
- }
425
-
426
- ```
425
+ ```ts
426
+ // create a new client from configuration
427
+ const fooClient = provider.createClient("foo");
428
+ fooClient.requestHandler.setHeader("x-foo", "bar");
429
+
430
+ // generate a RequestInit object
431
+ const fooRequest = await lastValueFrom(
432
+ fooClient.requestHandler.process({ path: "/api", uri: fooClient.uri })
433
+ );
434
+
435
+ expect((fooRequest.headers as Headers)?.get("x-foo")).toBe("bar");
436
+
437
+ // create a new client from the same configuration
438
+ const barClient = provider.createClient("foo");
439
+
440
+ // generate a RequestInit object
441
+ const barRequest = await lastValueFrom(
442
+ barClient.requestHandler.process({ path: "/api", uri: barClient.uri })
443
+ );
444
+
445
+ // expect the request header to not been modified
446
+ // FAILED
447
+ expect((barRequest.headers as Headers)?.get("x-foo")).toBeUndefined();
448
+ ```
449
+
450
+ modified the `ProcessOperators` to accept operators on creation, which are clone to the instance.
451
+
452
+ ```diff
453
+ --- a/packages/modules/http/src/lib/client/client.ts
454
+ +++ a/packages/modules/http/src/lib/client/client.ts
455
+ constructor(
456
+ public uri: string,
457
+ options?: Partial<HttpClientCreateOptions<TRequest, TResponse>>,
458
+ ) {
459
+ - this.requestHandler = options?.requestHandler ?? new HttpRequestHandler<TRequest>();
460
+ + this.requestHandler = new HttpRequestHandler<TRequest>(options?.requestHandler);
461
+ - this.responseHandler = options?.responseHandler ?? new HttpResponseHandler<TResponse>();
462
+ + this.responseHandler = new HttpResponseHandler<TResponse>(options?.responseHandler);
463
+ this._init();
464
+ }
465
+
466
+ ```
427
467
 
428
468
  ## 5.2.0
429
469
 
@@ -434,23 +474,23 @@
434
474
  ### Patch Changes
435
475
 
436
476
  - Updated dependencies [[`f3ae28d`](https://github.com/equinor/fusion-framework/commit/f3ae28dc6d1d5043605e07e2cd2e83ae799cd904), [`f3ae28d`](https://github.com/equinor/fusion-framework/commit/f3ae28dc6d1d5043605e07e2cd2e83ae799cd904)]:
437
- - @equinor/fusion-framework-module@4.3.0
438
- - @equinor/fusion-framework-module-msal@3.1.0
477
+ - @equinor/fusion-framework-module@4.3.0
478
+ - @equinor/fusion-framework-module-msal@3.1.0
439
479
 
440
480
  ## 5.1.6
441
481
 
442
482
  ### Patch Changes
443
483
 
444
484
  - Updated dependencies [[`152cf73`](https://github.com/equinor/fusion-framework/commit/152cf73d39eb32ccbaddaa6941e315c437c4972d)]:
445
- - @equinor/fusion-framework-module@4.2.7
446
- - @equinor/fusion-framework-module-msal@3.0.10
485
+ - @equinor/fusion-framework-module@4.2.7
486
+ - @equinor/fusion-framework-module-msal@3.0.10
447
487
 
448
488
  ## 5.1.5
449
489
 
450
490
  ### Patch Changes
451
491
 
452
492
  - Updated dependencies [[`5eab8af`](https://github.com/equinor/fusion-framework/commit/5eab8afe3c3106cc67ad14ce4cbee6c7e4e8dfb1)]:
453
- - @equinor/fusion-framework-module-msal@3.0.9
493
+ - @equinor/fusion-framework-module-msal@3.0.9
454
494
 
455
495
  ## 5.1.4
456
496
 
@@ -464,23 +504,23 @@
464
504
 
465
505
  - [#1621](https://github.com/equinor/fusion-framework/pull/1621) [`0af3540`](https://github.com/equinor/fusion-framework/commit/0af3540340bac85a19ca3a8ec4e0ccd42b3090ee) Thanks [@odinr](https://github.com/odinr)! - **Improves error handling when processing json http response**
466
506
 
467
- In packages/modules/http/src/errors.ts:
507
+ In packages/modules/http/src/errors.ts:
468
508
 
469
- - The class HttpResponseError now has a generic parameter TResponse.
470
- - Added a static property Name to the class.
471
- - Added a new class HttpJsonResponseError which extends HttpResponseError and also has generic parameters TType and TResponse.
472
- - Added a static property Name to the class.
473
- - Added a public property data of type TType.
474
- - Modified the constructor to accept an optional data parameter.
509
+ - The class HttpResponseError now has a generic parameter TResponse.
510
+ - Added a static property Name to the class.
511
+ - Added a new class HttpJsonResponseError which extends HttpResponseError and also has generic parameters TType and TResponse.
512
+ - Added a static property Name to the class.
513
+ - Added a public property data of type TType.
514
+ - Modified the constructor to accept an optional data parameter.
475
515
 
476
- In packages/modules/http/src/lib/selectors/json-selector.ts:
516
+ In packages/modules/http/src/lib/selectors/json-selector.ts:
477
517
 
478
- - Added an import statement for HttpJsonResponseError.
479
- - Modified the jsonSelector function to handle errors when parsing the response.
480
- - Added a try-catch block.
481
- - Changed the JSON parsing logic to store the parsed data in a variable data.
482
- - If the response is not OK, a HttpJsonResponseError is thrown with the appropriate error message, response object, and data property.
483
- - If there is an error parsing the response, a HttpJsonResponseError is thrown with the appropriate error message, response object, and cause property.
518
+ - Added an import statement for HttpJsonResponseError.
519
+ - Modified the jsonSelector function to handle errors when parsing the response.
520
+ - Added a try-catch block.
521
+ - Changed the JSON parsing logic to store the parsed data in a variable data.
522
+ - If the response is not OK, a HttpJsonResponseError is thrown with the appropriate error message, response object, and data property.
523
+ - If there is an error parsing the response, a HttpJsonResponseError is thrown with the appropriate error message, response object, and cause property.
484
524
 
485
525
  ## 5.1.2
486
526
 
@@ -489,8 +529,8 @@
489
529
  - [#1595](https://github.com/equinor/fusion-framework/pull/1595) [`9c24e84`](https://github.com/equinor/fusion-framework/commit/9c24e847d041dea8384c77439e6b237f5bdb3125) Thanks [@Gustav-Eikaas](https://github.com/Gustav-Eikaas)! - support for module resolution NodeNext & Bundler
490
530
 
491
531
  - Updated dependencies [[`9c24e84`](https://github.com/equinor/fusion-framework/commit/9c24e847d041dea8384c77439e6b237f5bdb3125)]:
492
- - @equinor/fusion-framework-module@4.2.6
493
- - @equinor/fusion-framework-module-msal@3.0.8
532
+ - @equinor/fusion-framework-module@4.2.6
533
+ - @equinor/fusion-framework-module-msal@3.0.8
494
534
 
495
535
  ## 5.1.1
496
536
 
@@ -499,8 +539,8 @@
499
539
  - [`b5dfe5d2`](https://github.com/equinor/fusion-framework/commit/b5dfe5d29a249e0cca6c9589322931dfedd06acc) Thanks [@odinr](https://github.com/odinr)! - force patch bump, realign missing snapshot
500
540
 
501
541
  - Updated dependencies [[`b5dfe5d2`](https://github.com/equinor/fusion-framework/commit/b5dfe5d29a249e0cca6c9589322931dfedd06acc)]:
502
- - @equinor/fusion-framework-module@4.2.5
503
- - @equinor/fusion-framework-module-msal@3.0.7
542
+ - @equinor/fusion-framework-module@4.2.5
543
+ - @equinor/fusion-framework-module-msal@3.0.7
504
544
 
505
545
  ## 5.1.0
506
546
 
@@ -508,22 +548,22 @@
508
548
 
509
549
  - [#1242](https://github.com/equinor/fusion-framework/pull/1242) [`8e9e34a0`](https://github.com/equinor/fusion-framework/commit/8e9e34a06a6905d092ad8ca3f9330a3699da20fa) Thanks [@odinr](https://github.com/odinr)! - add method for executing blob requests
510
550
 
511
- - added selector for extracting blob from response
512
- - added function for fetching blob as stream or promise on the http client
551
+ - added selector for extracting blob from response
552
+ - added function for fetching blob as stream or promise on the http client
513
553
 
514
- ```tsx
515
- const data = await client.blob('/person/photo');
516
- const url = URL.createObjectURL(blob);
517
- return <img src={url} />;
518
- ```
554
+ ```tsx
555
+ const data = await client.blob("/person/photo");
556
+ const url = URL.createObjectURL(blob);
557
+ return <img src={url} />;
558
+ ```
519
559
 
520
560
  ## 5.0.6
521
561
 
522
562
  ### Patch Changes
523
563
 
524
564
  - Updated dependencies [[`9076a498`](https://github.com/equinor/fusion-framework/commit/9076a49876e7a414a27557b7fb9095a67fe3a57f)]:
525
- - @equinor/fusion-framework-module@4.2.4
526
- - @equinor/fusion-framework-module-msal@3.0.6
565
+ - @equinor/fusion-framework-module@4.2.4
566
+ - @equinor/fusion-framework-module-msal@3.0.6
527
567
 
528
568
  ## 5.0.5
529
569
 
@@ -531,19 +571,19 @@
531
571
 
532
572
  - [#1109](https://github.com/equinor/fusion-framework/pull/1109) [`7ec195d4`](https://github.com/equinor/fusion-framework/commit/7ec195d42098fec8794db13e83b71ef7753ff862) Thanks [@odinr](https://github.com/odinr)! - Change packaged manager from yarn to pnpm
533
573
 
534
- conflicts of `@types/react` made random outcomes when using `yarn`
574
+ conflicts of `@types/react` made random outcomes when using `yarn`
535
575
 
536
- this change should not affect consumer of the packages, but might conflict dependent on local package manager.
576
+ this change should not affect consumer of the packages, but might conflict dependent on local package manager.
537
577
 
538
578
  - [#1145](https://github.com/equinor/fusion-framework/pull/1145) [`d276fc5d`](https://github.com/equinor/fusion-framework/commit/d276fc5d514566d05c64705076a1cb91c6a44272) Thanks [@dependabot](https://github.com/apps/dependabot)! - build(deps): bump rxjs from 7.5.7 to [7.8.1](https://github.com/ReactiveX/rxjs/blob/7.8.1/CHANGELOG.md)
539
579
 
540
580
  - [#1163](https://github.com/equinor/fusion-framework/pull/1163) [`52d98701`](https://github.com/equinor/fusion-framework/commit/52d98701627e93c7284c0b9a5bfd8dab1da43bd3) Thanks [@odinr](https://github.com/odinr)! - Append `Accecpt: application/json` to request headers
541
581
 
542
- when using the `json# Change Log or `json`function on the`HttpClient`add`Accecpt: application/json` to the request header
582
+ when using the `json# Change Log or `json`function on the`HttpClient`add`Accecpt: application/json` to the request header
543
583
 
544
584
  - Updated dependencies [[`7ec195d4`](https://github.com/equinor/fusion-framework/commit/7ec195d42098fec8794db13e83b71ef7753ff862), [`d276fc5d`](https://github.com/equinor/fusion-framework/commit/d276fc5d514566d05c64705076a1cb91c6a44272)]:
545
- - @equinor/fusion-framework-module@4.2.3
546
- - @equinor/fusion-framework-module-msal@3.0.5
585
+ - @equinor/fusion-framework-module@4.2.3
586
+ - @equinor/fusion-framework-module-msal@3.0.5
547
587
 
548
588
  ## 5.0.4
549
589
 
@@ -552,8 +592,8 @@
552
592
  - [#946](https://github.com/equinor/fusion-framework/pull/946) [`5a160d88`](https://github.com/equinor/fusion-framework/commit/5a160d88981ddfe861d391cfefe10f54dda3d352) Thanks [@odinr](https://github.com/odinr)! - Build/update typescript to 5
553
593
 
554
594
  - Updated dependencies [[`5a160d88`](https://github.com/equinor/fusion-framework/commit/5a160d88981ddfe861d391cfefe10f54dda3d352)]:
555
- - @equinor/fusion-framework-module@4.2.1
556
- - @equinor/fusion-framework-module-msal@3.0.4
595
+ - @equinor/fusion-framework-module@4.2.1
596
+ - @equinor/fusion-framework-module-msal@3.0.4
557
597
 
558
598
  ## 5.0.3
559
599
 
@@ -561,13 +601,13 @@
561
601
 
562
602
  - [#905](https://github.com/equinor/fusion-framework/pull/905) [`a7858a1c`](https://github.com/equinor/fusion-framework/commit/a7858a1c01542e2dc94370709f122b4b99c3219c) Thanks [@odinr](https://github.com/odinr)! - **🚧 Chore: dedupe packages**
563
603
 
564
- - align all versions of typescript
565
- - update types to build
566
- - a couple of typecasts did not [satisfies](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-0.html#satisfies-support-in-jsdoc) and was recasted as `unknwon`, marked with `TODO`, should be fixed in future
604
+ - align all versions of typescript
605
+ - update types to build
606
+ - a couple of typecasts did not [satisfies](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-0.html#satisfies-support-in-jsdoc) and was recasted as `unknwon`, marked with `TODO`, should be fixed in future
567
607
 
568
608
  - Updated dependencies [[`3efbf0bb`](https://github.com/equinor/fusion-framework/commit/3efbf0bb93fc11aa158872cd6ab98a22bcfb59e5), [`7500ec2c`](https://github.com/equinor/fusion-framework/commit/7500ec2c9ca9b926a19539fc97c61c67f76fc8d9), [`76b30c1e`](https://github.com/equinor/fusion-framework/commit/76b30c1e86db3db18adbe759bb1e39885de1c898), [`83ee5abf`](https://github.com/equinor/fusion-framework/commit/83ee5abf7bcab193c85980e5ae44895cd7f6f08d), [`7500ec2c`](https://github.com/equinor/fusion-framework/commit/7500ec2c9ca9b926a19539fc97c61c67f76fc8d9), [`060818eb`](https://github.com/equinor/fusion-framework/commit/060818eb04ebb9ed6deaed1f0b4530201b1181cf), [`3efbf0bb`](https://github.com/equinor/fusion-framework/commit/3efbf0bb93fc11aa158872cd6ab98a22bcfb59e5), [`a7858a1c`](https://github.com/equinor/fusion-framework/commit/a7858a1c01542e2dc94370709f122b4b99c3219c)]:
569
- - @equinor/fusion-framework-module@4.2.0
570
- - @equinor/fusion-framework-module-msal@3.0.3
609
+ - @equinor/fusion-framework-module@4.2.0
610
+ - @equinor/fusion-framework-module-msal@3.0.3
571
611
 
572
612
  All notable changes to this project will be documented in this file.
573
613
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.