@variocube/app-ui 1.14.4 → 1.15.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.
package/esm/fetch.d.ts CHANGED
@@ -19,9 +19,9 @@ export declare class ApiError extends Error implements ProblemJson {
19
19
  /**
20
20
  * Creates a wrapper around window.fetch for most common REST API requests.
21
21
  * @param baseUrl The base URL of the API, i.e. https://api.cubeadmin.center
22
- * @param baseHeaders The base headers of each request, i.e. {Authorization: "Bearer XXXX"}
22
+ * @param baseHeaders The base headers of each request, i.e. {Authorization: "Bearer XXXX"}, or a function that returns the headers
23
23
  */
24
- export declare function createApiFetcher(baseUrl: string, baseHeaders?: HeadersInit): {
24
+ export declare function createApiFetcher(baseUrl: string, baseHeaders?: HeadersInit | (() => HeadersInit)): {
25
25
  fetch: (path: string, options?: RequestInit) => Promise<Response>;
26
26
  fetchJson: <T>(path: string, options?: RequestInit) => Promise<T>;
27
27
  get: <T>(path: string, options?: RequestInit) => Promise<T>;
package/esm/fetch.js CHANGED
@@ -19,13 +19,14 @@ export class ApiError extends Error {
19
19
  /**
20
20
  * Creates a wrapper around window.fetch for most common REST API requests.
21
21
  * @param baseUrl The base URL of the API, i.e. https://api.cubeadmin.center
22
- * @param baseHeaders The base headers of each request, i.e. {Authorization: "Bearer XXXX"}
22
+ * @param baseHeaders The base headers of each request, i.e. {Authorization: "Bearer XXXX"}, or a function that returns the headers
23
23
  */
24
24
  export function createApiFetcher(baseUrl, baseHeaders) {
25
25
  function fetch(path, options) {
26
26
  return __awaiter(this, void 0, void 0, function* () {
27
27
  options = options || {};
28
- options.headers = Object.assign(Object.assign({}, baseHeaders), options.headers);
28
+ const headers = typeof baseHeaders == "function" ? baseHeaders() : baseHeaders;
29
+ options.headers = Object.assign(Object.assign({}, headers), options.headers);
29
30
  const response = yield window.fetch(`${baseUrl}${path}`, options);
30
31
  yield checkOkay(response);
31
32
  return response;
package/esm/fetch.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@variocube/app-ui",
3
- "version": "1.14.4",
3
+ "version": "1.15.0",
4
4
  "description": "Common UI components for Variocube applications.",
5
5
  "module": "esm/index.js",
6
6
  "types": "esm/index.d.ts",
package/src/fetch.ts CHANGED
@@ -27,13 +27,14 @@ export class ApiError extends Error implements ProblemJson {
27
27
  /**
28
28
  * Creates a wrapper around window.fetch for most common REST API requests.
29
29
  * @param baseUrl The base URL of the API, i.e. https://api.cubeadmin.center
30
- * @param baseHeaders The base headers of each request, i.e. {Authorization: "Bearer XXXX"}
30
+ * @param baseHeaders The base headers of each request, i.e. {Authorization: "Bearer XXXX"}, or a function that returns the headers
31
31
  */
32
- export function createApiFetcher(baseUrl: string, baseHeaders?: HeadersInit) {
32
+ export function createApiFetcher(baseUrl: string, baseHeaders?: HeadersInit | (() => HeadersInit)) {
33
33
  async function fetch(path: string, options?: RequestInit) {
34
34
  options = options || {};
35
+ const headers = typeof baseHeaders == "function" ? baseHeaders() : baseHeaders;
35
36
  options.headers = {
36
- ...baseHeaders,
37
+ ...headers,
37
38
  ...options.headers,
38
39
  };
39
40
  const response = await window.fetch(`${baseUrl}${path}`, options);