@nhost/nhost-js 3.3.1 → 4.0.1

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 (147) hide show
  1. package/README.md +67 -32
  2. package/dist/fetch-2PHmQBIJ.mjs +61 -0
  3. package/dist/fetch-2PHmQBIJ.mjs.map +1 -0
  4. package/dist/fetch-DWXwEnoe.js +2 -0
  5. package/dist/fetch-DWXwEnoe.js.map +1 -0
  6. package/dist/nhost-js/auth.cjs.js +2 -0
  7. package/dist/nhost-js/auth.cjs.js.map +1 -0
  8. package/dist/nhost-js/auth.es.js +917 -0
  9. package/dist/nhost-js/auth.es.js.map +1 -0
  10. package/dist/nhost-js/fetch.cjs.js +2 -0
  11. package/dist/nhost-js/fetch.cjs.js.map +1 -0
  12. package/dist/nhost-js/fetch.es.js +90 -0
  13. package/dist/nhost-js/fetch.es.js.map +1 -0
  14. package/dist/nhost-js/functions.cjs.js +2 -0
  15. package/dist/nhost-js/functions.cjs.js.map +1 -0
  16. package/dist/nhost-js/functions.es.js +45 -0
  17. package/dist/nhost-js/functions.es.js.map +1 -0
  18. package/dist/nhost-js/graphql.cjs.js +2 -0
  19. package/dist/nhost-js/graphql.cjs.js.map +1 -0
  20. package/dist/nhost-js/graphql.es.js +48 -0
  21. package/dist/nhost-js/graphql.es.js.map +1 -0
  22. package/dist/nhost-js/session.cjs.js +2 -0
  23. package/dist/nhost-js/session.cjs.js.map +1 -0
  24. package/dist/nhost-js/session.es.js +234 -0
  25. package/dist/nhost-js/session.es.js.map +1 -0
  26. package/dist/nhost-js/storage.cjs.js +2 -0
  27. package/dist/nhost-js/storage.cjs.js.map +1 -0
  28. package/dist/nhost-js/storage.es.js +324 -0
  29. package/dist/nhost-js/storage.es.js.map +1 -0
  30. package/dist/nhost-js.cjs.js +2 -0
  31. package/dist/nhost-js.cjs.js.map +1 -0
  32. package/dist/nhost-js.es.js +228 -0
  33. package/dist/nhost-js.es.js.map +1 -0
  34. package/dist/nhost-js.umd.js +2 -0
  35. package/dist/nhost-js.umd.js.map +1 -0
  36. package/dist/refreshSession-Bw715ZmX.js +2 -0
  37. package/dist/refreshSession-Bw715ZmX.js.map +1 -0
  38. package/dist/refreshSession-WwGlzgtM.mjs +95 -0
  39. package/dist/refreshSession-WwGlzgtM.mjs.map +1 -0
  40. package/dist/src/auth/client.d.ts +1763 -0
  41. package/dist/src/auth/client.d.ts.map +1 -0
  42. package/dist/src/auth/client.js +1043 -0
  43. package/dist/src/auth/client.js.map +1 -0
  44. package/dist/src/auth/index.d.ts +35 -0
  45. package/dist/src/auth/index.d.ts.map +1 -0
  46. package/dist/src/auth/index.js +35 -0
  47. package/dist/src/auth/index.js.map +1 -0
  48. package/dist/src/fetch/fetch.d.ts +88 -0
  49. package/dist/src/fetch/fetch.d.ts.map +1 -0
  50. package/dist/src/fetch/fetch.js +98 -0
  51. package/dist/src/fetch/fetch.js.map +1 -0
  52. package/dist/src/fetch/index.d.ts +38 -0
  53. package/dist/src/fetch/index.d.ts.map +1 -0
  54. package/dist/src/fetch/index.js +38 -0
  55. package/dist/src/fetch/index.js.map +1 -0
  56. package/dist/src/fetch/middlewareAttachAccessToken.d.ts +24 -0
  57. package/dist/src/fetch/middlewareAttachAccessToken.d.ts.map +1 -0
  58. package/dist/src/fetch/middlewareAttachAccessToken.js +54 -0
  59. package/dist/src/fetch/middlewareAttachAccessToken.js.map +1 -0
  60. package/dist/src/fetch/middlewareSessionRefresh.d.ts +30 -0
  61. package/dist/src/fetch/middlewareSessionRefresh.d.ts.map +1 -0
  62. package/dist/src/fetch/middlewareSessionRefresh.js +61 -0
  63. package/dist/src/fetch/middlewareSessionRefresh.js.map +1 -0
  64. package/dist/src/fetch/middlewareUpdateSessionFromResponse.d.ts +26 -0
  65. package/dist/src/fetch/middlewareUpdateSessionFromResponse.d.ts.map +1 -0
  66. package/dist/src/fetch/middlewareUpdateSessionFromResponse.js +79 -0
  67. package/dist/src/fetch/middlewareUpdateSessionFromResponse.js.map +1 -0
  68. package/dist/src/functions/client.d.ts +52 -0
  69. package/dist/src/functions/client.d.ts.map +1 -0
  70. package/dist/src/functions/client.js +89 -0
  71. package/dist/src/functions/client.js.map +1 -0
  72. package/dist/src/functions/index.d.ts +43 -0
  73. package/dist/src/functions/index.d.ts.map +1 -0
  74. package/dist/src/functions/index.js +43 -0
  75. package/dist/src/functions/index.js.map +1 -0
  76. package/dist/src/graphql/client.d.ts +93 -0
  77. package/dist/src/graphql/client.d.ts.map +1 -0
  78. package/dist/src/graphql/client.js +66 -0
  79. package/dist/src/graphql/client.js.map +1 -0
  80. package/dist/src/graphql/index.d.ts +65 -0
  81. package/dist/src/graphql/index.d.ts.map +1 -0
  82. package/dist/src/graphql/index.js +65 -0
  83. package/dist/src/graphql/index.js.map +1 -0
  84. package/dist/src/index.d.ts +35 -0
  85. package/dist/src/index.d.ts.map +1 -0
  86. package/dist/src/index.js +45 -0
  87. package/dist/src/index.js.map +1 -0
  88. package/dist/src/nhost.d.ts +301 -0
  89. package/dist/src/nhost.d.ts.map +1 -0
  90. package/dist/src/nhost.js +323 -0
  91. package/dist/src/nhost.js.map +1 -0
  92. package/dist/src/session/index.d.ts +20 -0
  93. package/dist/src/session/index.d.ts.map +1 -0
  94. package/dist/src/session/index.js +19 -0
  95. package/dist/src/session/index.js.map +1 -0
  96. package/dist/src/session/refreshSession.d.ts +17 -0
  97. package/dist/src/session/refreshSession.d.ts.map +1 -0
  98. package/dist/src/session/refreshSession.js +120 -0
  99. package/dist/src/session/refreshSession.js.map +1 -0
  100. package/dist/src/session/session.d.ts +24 -0
  101. package/dist/src/session/session.d.ts.map +1 -0
  102. package/dist/src/session/session.js +48 -0
  103. package/dist/src/session/session.js.map +1 -0
  104. package/dist/src/session/storage.d.ts +62 -0
  105. package/dist/src/session/storage.d.ts.map +1 -0
  106. package/dist/src/session/storage.js +91 -0
  107. package/dist/src/session/storage.js.map +1 -0
  108. package/dist/src/session/storageBackend.d.ts +122 -0
  109. package/dist/src/session/storageBackend.d.ts.map +1 -0
  110. package/dist/src/session/storageBackend.js +145 -0
  111. package/dist/src/session/storageBackend.js.map +1 -0
  112. package/dist/src/storage/client.d.ts +546 -0
  113. package/dist/src/storage/client.d.ts.map +1 -0
  114. package/dist/src/storage/client.js +368 -0
  115. package/dist/src/storage/client.js.map +1 -0
  116. package/dist/src/storage/index.d.ts +37 -0
  117. package/dist/src/storage/index.d.ts.map +1 -0
  118. package/dist/src/storage/index.js +37 -0
  119. package/dist/src/storage/index.js.map +1 -0
  120. package/dist/tsconfig.tsbuildinfo +1 -0
  121. package/package.json +103 -59
  122. package/dist/clients/auth.d.ts +0 -8
  123. package/dist/clients/auth.d.ts.map +0 -1
  124. package/dist/clients/functions/index.d.ts +0 -107
  125. package/dist/clients/functions/index.d.ts.map +0 -1
  126. package/dist/clients/functions/types.d.ts +0 -28
  127. package/dist/clients/functions/types.d.ts.map +0 -1
  128. package/dist/clients/graphql.d.ts +0 -8
  129. package/dist/clients/graphql.d.ts.map +0 -1
  130. package/dist/clients/index.d.ts +0 -6
  131. package/dist/clients/index.d.ts.map +0 -1
  132. package/dist/clients/nhost.d.ts +0 -83
  133. package/dist/clients/nhost.d.ts.map +0 -1
  134. package/dist/clients/storage.d.ts +0 -8
  135. package/dist/clients/storage.d.ts.map +0 -1
  136. package/dist/index.cjs.js +0 -2
  137. package/dist/index.cjs.js.map +0 -1
  138. package/dist/index.d.ts +0 -6
  139. package/dist/index.d.ts.map +0 -1
  140. package/dist/index.esm.js +0 -356
  141. package/dist/index.esm.js.map +0 -1
  142. package/dist/utils/helpers.d.ts +0 -20
  143. package/dist/utils/helpers.d.ts.map +0 -1
  144. package/dist/utils/types.d.ts +0 -57
  145. package/dist/utils/types.d.ts.map +0 -1
  146. package/umd/nhost-js.umd.js +0 -22
  147. package/umd/nhost-js.umd.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/auth/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * This is the main module to interact with Nhost's Auth service.
3
+ * Typically you would use this module via the main [Nhost client](main#createclient)
4
+ * but you can also use it directly if you have a specific use case.
5
+ *
6
+ * ## Import
7
+ *
8
+ * You can import and use this package with:
9
+ *
10
+ * ```ts
11
+ * import { createClient } from "@nhost/nhost-js/auth";
12
+ * ```
13
+ *
14
+ * ## Usage
15
+ *
16
+ * {@includeCode ./__tests__/docstrings.test.ts:2,4,12-20}
17
+ *
18
+ * ## Error handling
19
+ *
20
+ * The SDK will throw errors in most operations if the request returns a status >=300 or
21
+ * if the request fails entirely (i.e., due to network errors). The type of the error
22
+ * will be a `FetchError<ErrorResponse>`:
23
+ *
24
+ * {@includeCode ./__tests__/docstrings.test.ts:2-4,27-37,39-59,67}
25
+ *
26
+ * This type extends the standard `Error` type so if you want to just log the error you can
27
+ * do so like this:
28
+ *
29
+ * {@includeCode ./__tests__/docstrings.test.ts:2-4,74-84,86-92,95}
30
+ *
31
+ * @module auth
32
+ * @packageDocumentation
33
+ */
34
+ export * from "./client";
35
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/auth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,cAAc,UAAU,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * This is the main module to interact with Nhost's Auth service.
3
+ * Typically you would use this module via the main [Nhost client](main#createclient)
4
+ * but you can also use it directly if you have a specific use case.
5
+ *
6
+ * ## Import
7
+ *
8
+ * You can import and use this package with:
9
+ *
10
+ * ```ts
11
+ * import { createClient } from "@nhost/nhost-js/auth";
12
+ * ```
13
+ *
14
+ * ## Usage
15
+ *
16
+ * {@includeCode ./__tests__/docstrings.test.ts:2,4,12-20}
17
+ *
18
+ * ## Error handling
19
+ *
20
+ * The SDK will throw errors in most operations if the request returns a status >=300 or
21
+ * if the request fails entirely (i.e., due to network errors). The type of the error
22
+ * will be a `FetchError<ErrorResponse>`:
23
+ *
24
+ * {@includeCode ./__tests__/docstrings.test.ts:2-4,27-37,39-59,67}
25
+ *
26
+ * This type extends the standard `Error` type so if you want to just log the error you can
27
+ * do so like this:
28
+ *
29
+ * {@includeCode ./__tests__/docstrings.test.ts:2-4,74-84,86-92,95}
30
+ *
31
+ * @module auth
32
+ * @packageDocumentation
33
+ */
34
+ export * from "./client";
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/auth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,cAAc,UAAU,CAAC"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Type definition for a fetch-like function.
3
+ * Takes the same parameters as fetch and returns the same type.
4
+ * This allows middleware to intercept and modify requests and responses.
5
+ */
6
+ export type FetchFunction = (url: string, options?: RequestInit) => Promise<Response>;
7
+ /**
8
+ * Type definition for a chain function (middleware).
9
+ * Takes a fetch-like function and returns another fetch-like function.
10
+ *
11
+ * Chain functions can be used to implement:
12
+ * - Authentication token handling
13
+ * - Error handling and retry logic
14
+ * - Request and response transformations
15
+ * - Logging and metrics
16
+ */
17
+ export type ChainFunction = (next: FetchFunction) => FetchFunction;
18
+ /**
19
+ * Creates an enhanced fetch function using a chain of middleware functions.
20
+ *
21
+ * The fetch chain executes in the order of the array, with each middleware
22
+ * wrapping the next one in the chain. This allows each middleware to
23
+ * intercept both the request (before calling next) and the response
24
+ * (after calling next).
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * // Simple logging middleware
29
+ * const loggingMiddleware: ChainFunction = (next) => {
30
+ * return async (url, options) => {
31
+ * console.log(`Request to ${url}`);
32
+ * const response = await next(url, options);
33
+ * console.log(`Response from ${url}: ${response.status}`);
34
+ * return response;
35
+ * };
36
+ * };
37
+ *
38
+ * const enhancedFetch = createEnhancedFetch([loggingMiddleware]);
39
+ * const response = await enhancedFetch('https://api.example.com/data');
40
+ * ```
41
+ *
42
+ * @param chainFunctions - Array of chain functions to apply in order
43
+ * @returns Enhanced fetch function with all middleware applied
44
+ */
45
+ export declare function createEnhancedFetch(chainFunctions?: ChainFunction[]): FetchFunction;
46
+ /**
47
+ * Interface representing a structured API response.
48
+ *
49
+ * This interface provides a consistent structure for responses across the SDK,
50
+ * offering access to the parsed response body along with status and headers.
51
+ *
52
+ * @template T - The type of the response body
53
+ */
54
+ export interface FetchResponse<T> {
55
+ /** The parsed response body */
56
+ body: T;
57
+ /** HTTP status code of the response */
58
+ status: number;
59
+ /** Response headers */
60
+ headers: Headers;
61
+ }
62
+ /**
63
+ * Error class for representing fetch operation failures.
64
+ *
65
+ * This class extends the standard Error to include additional
66
+ * information about failed requests, including the response body,
67
+ * status code, and headers. The error message is automatically
68
+ * extracted from common error response formats.
69
+ *
70
+ * @template T - The type of the response body
71
+ */
72
+ export declare class FetchError<T = unknown> extends Error {
73
+ /** The original response body */
74
+ body: T;
75
+ /** HTTP status code of the failed response */
76
+ status: number;
77
+ /** Response headers */
78
+ headers: Headers;
79
+ /**
80
+ * Creates a new FetchError instance
81
+ *
82
+ * @param body - The response body from the failed request
83
+ * @param status - The HTTP status code
84
+ * @param headers - The response headers
85
+ */
86
+ constructor(body: T, status: number, headers: Headers);
87
+ }
88
+ //# sourceMappingURL=fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/fetch/fetch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,aAAa,KAAK,aAAa,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,GAAE,aAAa,EAAO,GACnC,aAAa,CAOf;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,+BAA+B;IAC/B,IAAI,EAAE,CAAC,CAAC;IACR,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,OAAO,EAAE,OAAO,CAAC;CAClB;AAiDD;;;;;;;;;GASG;AACH,qBAAa,UAAU,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,KAAK;IAChD,iCAAiC;IACjC,IAAI,EAAE,CAAC,CAAC;IACR,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;;;OAMG;gBACS,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;CAMtD"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Creates an enhanced fetch function using a chain of middleware functions.
3
+ *
4
+ * The fetch chain executes in the order of the array, with each middleware
5
+ * wrapping the next one in the chain. This allows each middleware to
6
+ * intercept both the request (before calling next) and the response
7
+ * (after calling next).
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * // Simple logging middleware
12
+ * const loggingMiddleware: ChainFunction = (next) => {
13
+ * return async (url, options) => {
14
+ * console.log(`Request to ${url}`);
15
+ * const response = await next(url, options);
16
+ * console.log(`Response from ${url}: ${response.status}`);
17
+ * return response;
18
+ * };
19
+ * };
20
+ *
21
+ * const enhancedFetch = createEnhancedFetch([loggingMiddleware]);
22
+ * const response = await enhancedFetch('https://api.example.com/data');
23
+ * ```
24
+ *
25
+ * @param chainFunctions - Array of chain functions to apply in order
26
+ * @returns Enhanced fetch function with all middleware applied
27
+ */
28
+ export function createEnhancedFetch(chainFunctions = []) {
29
+ // Build the chain starting with vanilla fetch, but apply functions in reverse
30
+ // to achieve the desired execution order
31
+ return chainFunctions.reduceRight((nextInChain, chainFunction) => chainFunction(nextInChain), fetch);
32
+ }
33
+ function extractMessage(body) {
34
+ if (body && typeof body === "string") {
35
+ return body;
36
+ }
37
+ if (body && typeof body === "object") {
38
+ const typedBody = body;
39
+ if ("message" in typedBody && typeof typedBody["message"] === "string") {
40
+ return typedBody["message"];
41
+ }
42
+ if ("error" in typedBody && typeof typedBody["error"] === "string") {
43
+ return typedBody["error"];
44
+ }
45
+ if ("error" in typedBody &&
46
+ typedBody["error"] &&
47
+ typeof typedBody["error"] === "object") {
48
+ const error = typedBody["error"];
49
+ if ("message" in error && typeof error["message"] === "string") {
50
+ return error["message"];
51
+ }
52
+ }
53
+ if ("errors" in typedBody && Array.isArray(typedBody["errors"])) {
54
+ const messages = typedBody["errors"]
55
+ .filter((error) => typeof error === "object" &&
56
+ error !== null &&
57
+ "message" in error &&
58
+ typeof error["message"] === "string")
59
+ .map((error) => error["message"]);
60
+ if (messages.length > 0) {
61
+ return messages.join(", ");
62
+ }
63
+ }
64
+ }
65
+ return "An unexpected error occurred";
66
+ }
67
+ /**
68
+ * Error class for representing fetch operation failures.
69
+ *
70
+ * This class extends the standard Error to include additional
71
+ * information about failed requests, including the response body,
72
+ * status code, and headers. The error message is automatically
73
+ * extracted from common error response formats.
74
+ *
75
+ * @template T - The type of the response body
76
+ */
77
+ export class FetchError extends Error {
78
+ /** The original response body */
79
+ body;
80
+ /** HTTP status code of the failed response */
81
+ status;
82
+ /** Response headers */
83
+ headers;
84
+ /**
85
+ * Creates a new FetchError instance
86
+ *
87
+ * @param body - The response body from the failed request
88
+ * @param status - The HTTP status code
89
+ * @param headers - The response headers
90
+ */
91
+ constructor(body, status, headers) {
92
+ super(extractMessage(body));
93
+ this.body = body;
94
+ this.status = status;
95
+ this.headers = headers;
96
+ }
97
+ }
98
+ //# sourceMappingURL=fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/fetch/fetch.ts"],"names":[],"mappings":"AAsBA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,mBAAmB,CACjC,iBAAkC,EAAE;IAEpC,8EAA8E;IAC9E,yCAAyC;IACzC,OAAO,cAAc,CAAC,WAAW,CAC/B,CAAC,WAAW,EAAE,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,EAC1D,KAAsB,CACvB,CAAC;AACJ,CAAC;AAmBD,SAAS,cAAc,CAAC,IAAa;IACnC,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,IAA+B,CAAC;QAElD,IAAI,SAAS,IAAI,SAAS,IAAI,OAAO,SAAS,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;YACvE,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACnE,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;QAED,IACE,OAAO,IAAI,SAAS;YACpB,SAAS,CAAC,OAAO,CAAC;YAClB,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,QAAQ,EACtC,CAAC;YACD,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAA4B,CAAC;YAC5D,IAAI,SAAS,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC/D,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,IAAI,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YAChE,MAAM,QAAQ,GAAI,SAAS,CAAC,QAAQ,CAAe;iBAChD,MAAM,CACL,CAAC,KAAK,EAAgC,EAAE,CACtC,OAAO,KAAK,KAAK,QAAQ;gBACzB,KAAK,KAAK,IAAI;gBACd,SAAS,IAAI,KAAK;gBAClB,OAAQ,KAA8B,CAAC,SAAS,CAAC,KAAK,QAAQ,CACjE;iBACA,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YAEpC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,8BAA8B,CAAC;AACxC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,UAAwB,SAAQ,KAAK;IAChD,iCAAiC;IACjC,IAAI,CAAI;IACR,8CAA8C;IAC9C,MAAM,CAAS;IACf,uBAAuB;IACvB,OAAO,CAAU;IAEjB;;;;;;OAMG;IACH,YAAY,IAAO,EAAE,MAAc,EAAE,OAAgB;QACnD,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Enhanced fetch implementation with middleware support.
3
+ *
4
+ * This module provides a middleware pattern for the Fetch API, allowing
5
+ * chain functions to be applied to requests and responses, such as
6
+ * authentication token refreshing, error handling, and request/response transformation.
7
+ *
8
+ * This is an advanced submodule of the Nhost SDK, primarily used internally but it is exposed
9
+ * for advanced use cases.
10
+ *
11
+ * @module fetch
12
+ * @packageDocumentation
13
+ */
14
+ export { type ChainFunction, createEnhancedFetch, FetchError, type FetchFunction, type FetchResponse, } from "./fetch";
15
+ /**
16
+ * Middleware for attaching authorization tokens to outgoing requests.
17
+ *
18
+ * @param storage - Storage implementation for retrieving session data
19
+ * @returns A middleware function that adds Authorization headers
20
+ */
21
+ export { attachAccessTokenMiddleware } from "./middlewareAttachAccessToken";
22
+ /**
23
+ * Middleware for automatically refreshing authentication tokens when they're about to expire.
24
+ *
25
+ * @param auth - Auth API client for token refresh operations
26
+ * @param storage - Storage implementation for persisting session data
27
+ * @param options - Configuration options for token refresh behavior
28
+ * @returns A middleware function that refreshes tokens as needed
29
+ */
30
+ export { sessionRefreshMiddleware } from "./middlewareSessionRefresh";
31
+ /**
32
+ * Middleware for extracting and storing session data from authentication responses.
33
+ *
34
+ * @param storage - Storage implementation for persisting session data
35
+ * @returns A middleware function that updates session storage
36
+ */
37
+ export { updateSessionFromResponseMiddleware } from "./middlewareUpdateSessionFromResponse";
38
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fetch/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACL,KAAK,aAAa,EAClB,mBAAmB,EACnB,UAAU,EACV,KAAK,aAAa,EAClB,KAAK,aAAa,GACnB,MAAM,SAAS,CAAC;AAEjB;;;;;GAKG;AACH,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E;;;;;;;GAOG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE;;;;;GAKG;AACH,OAAO,EAAE,mCAAmC,EAAE,MAAM,uCAAuC,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Enhanced fetch implementation with middleware support.
3
+ *
4
+ * This module provides a middleware pattern for the Fetch API, allowing
5
+ * chain functions to be applied to requests and responses, such as
6
+ * authentication token refreshing, error handling, and request/response transformation.
7
+ *
8
+ * This is an advanced submodule of the Nhost SDK, primarily used internally but it is exposed
9
+ * for advanced use cases.
10
+ *
11
+ * @module fetch
12
+ * @packageDocumentation
13
+ */
14
+ export { createEnhancedFetch, FetchError, } from "./fetch";
15
+ /**
16
+ * Middleware for attaching authorization tokens to outgoing requests.
17
+ *
18
+ * @param storage - Storage implementation for retrieving session data
19
+ * @returns A middleware function that adds Authorization headers
20
+ */
21
+ export { attachAccessTokenMiddleware } from "./middlewareAttachAccessToken";
22
+ /**
23
+ * Middleware for automatically refreshing authentication tokens when they're about to expire.
24
+ *
25
+ * @param auth - Auth API client for token refresh operations
26
+ * @param storage - Storage implementation for persisting session data
27
+ * @param options - Configuration options for token refresh behavior
28
+ * @returns A middleware function that refreshes tokens as needed
29
+ */
30
+ export { sessionRefreshMiddleware } from "./middlewareSessionRefresh";
31
+ /**
32
+ * Middleware for extracting and storing session data from authentication responses.
33
+ *
34
+ * @param storage - Storage implementation for persisting session data
35
+ * @returns A middleware function that updates session storage
36
+ */
37
+ export { updateSessionFromResponseMiddleware } from "./middlewareUpdateSessionFromResponse";
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/fetch/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAEL,mBAAmB,EACnB,UAAU,GAGX,MAAM,SAAS,CAAC;AAEjB;;;;;GAKG;AACH,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E;;;;;;;GAOG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE;;;;;GAKG;AACH,OAAO,EAAE,mCAAmC,EAAE,MAAM,uCAAuC,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Authorization token attachment middleware for the Nhost SDK.
3
+ *
4
+ * This module provides middleware functionality to automatically attach
5
+ * authorization tokens to outgoing API requests, ensuring the client
6
+ * is properly authenticated.
7
+ */
8
+ import type { SessionStorage } from "../session/storage";
9
+ import type { ChainFunction } from "./fetch";
10
+ /**
11
+ * Creates a fetch middleware that adds the Authorization header with the current access token.
12
+ *
13
+ * This middleware:
14
+ * 1. Gets the current session from storage
15
+ * 2. Adds the authorization header with the access token to outgoing requests
16
+ *
17
+ * This middleware should be used after the refresh middleware in the chain to
18
+ * ensure the most recent token is used.
19
+ *
20
+ * @param storage - Storage implementation for retrieving session data
21
+ * @returns A middleware function that adds Authorization headers
22
+ */
23
+ export declare const attachAccessTokenMiddleware: (storage: SessionStorage) => ChainFunction;
24
+ //# sourceMappingURL=middlewareAttachAccessToken.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middlewareAttachAccessToken.d.ts","sourceRoot":"","sources":["../../../src/fetch/middlewareAttachAccessToken.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAiB,MAAM,SAAS,CAAC;AAE5D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,2BAA2B,GACrC,SAAS,cAAc,KAAG,aA0B1B,CAAC"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Authorization token attachment middleware for the Nhost SDK.
3
+ *
4
+ * This module provides middleware functionality to automatically attach
5
+ * authorization tokens to outgoing API requests, ensuring the client
6
+ * is properly authenticated.
7
+ */
8
+ /**
9
+ * Creates a fetch middleware that adds the Authorization header with the current access token.
10
+ *
11
+ * This middleware:
12
+ * 1. Gets the current session from storage
13
+ * 2. Adds the authorization header with the access token to outgoing requests
14
+ *
15
+ * This middleware should be used after the refresh middleware in the chain to
16
+ * ensure the most recent token is used.
17
+ *
18
+ * @param storage - Storage implementation for retrieving session data
19
+ * @returns A middleware function that adds Authorization headers
20
+ */
21
+ export const attachAccessTokenMiddleware = (storage) => (next) => async (url, options = {}) => {
22
+ const headers = new Headers(options.headers || {});
23
+ // Skip if Authorization header is already set
24
+ if (headers.has("Authorization")) {
25
+ return next(url, options);
26
+ }
27
+ // Get current session from storage
28
+ const session = storage.get();
29
+ if (session?.accessToken) {
30
+ // Add authorization header
31
+ const newOptions = {
32
+ ...options,
33
+ headers: addAuthorizationHeader(headers, session),
34
+ };
35
+ // Continue with the fetch chain
36
+ return next(url, newOptions);
37
+ }
38
+ // No session or no access token, continue without authorization
39
+ return next(url, options);
40
+ };
41
+ /**
42
+ * Adds the Authorization header with the access token to the request headers
43
+ *
44
+ * @param headers - Original request headers
45
+ * @param session - Current session containing the access token
46
+ * @returns Modified headers with Authorization header
47
+ */
48
+ function addAuthorizationHeader(headers, session) {
49
+ if (session.accessToken) {
50
+ headers.set("Authorization", `Bearer ${session.accessToken}`);
51
+ }
52
+ return headers;
53
+ }
54
+ //# sourceMappingURL=middlewareAttachAccessToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middlewareAttachAccessToken.js","sourceRoot":"","sources":["../../../src/fetch/middlewareAttachAccessToken.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,2BAA2B,GACtC,CAAC,OAAuB,EAAiB,EAAE,CAC3C,CAAC,IAAmB,EAAiB,EAAE,CACvC,KAAK,EAAE,GAAW,EAAE,UAAuB,EAAE,EAAqB,EAAE;IAClE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAEnD,8CAA8C;IAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,mCAAmC;IACnC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE9B,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;QACzB,2BAA2B;QAC3B,MAAM,UAAU,GAAG;YACjB,GAAG,OAAO;YACV,OAAO,EAAE,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC;SAClD,CAAC;QAEF,gCAAgC;QAChC,OAAO,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC/B,CAAC;IAED,gEAAgE;IAChE,OAAO,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAC5B,CAAC,CAAC;AAEJ;;;;;;GAMG;AACH,SAAS,sBAAsB,CAAC,OAAgB,EAAE,OAAgB;IAChE,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Auth token refresh middleware for the Nhost SDK.
3
+ *
4
+ * This module provides middleware functionality to automatically refresh
5
+ * authentication tokens before they expire, ensuring seamless API access
6
+ * without requiring manual token refresh by the application.
7
+ */
8
+ import type { Client } from "../auth";
9
+ import type { SessionStorage } from "../session/storage";
10
+ import type { ChainFunction } from "./fetch";
11
+ /**
12
+ * Creates a fetch middleware that automatically refreshes authentication tokens.
13
+ *
14
+ * This middleware:
15
+ * 1. Checks if the current token is about to expire
16
+ * 2. If so, uses the refresh token to obtain a new access token
17
+ *
18
+ * The middleware handles token refresh transparently, so the application
19
+ * doesn't need to manually refresh tokens.
20
+ *
21
+ * @param auth - Auth API client for token refresh operations
22
+ * @param storage - Storage implementation for persisting session data
23
+ * @param options - Configuration options for token refresh behavior
24
+ * @param options.marginSeconds - Number of seconds before token expiration to trigger a refresh, default is 60 seconds
25
+ * @returns A middleware function that can be used in the fetch chain
26
+ */
27
+ export declare const sessionRefreshMiddleware: (auth: Client, storage: SessionStorage, options?: {
28
+ marginSeconds?: number;
29
+ }) => ChainFunction;
30
+ //# sourceMappingURL=middlewareSessionRefresh.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middlewareSessionRefresh.d.ts","sourceRoot":"","sources":["../../../src/fetch/middlewareSessionRefresh.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAiB,MAAM,SAAS,CAAC;AAE5D;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,wBAAwB,GACnC,MAAM,MAAM,EACZ,SAAS,cAAc,EACvB,UAAU;IACR,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,KACA,aAkBF,CAAC"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Auth token refresh middleware for the Nhost SDK.
3
+ *
4
+ * This module provides middleware functionality to automatically refresh
5
+ * authentication tokens before they expire, ensuring seamless API access
6
+ * without requiring manual token refresh by the application.
7
+ */
8
+ import { refreshSession } from "../session/refreshSession";
9
+ /**
10
+ * Creates a fetch middleware that automatically refreshes authentication tokens.
11
+ *
12
+ * This middleware:
13
+ * 1. Checks if the current token is about to expire
14
+ * 2. If so, uses the refresh token to obtain a new access token
15
+ *
16
+ * The middleware handles token refresh transparently, so the application
17
+ * doesn't need to manually refresh tokens.
18
+ *
19
+ * @param auth - Auth API client for token refresh operations
20
+ * @param storage - Storage implementation for persisting session data
21
+ * @param options - Configuration options for token refresh behavior
22
+ * @param options.marginSeconds - Number of seconds before token expiration to trigger a refresh, default is 60 seconds
23
+ * @returns A middleware function that can be used in the fetch chain
24
+ */
25
+ export const sessionRefreshMiddleware = (auth, storage, options) => {
26
+ const { marginSeconds = 60 } = options || {};
27
+ // Create and return the chain function
28
+ return (next) => async (url, options = {}) => {
29
+ // Skip token handling for certain requests
30
+ if (shouldSkipTokenHandling(url, options)) {
31
+ return next(url, options);
32
+ }
33
+ try {
34
+ await refreshSession(auth, storage, marginSeconds);
35
+ }
36
+ catch {
37
+ // do nothing, we still want to call the next function
38
+ }
39
+ return next(url, options);
40
+ };
41
+ };
42
+ /**
43
+ * Determines if token handling should be skipped for this request
44
+ *
45
+ * @param url - Request URL
46
+ * @param options - Request options
47
+ * @returns True if token handling should be skipped, false otherwise
48
+ */
49
+ function shouldSkipTokenHandling(url, options) {
50
+ const headers = new Headers(options.headers || {});
51
+ // If Authorization header is explicitly set, skip token handling
52
+ if (headers.has("Authorization")) {
53
+ return true;
54
+ }
55
+ // If calling the token endpoint, skip to avoid infinite loops
56
+ if (url.endsWith("/v1/token")) {
57
+ return true;
58
+ }
59
+ return false;
60
+ }
61
+ //# sourceMappingURL=middlewareSessionRefresh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middlewareSessionRefresh.js","sourceRoot":"","sources":["../../../src/fetch/middlewareSessionRefresh.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAI3D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,IAAY,EACZ,OAAuB,EACvB,OAEC,EACc,EAAE;IACjB,MAAM,EAAE,aAAa,GAAG,EAAE,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAE7C,uCAAuC;IACvC,OAAO,CAAC,IAAmB,EAAiB,EAAE,CAC5C,KAAK,EAAE,GAAW,EAAE,UAAuB,EAAE,EAAqB,EAAE;QAClE,2CAA2C;QAC3C,IAAI,uBAAuB,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,sDAAsD;QACxD,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC5B,CAAC,CAAC;AACN,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,SAAS,uBAAuB,CAAC,GAAW,EAAE,OAAoB;IAChE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAEnD,iEAAiE;IACjE,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8DAA8D;IAC9D,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}