@equinor/fusion-framework-module-http 6.2.4 → 6.3.0

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 (47) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +182 -17
  3. package/dist/esm/configurator.js +15 -10
  4. package/dist/esm/configurator.js.map +1 -1
  5. package/dist/esm/errors.js +27 -3
  6. package/dist/esm/errors.js.map +1 -1
  7. package/dist/esm/lib/client/client-msal.js +6 -9
  8. package/dist/esm/lib/client/client-msal.js.map +1 -1
  9. package/dist/esm/lib/client/client.js +82 -43
  10. package/dist/esm/lib/client/client.js.map +1 -1
  11. package/dist/esm/lib/operators/capitalize-request-method.operator.js +2 -3
  12. package/dist/esm/lib/operators/capitalize-request-method.operator.js.map +1 -1
  13. package/dist/esm/lib/operators/fetch-request.schema.js +1 -1
  14. package/dist/esm/lib/operators/fetch-request.schema.js.map +1 -1
  15. package/dist/esm/lib/operators/process-operators.js +9 -3
  16. package/dist/esm/lib/operators/process-operators.js.map +1 -1
  17. package/dist/esm/lib/operators/request-operator-header.js +1 -1
  18. package/dist/esm/lib/operators/request-operator-header.js.map +1 -1
  19. package/dist/esm/lib/operators/request-validation.operator.js +1 -1
  20. package/dist/esm/lib/operators/request-validation.operator.js.map +1 -1
  21. package/dist/esm/lib/operators/sse.operator.js +33 -0
  22. package/dist/esm/lib/operators/sse.operator.js.map +1 -0
  23. package/dist/esm/lib/selectors/blob-selector.js +9 -15
  24. package/dist/esm/lib/selectors/blob-selector.js.map +1 -1
  25. package/dist/esm/lib/selectors/json-selector.js +3 -12
  26. package/dist/esm/lib/selectors/json-selector.js.map +1 -1
  27. package/dist/esm/lib/selectors/sse-selector.js +164 -0
  28. package/dist/esm/lib/selectors/sse-selector.js.map +1 -0
  29. package/dist/esm/module.js +7 -16
  30. package/dist/esm/module.js.map +1 -1
  31. package/dist/esm/provider.js +2 -1
  32. package/dist/esm/provider.js.map +1 -1
  33. package/dist/esm/version.js +1 -1
  34. package/dist/tsconfig.tsbuildinfo +1 -1
  35. package/dist/types/errors.d.ts +21 -0
  36. package/dist/types/lib/client/client.d.ts +24 -0
  37. package/dist/types/lib/operators/fetch-request.schema.d.ts +7 -7
  38. package/dist/types/lib/operators/sse.operator.d.ts +32 -0
  39. package/dist/types/lib/selectors/sse-selector.d.ts +63 -0
  40. package/dist/types/version.d.ts +1 -1
  41. package/package.json +4 -20
  42. package/src/errors.ts +27 -0
  43. package/src/lib/client/client.ts +52 -0
  44. package/src/lib/operators/sse.operator.ts +44 -0
  45. package/src/lib/selectors/sse-selector.ts +262 -0
  46. package/src/version.ts +1 -1
  47. package/tests/sse.selector.test.ts +150 -0
@@ -5,7 +5,7 @@ import { z } from 'zod';
5
5
  * @link https://www.rfc-editor.org/rfc/rfc7231#section-4.1
6
6
  */
7
7
  export const requestMethodCasing = () => {
8
- return z.custom((value) => value === (value === null || value === void 0 ? void 0 : value.toUpperCase()), (value) => ({
8
+ return z.custom((value) => value === value?.toUpperCase(), (value) => ({
9
9
  code: z.ZodIssueCode.custom,
10
10
  validation: 'uppercase',
11
11
  path: ['method'],
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-request.schema.js","sourceRoot":"","sources":["../../../../src/lib/operators/fetch-request.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch-request.schema.js","sourceRoot":"","sources":["../../../../src/lib/operators/fetch-request.schema.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,12 @@ import { last, mergeScan } from 'rxjs/operators';
8
8
  * @template T The type of data that the process operators work with
9
9
  */
10
10
  export class ProcessOperators {
11
+ /**
12
+ * A record of process operators keyed by a string.
13
+ * This property is used to store and manage the collection of process operators
14
+ * that are used by the `ProcessOperators` class.
15
+ */
16
+ _operators;
11
17
  /**
12
18
  * Accessor for the collection of process operators.
13
19
  * @returns The record of process operators.
@@ -22,10 +28,10 @@ export class ProcessOperators {
22
28
  */
23
29
  constructor(operators) {
24
30
  if (operators && 'operators' in operators) {
25
- this._operators = Object.assign({}, operators.operators);
31
+ this._operators = { ...operators.operators };
26
32
  }
27
33
  else {
28
- this._operators = operators !== null && operators !== void 0 ? operators : {};
34
+ this._operators = operators ?? {};
29
35
  }
30
36
  }
31
37
  /**
@@ -81,7 +87,7 @@ export class ProcessOperators {
81
87
  }
82
88
  return from(Object.values(this._operators)).pipe(mergeScan(
83
89
  // resolve current operator and return result or previous if void
84
- (value, operator) => Promise.resolve(operator(value)).then((x) => x !== null && x !== void 0 ? x : value),
90
+ (value, operator) => Promise.resolve(operator(value)).then((x) => x ?? value),
85
91
  // initial value
86
92
  request,
87
93
  // only allow concurrency of one operator
@@ -1 +1 @@
1
- {"version":3,"file":"process-operators.js","sourceRoot":"","sources":["../../../../src/lib/operators/process-operators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAEhC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGjD;;;;;;GAMG;AACH,MAAM,OAAO,gBAAgB;IAQ3B;;;OAGG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,YAAY,SAAqE;QAC/E,IAAI,SAAS,IAAI,WAAW,IAAI,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC,UAAU,qBAAQ,SAAS,CAAC,SAAS,CAAE,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,GAAG,CAAC,GAAW,EAAE,QAA4B;QAC3C,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YAC5C,MAAM,KAAK,CAAC,aAAa,GAAG,mBAAmB,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,GAAW,EAAE,QAA4B;QAC3C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,GAAW;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,OAAU;QAChB,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,mEAAmE;QACnE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACtB,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAC9C,SAAS;QACP,iEAAiE;QACjE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,KAAK,CAAC;QAC7E,gBAAgB;QAChB,OAAO;QACP,yCAAyC;QACzC,CAAC,CACF;QACD,iCAAiC;QACjC,IAAI,EAAE,CACP,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"process-operators.js","sourceRoot":"","sources":["../../../../src/lib/operators/process-operators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAEhC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGjD;;;;;;GAMG;AACH,MAAM,OAAO,gBAAgB;IAC3B;;;;OAIG;IACO,UAAU,CAAqC;IAEzD;;;OAGG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,YAAY,SAAqE;QAC/E,IAAI,SAAS,IAAI,WAAW,IAAI,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC,UAAU,GAAG,EAAE,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,GAAG,SAAS,IAAI,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,GAAG,CAAC,GAAW,EAAE,QAA4B;QAC3C,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YAC5C,MAAM,KAAK,CAAC,aAAa,GAAG,mBAAmB,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,GAAW,EAAE,QAA4B;QAC3C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,GAAW;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,OAAU;QAChB,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,mEAAmE;QACnE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACtB,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAC9C,SAAS;QACP,iEAAiE;QACjE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC;QAC7E,gBAAgB;QAChB,OAAO;QACP,yCAAyC;QACzC,CAAC,CACF;QACD,iCAAiC;QACjC,IAAI,EAAE,CACP,CAAC;IACJ,CAAC;CACF"}
@@ -8,7 +8,7 @@
8
8
  export const requestOperatorHeader = (key, value) => (request) => {
9
9
  const headers = new Headers(request.headers);
10
10
  headers.append(key, value);
11
- return Object.assign(Object.assign({}, request), { headers });
11
+ return { ...request, headers };
12
12
  };
13
13
  export default requestOperatorHeader;
14
14
  //# sourceMappingURL=request-operator-header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"request-operator-header.js","sourceRoot":"","sources":["../../../../src/lib/operators/request-operator-header.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAChC,CAAwC,GAAW,EAAE,KAAa,EAAsB,EAAE,CAC1F,CAAC,OAAO,EAAE,EAAE;IACV,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC3B,uCAAY,OAAO,KAAE,OAAO,IAAG;AACjC,CAAC,CAAC;AAEJ,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"request-operator-header.js","sourceRoot":"","sources":["../../../../src/lib/operators/request-operator-header.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAChC,CAAwC,GAAW,EAAE,KAAa,EAAsB,EAAE,CAC1F,CAAC,OAAO,EAAE,EAAE;IACV,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC3B,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC;AACjC,CAAC,CAAC;AAEJ,eAAe,qBAAqB,CAAC"}
@@ -13,7 +13,7 @@ import { fetchRequestSchema } from './fetch-request.schema';
13
13
  * @throws Will log an error message if the request validation fails.
14
14
  */
15
15
  export const requestValidationOperator = (options) => (request) => {
16
- const { strict, parse } = options !== null && options !== void 0 ? options : {};
16
+ const { strict, parse } = options ?? {};
17
17
  const schema = strict ? fetchRequestSchema : fetchRequestSchema.passthrough();
18
18
  try {
19
19
  const result = schema.parse(request);
@@ -1 +1 @@
1
- {"version":3,"file":"request-validation.operator.js","sourceRoot":"","sources":["../../../../src/lib/operators/request-validation.operator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,yBAAyB,GACpC,CAAyB,OAiBxB,EAAsB,EAAE,CACzB,CAAC,OAAO,EAAE,EAAE;IACV,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;IAC9E,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAM,CAAC;QAC1C,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAG,KAAoB,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"request-validation.operator.js","sourceRoot":"","sources":["../../../../src/lib/operators/request-validation.operator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,yBAAyB,GACpC,CAAyB,OAiBxB,EAAsB,EAAE,CACzB,CAAC,OAAO,EAAE,EAAE;IACV,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;IAC9E,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAM,CAAC;QAC1C,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAG,KAAoB,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { switchMap } from 'rxjs/operators';
2
+ import { createSseSelector, } from '../selectors/sse-selector';
3
+ /**
4
+ * An operator function for handling Server-Sent Events (SSE) in an RxJS pipeline.
5
+ *
6
+ * @template R - The type of the parsed data from the SSE.
7
+ * @template T - The type of the input `Response` object, defaults to `Response`.
8
+ *
9
+ * @param options - Configuration options for the SSE selector.
10
+ *
11
+ * @returns An `OperatorFunction` that transforms a stream of `Response` objects
12
+ * into a stream of `ServerSentEvent` objects containing parsed data of type `R`.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * import { sseMap } from '@equinor/fusion-framework-module-http/operators';
17
+ * import { fromFetch } from 'rxjs/fetch';
18
+ *
19
+ * const response$ = fromFetch('https://example.com/sse', {
20
+ * method: 'GET',
21
+ * headers: {
22
+ * 'Accept': 'text/event-stream',
23
+ * },
24
+ * }).pipe(
25
+ * sseMap( { /* SSE selector options *\/ })
26
+ * ).subscribe((event) => {
27
+ * console.log(event.data); // Process the parsed SSE data
28
+ * });
29
+ * ```
30
+ */
31
+ export const sseMap = (options) => (source) => source.pipe(switchMap(createSseSelector(options)));
32
+ export default sseMap;
33
+ //# sourceMappingURL=sse.operator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sse.operator.js","sourceRoot":"","sources":["../../../../src/lib/operators/sse.operator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EACL,iBAAiB,GAGlB,MAAM,2BAA2B,CAAC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,MAAM,MAAM,GACjB,CACE,OAA+B,EACU,EAAE,CAC7C,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAO,OAAO,CAAC,CAAC,CAAC,CAAC;AAE7D,eAAe,MAAM,CAAC"}
@@ -1,12 +1,3 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  /**
11
2
  * Extracts a blob and filename from a successful HTTP response.
12
3
  *
@@ -14,8 +5,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
14
5
  * @returns A promise that resolves to an object containing the extracted blob and filename.
15
6
  * @throws {Error} If the response is not successful or if there is an error parsing the response.
16
7
  */
17
- export const blobSelector = (response) => __awaiter(void 0, void 0, void 0, function* () {
18
- var _a, _b, _c;
8
+ export const blobSelector = async (response) => {
19
9
  if (!response.ok) {
20
10
  // Throw an error if the network response is not successful
21
11
  throw new Error('network response was not OK');
@@ -25,17 +15,21 @@ export const blobSelector = (response) => __awaiter(void 0, void 0, void 0, func
25
15
  throw new Error('no content');
26
16
  }
27
17
  // Extract the filename from the 'content-disposition' header
28
- const filename = (_c = (_b = (_a = response.headers
29
- .get('content-disposition')) === null || _a === void 0 ? void 0 : _a.split(';').find((n) => n.includes('filename='))) === null || _b === void 0 ? void 0 : _b.replace('filename=', '')) === null || _c === void 0 ? void 0 : _c.trim();
18
+ const filename = response.headers
19
+ .get('content-disposition')
20
+ ?.split(';')
21
+ .find((n) => n.includes('filename='))
22
+ ?.replace('filename=', '')
23
+ ?.trim();
30
24
  try {
31
25
  // Convert the response to a Blob and return the filename and Blob
32
- const blob = yield response.blob();
26
+ const blob = await response.blob();
33
27
  return { filename, blob };
34
28
  }
35
29
  catch (err) {
36
30
  // Throw an error if there's a problem parsing the response
37
31
  throw Error('failed to parse response');
38
32
  }
39
- });
33
+ };
40
34
  export default blobSelector;
41
35
  //# sourceMappingURL=blob-selector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"blob-selector.js","sourceRoot":"","sources":["../../../../src/lib/selectors/blob-selector.ts"],"names":[],"mappings":";;;;;;;;;AAEA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAqB,CAC5C,QAAmB,EACE,EAAE;;IACvB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,2DAA2D;QAC3D,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,0DAA0D;IAC1D,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IAED,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,MAAA,MAAA,MAAA,QAAQ,CAAC,OAAO;SAC9B,GAAG,CAAC,qBAAqB,CAAC,0CACzB,KAAK,CAAC,GAAG,EACV,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,0CACnC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,0CACxB,IAAI,EAAE,CAAC;IAEX,IAAI,CAAC;QACH,kEAAkE;QAClE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,2DAA2D;QAC3D,MAAM,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC,CAAA,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"blob-selector.js","sourceRoot":"","sources":["../../../../src/lib/selectors/blob-selector.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAqB,KAAK,EACjD,QAAmB,EACE,EAAE;IACvB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,2DAA2D;QAC3D,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,0DAA0D;IAC1D,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IAED,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO;SAC9B,GAAG,CAAC,qBAAqB,CAAC;QAC3B,EAAE,KAAK,CAAC,GAAG,CAAC;SACX,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACrC,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QAC1B,EAAE,IAAI,EAAE,CAAC;IAEX,IAAI,CAAC;QACH,kEAAkE;QAClE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,2DAA2D;QAC3D,MAAM,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1,12 +1,3 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import { HttpJsonResponseError } from '../../errors';
11
2
  /**
12
3
  * Asynchronously parses the JSON data from a given HTTP response.
@@ -22,14 +13,14 @@ import { HttpJsonResponseError } from '../../errors';
22
13
  * @param response - The HTTP response to parse.
23
14
  * @returns A promise that resolves with the parsed JSON data, or rejects with an `HttpJsonResponseError`.
24
15
  */
25
- export const jsonSelector = (response) => __awaiter(void 0, void 0, void 0, function* () {
16
+ export const jsonSelector = async (response) => {
26
17
  /** Status code 204 indicates no content in the response */
27
18
  if (response.status === 204) {
28
19
  return Promise.resolve();
29
20
  }
30
21
  try {
31
22
  // Parse the response JSON data
32
- const data = yield response.json();
23
+ const data = await response.json();
33
24
  // Check if the response was successful
34
25
  if (!response.ok) {
35
26
  // Throw an error with the response details
@@ -46,6 +37,6 @@ export const jsonSelector = (response) => __awaiter(void 0, void 0, void 0, func
46
37
  // Otherwise, throw a new HttpJsonResponseError with the parsing error
47
38
  throw new HttpJsonResponseError('failed to parse response', response, { cause });
48
39
  }
49
- });
40
+ };
50
41
  export default jsonSelector;
51
42
  //# sourceMappingURL=json-selector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-selector.js","sourceRoot":"","sources":["../../../../src/lib/selectors/json-selector.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,YAAY,GAAqB,CAI5C,QAAmB,EACH,EAAE;IAClB,2DAA2D;IAC3D,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC,OAAO,EAAoB,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC;QACH,+BAA+B;QAC/B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEnC,uCAAuC;QACvC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,2CAA2C;YAC3C,MAAM,IAAI,qBAAqB,CAAC,6BAA6B,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACrF,CAAC;QAED,yBAAyB;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,uDAAuD;QACvD,IAAI,KAAK,YAAY,qBAAqB,EAAE,CAAC;YAC3C,MAAM,KAAK,CAAC;QACd,CAAC;QAED,sEAAsE;QACtE,MAAM,IAAI,qBAAqB,CAAC,0BAA0B,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACnF,CAAC;AACH,CAAC,CAAA,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"json-selector.js","sourceRoot":"","sources":["../../../../src/lib/selectors/json-selector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,YAAY,GAAqB,KAAK,EAIjD,QAAmB,EACH,EAAE;IAClB,2DAA2D;IAC3D,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC,OAAO,EAAoB,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC;QACH,+BAA+B;QAC/B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEnC,uCAAuC;QACvC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,2CAA2C;YAC3C,MAAM,IAAI,qBAAqB,CAAC,6BAA6B,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACrF,CAAC;QAED,yBAAyB;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,uDAAuD;QACvD,IAAI,KAAK,YAAY,qBAAqB,EAAE,CAAC;YAC3C,MAAM,KAAK,CAAC;QACd,CAAC;QAED,sEAAsE;QACtE,MAAM,IAAI,qBAAqB,CAAC,0BAA0B,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACnF,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,164 @@
1
+ import { EMPTY, from, fromEvent } from 'rxjs';
2
+ import { finalize, takeUntil } from 'rxjs/operators';
3
+ import { ServerSentEventResponseError } from '../../errors.js';
4
+ const defaultDataParser = (data) => {
5
+ try {
6
+ return JSON.parse(data);
7
+ }
8
+ catch {
9
+ return data;
10
+ }
11
+ };
12
+ /**
13
+ * Parses a string containing Server-Sent Events (SSE) data into individual event objects.
14
+ *
15
+ * @template TData - The type of the parsed `data` field in the event.
16
+ * @param text - The raw SSE data as a string, where events are separated by double newlines.
17
+ * @param options - Optional configuration for parsing the events.
18
+ * @param options.dataParser - A custom parser function for the `data` field. Defaults to JSON parsing,
19
+ * falling back to returning the raw string if parsing fails.
20
+ *
21
+ * @returns A generator that yields `ServerSentEvent` objects parsed from the input string.
22
+ *
23
+ * @remarks
24
+ * - Empty lines and events with no fields are ignored.
25
+ * - If the `data` field cannot be parsed as JSON, it is returned as a plain string.
26
+ * - Fields other than `data` are stored as strings in the resulting `ServerSentEvent` object.
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * const sseData = `
31
+ * id: 1
32
+ * event: message
33
+ * data: {"key":"value"}
34
+ *
35
+ * id: 2
36
+ * event: update
37
+ * data: plain text
38
+ * `;
39
+ *
40
+ * for (const event of parseEvents(sseData)) {
41
+ * console.log(event);
42
+ * }
43
+ * // Output:
44
+ * // { id: "1", event: "message", data: { key: "value" } }
45
+ * // { id: "2", event: "update", data: "plain text" }
46
+ * ```
47
+ */
48
+ function* parseEvents(text, options) {
49
+ // Split the input string into individual event strings using double newline as separator
50
+ const eventStrings = text.split('\n\n');
51
+ const dataParser = options?.dataParser || defaultDataParser;
52
+ // Iterate through each event string
53
+ for (const eventStr of eventStrings) {
54
+ // Skip empty event strings (after trimming whitespace)
55
+ if (!eventStr.trim())
56
+ continue;
57
+ // Split the event string into lines (fields) using single newline
58
+ const lines = eventStr.split('\n');
59
+ // Use reduce to process each line in the event string
60
+ const event = lines.reduce((event, line) => {
61
+ // Skip empty lines
62
+ if (!line)
63
+ return event;
64
+ // Find the index of the first colon, which separates field name and value
65
+ const colonIndex = line.indexOf(':');
66
+ // Skip lines without a colon (invalid format)
67
+ if (colonIndex === -1)
68
+ return event;
69
+ // Extract the field name (before colon) and trim whitespace
70
+ const field = line.slice(0, colonIndex).trim();
71
+ // Extract the field value (after colon) and trim whitespace
72
+ const value = line.slice(colonIndex + 1).trim();
73
+ // Handle the 'data' field specially, attempting JSON parsing
74
+ if (field === 'data') {
75
+ event.data = dataParser(value);
76
+ }
77
+ else {
78
+ // For non-data fields, assign the value as a string to the event object
79
+ event[field] = value;
80
+ }
81
+ return event;
82
+ }, {});
83
+ // Only emit the event to the results if it has at least one field
84
+ if (Object.keys(event).length) {
85
+ yield event;
86
+ }
87
+ }
88
+ }
89
+ async function* readStream(reader, options) {
90
+ const skipHeartbeats = !!options?.skipHeartbeats;
91
+ const eventFilter = options?.eventFilter
92
+ ? Array.isArray(options.eventFilter)
93
+ ? options.eventFilter
94
+ : [options.eventFilter]
95
+ : null;
96
+ const decoder = new TextDecoder();
97
+ while (true) {
98
+ const { done, value } = await reader.read();
99
+ if (done) {
100
+ break;
101
+ }
102
+ const text = decoder.decode(value, { stream: true });
103
+ const events = parseEvents(text, { dataParser: options?.dataParser });
104
+ for (const event of events) {
105
+ if (event.retry) {
106
+ await new Promise((resolve) => setTimeout(resolve, Number.parseInt(event.retry ?? '300', 10)));
107
+ continue;
108
+ }
109
+ if (skipHeartbeats) {
110
+ // Skip comment-based heartbeats (no event, data, or id)
111
+ if (!event.event && !event.data && !event.id) {
112
+ continue;
113
+ }
114
+ // Skip named heartbeat events (e.g., event: heartbeat or event: ping)
115
+ if (event.event && ['heartbeat', 'ping'].includes(event.event)) {
116
+ continue;
117
+ }
118
+ }
119
+ if (!eventFilter || (event.event && eventFilter.includes(event.event))) {
120
+ yield event;
121
+ }
122
+ }
123
+ }
124
+ }
125
+ /**
126
+ * Transforms an SSE response into an Observable stream of parsed events.
127
+ * @param response - The HTTP response with Content-Type: text/event-stream.
128
+ * @param options - Optional configuration for event filtering and heartbeat handling.
129
+ * @param options.eventFilter - Filter events by type (single string or array).
130
+ * @param options.skipHeartbeats - Skip empty/heartbeat events if true.
131
+ * @param options.dataParser - Custom parser for the data field.
132
+ * @param options.abortSignal - Abort signal to cancel the stream.
133
+ * @returns An Observable emitting parsed ServerSentEvent objects.
134
+ * @throws ServerSentEventResponseError if response is invalid or stream fails.
135
+ */
136
+ export const createSseSelector = (options) => {
137
+ return (response) => {
138
+ if (!response.ok) {
139
+ throw new ServerSentEventResponseError(`HTTP error! Status: ${response.status}`, response);
140
+ }
141
+ if (!response.body) {
142
+ throw new ServerSentEventResponseError('Response body is not readable', response);
143
+ }
144
+ if (!response.headers.get('Content-Type')?.includes('text/event-stream')) {
145
+ throw new ServerSentEventResponseError('Response is not a text/event-stream', response);
146
+ }
147
+ const reader = response.body.getReader();
148
+ return from(readStream(reader, {
149
+ dataParser: options?.dataParser,
150
+ skipHeartbeats: options?.skipHeartbeats,
151
+ eventFilter: options?.eventFilter,
152
+ })).pipe(
153
+ // Stop reading if the abort signal is triggered
154
+ takeUntil(options?.abortSignal ? fromEvent(options.abortSignal, 'abort') : EMPTY), finalize(async () => {
155
+ // cancel just in case of a pre-mature exit
156
+ await reader.cancel().catch(() => {
157
+ /** ignore cancellation errors */
158
+ });
159
+ reader.releaseLock();
160
+ }));
161
+ };
162
+ };
163
+ export default createSseSelector;
164
+ //# sourceMappingURL=sse-selector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sse-selector.js","sourceRoot":"","sources":["../../../../src/lib/selectors/sse-selector.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,3 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
11
2
  import { HttpClientMsal } from './lib/client';
12
3
  import { HttpClientConfigurator, } from './configurator';
@@ -38,27 +29,27 @@ export const module = {
38
29
  * @param requireInstance - A function to get an instance of a module.
39
30
  * @returns A promise that resolves to the HTTP client provider.
40
31
  */
41
- initialize: (_a) => __awaiter(void 0, [_a], void 0, function* ({ config, hasModule, requireInstance, }) {
32
+ initialize: async ({ config, hasModule, requireInstance, }) => {
42
33
  const httpProvider = new HttpClientProvider(config);
43
34
  if (hasModule('auth')) {
44
- const authProvider = yield requireInstance('auth');
45
- httpProvider.defaultHttpRequestHandler.set('MSAL', (request) => __awaiter(void 0, void 0, void 0, function* () {
35
+ const authProvider = await requireInstance('auth');
36
+ httpProvider.defaultHttpRequestHandler.set('MSAL', async (request) => {
46
37
  const { scopes = [] } = request;
47
38
  if (scopes.length) {
48
39
  /** TODO should be try catch, check caller for handling */
49
- const token = yield authProvider.acquireToken({
40
+ const token = await authProvider.acquireToken({
50
41
  scopes,
51
42
  });
52
43
  if (token) {
53
44
  const headers = new Headers(request.headers);
54
45
  headers.set('Authorization', `Bearer ${token.accessToken}`);
55
- return Object.assign(Object.assign({}, request), { headers });
46
+ return { ...request, headers };
56
47
  }
57
48
  }
58
- }));
49
+ });
59
50
  }
60
51
  return httpProvider;
61
- }),
52
+ },
62
53
  };
63
54
  /**
64
55
  * Configures the HTTP module with MSAL authentication.
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,uDAAuD;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAEL,sBAAsB,GAEvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAA4B,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAkC1E;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAmB;IACpC,IAAI,EAAE,MAAM;IACZ;;;;;;;;OAQG;IACH,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,sBAAsB,CAAC,cAAc,CAAC;IAE3D;;;;;;;;;;;OAWG;IACH,UAAU,EAAE,KAIoC,EAAE,4CAJ/B,EACjB,MAAM,EACN,SAAS,EACT,eAAe,GAChB;QACC,MAAM,YAAY,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;YACnD,YAAY,CAAC,yBAAyB,CAAC,GAAG,CAAC,MAAM,EAAE,CAAO,OAAO,EAAE,EAAE;gBACnE,MAAM,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;gBAChC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClB,0DAA0D;oBAC1D,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC;wBAC5C,MAAM;qBACP,CAAC,CAAC;oBACH,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBAC7C,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;wBAC5D,uCAAY,OAAO,KAAE,OAAO,IAAG;oBACjC,CAAC;gBACH,CAAC;YACH,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC,CAAA;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,SAAyE,EAC9B,EAAE,CAAC,CAAC;IAC/C,MAAM;IACN,SAAS;CACV,CAAC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,IAAY,EACZ,IAAuC,EACI,EAAE,CAAC,CAAC;IAC/C,MAAM;IACN,SAAS,EAAE,CAAC,MAAwC,EAAE,EAAE;QACtD,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;CACF,CAAC,CAAC;AAWH,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/module.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAEL,sBAAsB,GAEvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAA4B,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAkC1E;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAmB;IACpC,IAAI,EAAE,MAAM;IACZ;;;;;;;;OAQG;IACH,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,sBAAsB,CAAC,cAAc,CAAC;IAE3D;;;;;;;;;;;OAWG;IACH,UAAU,EAAE,KAAK,EAAE,EACjB,MAAM,EACN,SAAS,EACT,eAAe,GAChB,EAA+C,EAAE;QAChD,MAAM,YAAY,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;YACnD,YAAY,CAAC,yBAAyB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBACnE,MAAM,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;gBAChC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClB,0DAA0D;oBAC1D,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC;wBAC5C,MAAM;qBACP,CAAC,CAAC;oBACH,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBAC7C,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;wBAC5D,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC;oBACjC,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,SAAyE,EAC9B,EAAE,CAAC,CAAC;IAC/C,MAAM;IACN,SAAS;CACV,CAAC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,IAAY,EACZ,IAAuC,EACI,EAAE,CAAC,CAAC;IAC/C,MAAM;IACN,SAAS,EAAE,CAAC,MAAwC,EAAE,EAAE;QACtD,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;CACF,CAAC,CAAC;AAWH,eAAe,MAAM,CAAC"}
@@ -27,6 +27,7 @@ const isURL = (url) => {
27
27
  * It provides methods to check if a client is configured, create new client instances, and create custom client instances.
28
28
  */
29
29
  export class HttpClientProvider {
30
+ config;
30
31
  /**
31
32
  * Gets the default HTTP request handler for the HTTP client provider.
32
33
  * @returns The default HTTP request handler.
@@ -71,7 +72,7 @@ export class HttpClientProvider {
71
72
  const options = { requestHandler };
72
73
  const instance = new ctor(baseUri || '', options);
73
74
  Object.assign(instance, { defaultScopes });
74
- onCreate === null || onCreate === void 0 ? void 0 : onCreate(instance);
75
+ onCreate?.(instance);
75
76
  return instance;
76
77
  }
77
78
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AAUA;;;;;;;GAOG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;CAAG;AAoCrD;;;;GAIG;AACH,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,EAAE;IAC5B,MAAM,OAAO,GAAG,IAAI,MAAM,CACxB,mBAAmB,GAAG,WAAW;QAC/B,mDAAmD,GAAG,cAAc;QACpE,6BAA6B,GAAG,qBAAqB;QACrD,iCAAiC,GAAG,gBAAgB;QACpD,0BAA0B,GAAG,eAAe;QAC5C,oBAAoB,EACtB,GAAG,CACJ,CAAC,CAAC,mBAAmB;IACtB,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IAG7B;;;OAGG;IACH,IAAI,yBAAyB;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC;IAC/C,CAAC;IAED,YAAsB,MAAwC;QAAxC,WAAM,GAAN,MAAM,CAAkC;IAAG,CAAC;IAElE;;;;OAIG;IACI,SAAS,CAAC,GAAW;QAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACI,YAAY,CAAC,WAAgD;QAClE,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,EACJ,OAAO,EACP,aAAa,GAAG,EAAE,EAClB,QAAQ,EACR,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,EACxC,cAAc,GAAG,IAAI,CAAC,yBAAyB,GAChD,GAAG,MAAoC,CAAC;QACzC,MAAM,OAAO,GAAG,EAAE,cAAc,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,OAAO,CAAY,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;QAC3C,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,QAAmB,CAAC,CAAC;QAChC,OAAO,QAAmB,CAAC;IAC7B,CAAC;IAED;;;;;;;;;;;OAWG;IACI,kBAAkB,CAAuB,GAAW;QACzD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAiB,CAAC;IAChD,CAAC;IAED;;;;;;;;OAQG;IACO,cAAc,CACtB,WAAgD;QAEhD,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;gBAClC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;YAClC,CAAC;iBAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,IAAI,uBAAuB,CAAC,sCAAsC,WAAW,GAAG,CAAC,CAAC;YAC1F,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,WAAyC,CAAC;IACnD,CAAC;CACF"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AAUA;;;;;;;GAOG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;CAAG;AAoCrD;;;;GAIG;AACH,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,EAAE;IAC5B,MAAM,OAAO,GAAG,IAAI,MAAM,CACxB,mBAAmB,GAAG,WAAW;QAC/B,mDAAmD,GAAG,cAAc;QACpE,6BAA6B,GAAG,qBAAqB;QACrD,iCAAiC,GAAG,gBAAgB;QACpD,0BAA0B,GAAG,eAAe;QAC5C,oBAAoB,EACtB,GAAG,CACJ,CAAC,CAAC,mBAAmB;IACtB,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IAWP;IARtB;;;OAGG;IACH,IAAI,yBAAyB;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC;IAC/C,CAAC;IAED,YAAsB,MAAwC;QAAxC,WAAM,GAAN,MAAM,CAAkC;IAAG,CAAC;IAElE;;;;OAIG;IACI,SAAS,CAAC,GAAW;QAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACI,YAAY,CAAC,WAAgD;QAClE,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,EACJ,OAAO,EACP,aAAa,GAAG,EAAE,EAClB,QAAQ,EACR,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,EACxC,cAAc,GAAG,IAAI,CAAC,yBAAyB,GAChD,GAAG,MAAoC,CAAC;QACzC,MAAM,OAAO,GAAG,EAAE,cAAc,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,OAAO,CAAY,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;QAC3C,QAAQ,EAAE,CAAC,QAAmB,CAAC,CAAC;QAChC,OAAO,QAAmB,CAAC;IAC7B,CAAC;IAED;;;;;;;;;;;OAWG;IACI,kBAAkB,CAAuB,GAAW;QACzD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAiB,CAAC;IAChD,CAAC;IAED;;;;;;;;OAQG;IACO,cAAc,CACtB,WAAgD;QAEhD,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;gBAClC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;YAClC,CAAC;iBAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,IAAI,uBAAuB,CAAC,sCAAsC,WAAW,GAAG,CAAC,CAAC;YAC1F,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,WAAyC,CAAC;IACnD,CAAC;CACF"}
@@ -1,3 +1,3 @@
1
1
  // Generated by genversion.
2
- export const version = '6.2.4';
2
+ export const version = '6.3.0';
3
3
  //# sourceMappingURL=version.js.map