@equinor/fusion-framework-module-http 6.2.1 → 6.2.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.
Files changed (45) hide show
  1. package/CHANGELOG.md +336 -310
  2. package/dist/esm/configurator.js.map +1 -1
  3. package/dist/esm/errors.js.map +1 -1
  4. package/dist/esm/lib/client/client-msal.js.map +1 -1
  5. package/dist/esm/lib/client/client.js.map +1 -1
  6. package/dist/esm/lib/operators/capitalize-request-method.operator.js +3 -1
  7. package/dist/esm/lib/operators/capitalize-request-method.operator.js.map +1 -1
  8. package/dist/esm/lib/operators/fetch-request.schema.js.map +1 -1
  9. package/dist/esm/lib/operators/http-request-handler.js.map +1 -1
  10. package/dist/esm/lib/operators/process-operators.js.map +1 -1
  11. package/dist/esm/lib/operators/request-operator-header.js.map +1 -1
  12. package/dist/esm/lib/operators/request-validation.operator.js.map +1 -1
  13. package/dist/esm/lib/selectors/blob-selector.js.map +1 -1
  14. package/dist/esm/lib/selectors/json-selector.js.map +1 -1
  15. package/dist/esm/module.js +1 -1
  16. package/dist/esm/module.js.map +1 -1
  17. package/dist/esm/provider.js +8 -3
  18. package/dist/esm/provider.js.map +1 -1
  19. package/dist/esm/version.js +1 -1
  20. package/dist/tsconfig.tsbuildinfo +1 -1
  21. package/dist/types/lib/operators/process-operators.d.ts +1 -1
  22. package/dist/types/module.d.ts +3 -3
  23. package/dist/types/provider.d.ts +10 -3
  24. package/dist/types/version.d.ts +1 -1
  25. package/package.json +3 -3
  26. package/src/configurator.ts +115 -116
  27. package/src/errors.ts +24 -24
  28. package/src/lib/client/client-msal.ts +34 -34
  29. package/src/lib/client/client.ts +298 -298
  30. package/src/lib/client/types.ts +147 -145
  31. package/src/lib/operators/capitalize-request-method.operator.ts +11 -9
  32. package/src/lib/operators/fetch-request.schema.ts +70 -73
  33. package/src/lib/operators/http-request-handler.ts +11 -11
  34. package/src/lib/operators/process-operators.ts +88 -88
  35. package/src/lib/operators/request-operator-header.ts +6 -6
  36. package/src/lib/operators/request-validation.operator.ts +32 -32
  37. package/src/lib/operators/types.ts +44 -44
  38. package/src/lib/selectors/blob-selector.ts +24 -24
  39. package/src/lib/selectors/json-selector.ts +25 -25
  40. package/src/module.ts +73 -69
  41. package/src/provider.ts +141 -139
  42. package/src/version.ts +1 -1
  43. package/tests/HttpClient.test.ts +37 -37
  44. package/tests/operators.test.ts +67 -67
  45. package/vitest.config.ts +6 -6
@@ -1,101 +1,101 @@
1
1
  /* eslint-disable @typescript-eslint/ban-ts-comment */
2
2
  import { describe, it, expect, vi } from 'vitest';
3
3
  import {
4
- capitalizeRequestMethodOperator,
5
- ProcessOperator,
6
- requestValidationOperator,
4
+ capitalizeRequestMethodOperator,
5
+ type ProcessOperator,
6
+ requestValidationOperator,
7
7
  } from '../src/lib/operators';
8
- import { FetchRequest } from '../src/lib';
8
+ import type { FetchRequest } from '../src/lib';
9
9
 
10
10
  const executeOperator = <R, O extends ProcessOperator<FetchRequest, R>>(
11
- operator: O,
12
- request: Parameters<O>[0],
11
+ operator: O,
12
+ request: Parameters<O>[0],
13
13
  ): Promise<ReturnType<O>> => {
14
- return new Promise((resolve, rejects) => {
15
- try {
16
- resolve(operator(request) as ReturnType<O>);
17
- } catch (error) {
18
- rejects(error);
19
- }
20
- });
14
+ return new Promise((resolve, rejects) => {
15
+ try {
16
+ resolve(operator(request) as ReturnType<O>);
17
+ } catch (error) {
18
+ rejects(error);
19
+ }
20
+ });
21
21
  };
22
22
 
23
23
  describe('capitalizeRequestMethodOperator', () => {
24
- it('should capitalize request method', async () => {
25
- const consoleWarn = vi.spyOn(console, 'warn').mockImplementationOnce((msg) => {
26
- expect(msg).toMatch(/RFC 7231/);
27
- });
24
+ it('should capitalize request method', async () => {
25
+ const consoleWarn = vi.spyOn(console, 'warn').mockImplementationOnce((msg) => {
26
+ expect(msg).toMatch(/RFC 7231/);
27
+ });
28
28
 
29
- const operator = capitalizeRequestMethodOperator();
29
+ const operator = capitalizeRequestMethodOperator();
30
30
 
31
- const result = executeOperator(operator, { method: 'get' });
31
+ const result = executeOperator(operator, { method: 'get' });
32
32
 
33
- expect(result).resolves.toMatchObject({ method: 'GET' });
34
- expect(consoleWarn).toHaveBeenCalled();
35
- });
33
+ expect(result).resolves.toMatchObject({ method: 'GET' });
34
+ expect(consoleWarn).toHaveBeenCalled();
35
+ });
36
36
  });
37
37
 
38
38
  describe('requestValidationOperator', () => {
39
- /**
40
- * A mock FetchRequest object used for testing purposes.
41
- */
42
- const mockRequest: FetchRequest = Object.freeze({
43
- method: 'GET',
44
- uri: 'https://foo.bar',
45
- path: 'api',
46
- });
39
+ /**
40
+ * A mock FetchRequest object used for testing purposes.
41
+ */
42
+ const mockRequest: FetchRequest = Object.freeze({
43
+ method: 'GET',
44
+ uri: 'https://foo.bar',
45
+ path: 'api',
46
+ });
47
47
 
48
- it('should pass validation for valid request parameters', async () => {
49
- const operator = requestValidationOperator();
48
+ it('should pass validation for valid request parameters', async () => {
49
+ const operator = requestValidationOperator();
50
50
 
51
- const result = executeOperator(operator, mockRequest);
51
+ const result = executeOperator(operator, mockRequest);
52
52
 
53
- expect(result).resolves.toBeUndefined();
54
- });
55
-
56
- it('should parse valid request parameters', async () => {
57
- const operator = requestValidationOperator({ parse: true });
53
+ expect(result).resolves.toBeUndefined();
54
+ });
58
55
 
59
- const result = executeOperator(operator, mockRequest);
56
+ it('should parse valid request parameters', async () => {
57
+ const operator = requestValidationOperator({ parse: true });
60
58
 
61
- expect(result).resolves.toStrictEqual(mockRequest);
62
- });
59
+ const result = executeOperator(operator, mockRequest);
63
60
 
64
- it('should allow additional properties when strict validation is disabled', async () => {
65
- const operator = requestValidationOperator({ parse: true });
61
+ expect(result).resolves.toStrictEqual(mockRequest);
62
+ });
66
63
 
67
- const result = executeOperator(operator, {
68
- ...mockRequest,
69
- // @ts-expect-error
70
- additionalProperty: 'some-value',
71
- });
64
+ it('should allow additional properties when strict validation is disabled', async () => {
65
+ const operator = requestValidationOperator({ parse: true });
72
66
 
73
- expect(result).resolves.toMatchObject(mockRequest);
74
- expect(result).resolves.toHaveProperty('additionalProperty', 'some-value');
67
+ const result = executeOperator(operator, {
68
+ ...mockRequest,
69
+ // @ts-expect-error
70
+ additionalProperty: 'some-value',
75
71
  });
76
72
 
77
- it('should remove additional properties when strict validation is enabled', async () => {
78
- const operator = requestValidationOperator({ parse: true, strict: true });
73
+ expect(result).resolves.toMatchObject(mockRequest);
74
+ expect(result).resolves.toHaveProperty('additionalProperty', 'some-value');
75
+ });
79
76
 
80
- const result = executeOperator(operator, {
81
- ...mockRequest,
82
- // @ts-expect-error
83
- additionalProperty: 'some-value',
84
- method: 'GET',
85
- });
77
+ it('should remove additional properties when strict validation is enabled', async () => {
78
+ const operator = requestValidationOperator({ parse: true, strict: true });
86
79
 
87
- expect(result).resolves.toStrictEqual(mockRequest);
88
- expect(result).resolves.not.toHaveProperty('additionalProperty');
80
+ const result = executeOperator(operator, {
81
+ ...mockRequest,
82
+ // @ts-expect-error
83
+ additionalProperty: 'some-value',
84
+ method: 'GET',
89
85
  });
90
86
 
91
- it('should throw an error for invalid request parameters', async () => {
92
- const operator = requestValidationOperator({ parse: true });
87
+ expect(result).resolves.toStrictEqual(mockRequest);
88
+ expect(result).resolves.not.toHaveProperty('additionalProperty');
89
+ });
93
90
 
94
- const result = executeOperator(operator, {
95
- ...mockRequest,
96
- method: 'GETS', // invalid method
97
- });
91
+ it('should throw an error for invalid request parameters', async () => {
92
+ const operator = requestValidationOperator({ parse: true });
98
93
 
99
- expect(result).rejects.toThrowError('RFC 2615');
94
+ const result = executeOperator(operator, {
95
+ ...mockRequest,
96
+ method: 'GETS', // invalid method
100
97
  });
98
+
99
+ expect(result).rejects.toThrowError('RFC 2615');
100
+ });
101
101
  });
package/vitest.config.ts CHANGED
@@ -3,10 +3,10 @@ import { defineProject } from 'vitest/config';
3
3
  import { name, version } from './package.json';
4
4
 
5
5
  export default defineProject({
6
- test: {
7
- // TODO remove after __tests__ are deleted!
8
- include: ['tests/**'],
9
- name: `${name}@${version}`,
10
- environment: 'happy-dom',
11
- },
6
+ test: {
7
+ // TODO remove after __tests__ are deleted!
8
+ include: ['tests/**'],
9
+ name: `${name}@${version}`,
10
+ environment: 'happy-dom',
11
+ },
12
12
  });