@nhost/nhost-js 4.6.0 → 4.7.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.
- package/dist/fetch-DAaKgbl_.cjs +2 -0
- package/dist/fetch-DAaKgbl_.cjs.map +1 -0
- package/dist/fetch-DGzwPw2i.js +2 -0
- package/dist/fetch-DGzwPw2i.js.map +1 -0
- package/dist/graphql-CDOwJ-ZX.cjs +2 -0
- package/dist/graphql-CDOwJ-ZX.cjs.map +1 -0
- package/dist/graphql-q05DEErT.js +2 -0
- package/dist/graphql-q05DEErT.js.map +1 -0
- package/dist/nhost-js/auth.cjs +2 -2
- package/dist/nhost-js/auth.cjs.map +1 -1
- package/dist/nhost-js/auth.js +2 -32
- package/dist/nhost-js/auth.js.map +1 -1
- package/dist/nhost-js/fetch.cjs +1 -2
- package/dist/nhost-js/fetch.js +1 -30
- package/dist/nhost-js/functions.cjs +2 -2
- package/dist/nhost-js/functions.cjs.map +1 -1
- package/dist/nhost-js/functions.js +2 -50
- package/dist/nhost-js/functions.js.map +1 -1
- package/dist/nhost-js/graphql.cjs +1 -2
- package/dist/nhost-js/graphql.js +1 -53
- package/dist/nhost-js/session.cjs +1 -2
- package/dist/nhost-js/session.js +1 -242
- package/dist/nhost-js/storage.cjs +2 -2
- package/dist/nhost-js/storage.cjs.map +1 -1
- package/dist/nhost-js/storage.js +2 -342
- package/dist/nhost-js/storage.js.map +1 -1
- package/dist/nhost-js.cjs +2 -2
- package/dist/nhost-js.cjs.map +1 -1
- package/dist/nhost-js.js +2 -241
- package/dist/nhost-js.js.map +1 -1
- package/dist/nhost-js.umd.js +2 -2
- package/dist/nhost-js.umd.js.map +1 -1
- package/dist/refreshSession-DDTo2b9R.js +2 -0
- package/dist/refreshSession-DDTo2b9R.js.map +1 -0
- package/dist/refreshSession-D_vFKIeJ.cjs +2 -0
- package/dist/refreshSession-D_vFKIeJ.cjs.map +1 -0
- package/dist/session-oECsmiRB.js +2 -0
- package/dist/session-oECsmiRB.js.map +1 -0
- package/dist/session-r_9IPgQp.cjs +2 -0
- package/dist/session-r_9IPgQp.cjs.map +1 -0
- package/dist/src/auth/client.d.ts +230 -5
- package/dist/src/auth/client.d.ts.map +1 -1
- package/dist/src/auth/client.js +138 -0
- package/dist/src/auth/client.js.map +1 -1
- package/dist/src/fetch/middlewareUpdateSessionFromResponse.d.ts.map +1 -1
- package/dist/src/fetch/middlewareUpdateSessionFromResponse.js +8 -0
- package/dist/src/fetch/middlewareUpdateSessionFromResponse.js.map +1 -1
- package/dist/src/graphql/client.d.ts +11 -0
- package/dist/src/graphql/client.d.ts.map +1 -1
- package/dist/src/graphql/client.js +31 -1
- package/dist/src/graphql/client.js.map +1 -1
- package/dist/src/graphql/index.d.ts +2 -1
- package/dist/src/graphql/index.d.ts.map +1 -1
- package/dist/src/graphql/index.js +1 -1
- package/dist/src/graphql/index.js.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/nhost.d.ts +12 -12
- package/dist/src/nhost.d.ts.map +1 -1
- package/dist/src/nhost.js +9 -9
- package/dist/src/nhost.js.map +1 -1
- package/dist/src/session/index.d.ts +1 -1
- package/dist/src/session/index.d.ts.map +1 -1
- package/dist/src/session/refreshSession.d.ts +2 -2
- package/dist/src/session/refreshSession.d.ts.map +1 -1
- package/dist/src/session/refreshSession.js +1 -1
- package/dist/src/session/refreshSession.js.map +1 -1
- package/dist/src/session/session.d.ts +23 -1
- package/dist/src/session/session.d.ts.map +1 -1
- package/dist/src/session/session.js.map +1 -1
- package/dist/src/session/storage.d.ts +3 -3
- package/dist/src/session/storage.d.ts.map +1 -1
- package/dist/src/session/storage.js.map +1 -1
- package/dist/src/session/storageBackend.d.ts +26 -9
- package/dist/src/session/storageBackend.d.ts.map +1 -1
- package/dist/src/session/storageBackend.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -2
- package/dist/client-BL0edWHv.cjs +0 -2
- package/dist/client-BL0edWHv.cjs.map +0 -1
- package/dist/client-BOrTAJrs.js +0 -1304
- package/dist/client-BOrTAJrs.js.map +0 -1
- package/dist/fetch-2PHmQBIJ.js +0 -61
- package/dist/fetch-2PHmQBIJ.js.map +0 -1
- package/dist/fetch-DWXwEnoe.cjs +0 -2
- package/dist/fetch-DWXwEnoe.cjs.map +0 -1
- package/dist/middlewareWithAdminSession-CcuYKs5Y.js +0 -106
- package/dist/middlewareWithAdminSession-CcuYKs5Y.js.map +0 -1
- package/dist/middlewareWithAdminSession-j70iKbBX.cjs +0 -2
- package/dist/middlewareWithAdminSession-j70iKbBX.cjs.map +0 -1
- package/dist/nhost-js/fetch.cjs.map +0 -1
- package/dist/nhost-js/fetch.js.map +0 -1
- package/dist/nhost-js/graphql.cjs.map +0 -1
- package/dist/nhost-js/graphql.js.map +0 -1
- package/dist/nhost-js/session.cjs.map +0 -1
- package/dist/nhost-js/session.js.map +0 -1
- package/dist/refreshSession-Bw715ZmX.cjs +0 -2
- package/dist/refreshSession-Bw715ZmX.cjs.map +0 -1
- package/dist/refreshSession-WwGlzgtM.js +0 -95
- package/dist/refreshSession-WwGlzgtM.js.map +0 -1
package/dist/src/nhost.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { type Client as AuthClient } from './auth';
|
|
|
2
2
|
import { type AdminSessionOptions, type ChainFunction } from './fetch';
|
|
3
3
|
import { type Client as FunctionsClient } from './functions';
|
|
4
4
|
import { type Client as GraphQLClient } from './graphql';
|
|
5
|
-
import {
|
|
5
|
+
import { SessionStorage, type SessionStorageBackend, type StoredSession } from './session/';
|
|
6
6
|
import { type Client as StorageClient } from './storage';
|
|
7
7
|
/**
|
|
8
8
|
* Configuration function that receives all clients and can configure them
|
|
@@ -103,7 +103,7 @@ export declare class NhostClient {
|
|
|
103
103
|
* }
|
|
104
104
|
* ```
|
|
105
105
|
*/
|
|
106
|
-
getUserSession():
|
|
106
|
+
getUserSession(): StoredSession | null;
|
|
107
107
|
/**
|
|
108
108
|
* Refresh the session using the current refresh token
|
|
109
109
|
* in the storage and update the storage with the new session.
|
|
@@ -124,7 +124,7 @@ export declare class NhostClient {
|
|
|
124
124
|
* const forcedRefresh = await nhost.refreshSession(0);
|
|
125
125
|
* ```
|
|
126
126
|
*/
|
|
127
|
-
refreshSession(marginSeconds?: number): Promise<
|
|
127
|
+
refreshSession(marginSeconds?: number): Promise<StoredSession | null>;
|
|
128
128
|
/**
|
|
129
129
|
* Clear the session from storage.
|
|
130
130
|
*
|
|
@@ -319,15 +319,15 @@ export interface NhostServerClientOptions extends NhostClientOptions {
|
|
|
319
319
|
* subdomain: process.env["NHOST_SUBDOMAIN"] || "local",
|
|
320
320
|
* storage: {
|
|
321
321
|
* // storage compatible with Next.js server components
|
|
322
|
-
* get: ():
|
|
322
|
+
* get: (): StoredSession | null => {
|
|
323
323
|
* const s = cookieStore.get(key)?.value || null;
|
|
324
324
|
* if (!s) {
|
|
325
325
|
* return null;
|
|
326
326
|
* }
|
|
327
|
-
* const session = JSON.parse(s) as
|
|
327
|
+
* const session = JSON.parse(s) as StoredSession;
|
|
328
328
|
* return session;
|
|
329
329
|
* },
|
|
330
|
-
* set: (value:
|
|
330
|
+
* set: (value: StoredSession) => {
|
|
331
331
|
* cookieStore.set(key, JSON.stringify(value));
|
|
332
332
|
* },
|
|
333
333
|
* remove: () => {
|
|
@@ -342,15 +342,15 @@ export interface NhostServerClientOptions extends NhostClientOptions {
|
|
|
342
342
|
* subdomain: process.env["NHOST_SUBDOMAIN"] || "local",
|
|
343
343
|
* storage: {
|
|
344
344
|
* // storage compatible with Next.js middleware
|
|
345
|
-
* get: ():
|
|
345
|
+
* get: (): StoredSession | null => {
|
|
346
346
|
* const raw = request.cookies.get(key)?.value || null;
|
|
347
347
|
* if (!raw) {
|
|
348
348
|
* return null;
|
|
349
349
|
* }
|
|
350
|
-
* const session = JSON.parse(raw) as
|
|
350
|
+
* const session = JSON.parse(raw) as StoredSession;
|
|
351
351
|
* return session;
|
|
352
352
|
* },
|
|
353
|
-
* set: (value:
|
|
353
|
+
* set: (value: StoredSession) => {
|
|
354
354
|
* response.cookies.set({
|
|
355
355
|
* name: key,
|
|
356
356
|
* value: JSON.stringify(value),
|
|
@@ -379,15 +379,15 @@ export interface NhostServerClientOptions extends NhostClientOptions {
|
|
|
379
379
|
* subdomain: "local",
|
|
380
380
|
* region: "local",
|
|
381
381
|
* storage: {
|
|
382
|
-
* get: ():
|
|
382
|
+
* get: (): StoredSession | null => {
|
|
383
383
|
* const s = req.cookies.nhostSession || null;
|
|
384
384
|
* if (!s) {
|
|
385
385
|
* return null;
|
|
386
386
|
* }
|
|
387
|
-
* const session = JSON.parse(s) as
|
|
387
|
+
* const session = JSON.parse(s) as StoredSession;
|
|
388
388
|
* return session;
|
|
389
389
|
* },
|
|
390
|
-
* set: (_value:
|
|
390
|
+
* set: (_value: StoredSession) => {
|
|
391
391
|
* throw new Error("It is easier to handle the session in the client");
|
|
392
392
|
* },
|
|
393
393
|
* remove: () => {
|
package/dist/src/nhost.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nhost.d.ts","sourceRoot":"","sources":["../../src/nhost.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,MAAM,IAAI,UAAU,EAE1B,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,KAAK,mBAAmB,EAExB,KAAK,aAAa,EAInB,MAAM,SAAS,CAAC;AACjB,OAAO,EAEL,KAAK,MAAM,IAAI,eAAe,EAC/B,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,KAAK,MAAM,IAAI,aAAa,EAC7B,MAAM,WAAW,CAAC;AACnB,OAAO,EAGL,
|
|
1
|
+
{"version":3,"file":"nhost.d.ts","sourceRoot":"","sources":["../../src/nhost.ts"],"names":[],"mappings":"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"}
|
package/dist/src/nhost.js
CHANGED
|
@@ -345,15 +345,15 @@ export function createClient(options = {}) {
|
|
|
345
345
|
* subdomain: process.env["NHOST_SUBDOMAIN"] || "local",
|
|
346
346
|
* storage: {
|
|
347
347
|
* // storage compatible with Next.js server components
|
|
348
|
-
* get: ():
|
|
348
|
+
* get: (): StoredSession | null => {
|
|
349
349
|
* const s = cookieStore.get(key)?.value || null;
|
|
350
350
|
* if (!s) {
|
|
351
351
|
* return null;
|
|
352
352
|
* }
|
|
353
|
-
* const session = JSON.parse(s) as
|
|
353
|
+
* const session = JSON.parse(s) as StoredSession;
|
|
354
354
|
* return session;
|
|
355
355
|
* },
|
|
356
|
-
* set: (value:
|
|
356
|
+
* set: (value: StoredSession) => {
|
|
357
357
|
* cookieStore.set(key, JSON.stringify(value));
|
|
358
358
|
* },
|
|
359
359
|
* remove: () => {
|
|
@@ -368,15 +368,15 @@ export function createClient(options = {}) {
|
|
|
368
368
|
* subdomain: process.env["NHOST_SUBDOMAIN"] || "local",
|
|
369
369
|
* storage: {
|
|
370
370
|
* // storage compatible with Next.js middleware
|
|
371
|
-
* get: ():
|
|
371
|
+
* get: (): StoredSession | null => {
|
|
372
372
|
* const raw = request.cookies.get(key)?.value || null;
|
|
373
373
|
* if (!raw) {
|
|
374
374
|
* return null;
|
|
375
375
|
* }
|
|
376
|
-
* const session = JSON.parse(raw) as
|
|
376
|
+
* const session = JSON.parse(raw) as StoredSession;
|
|
377
377
|
* return session;
|
|
378
378
|
* },
|
|
379
|
-
* set: (value:
|
|
379
|
+
* set: (value: StoredSession) => {
|
|
380
380
|
* response.cookies.set({
|
|
381
381
|
* name: key,
|
|
382
382
|
* value: JSON.stringify(value),
|
|
@@ -405,15 +405,15 @@ export function createClient(options = {}) {
|
|
|
405
405
|
* subdomain: "local",
|
|
406
406
|
* region: "local",
|
|
407
407
|
* storage: {
|
|
408
|
-
* get: ():
|
|
408
|
+
* get: (): StoredSession | null => {
|
|
409
409
|
* const s = req.cookies.nhostSession || null;
|
|
410
410
|
* if (!s) {
|
|
411
411
|
* return null;
|
|
412
412
|
* }
|
|
413
|
-
* const session = JSON.parse(s) as
|
|
413
|
+
* const session = JSON.parse(s) as StoredSession;
|
|
414
414
|
* return session;
|
|
415
415
|
* },
|
|
416
|
-
* set: (_value:
|
|
416
|
+
* set: (_value: StoredSession) => {
|
|
417
417
|
* throw new Error("It is easier to handle the session in the client");
|
|
418
418
|
* },
|
|
419
419
|
* remove: () => {
|
package/dist/src/nhost.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nhost.js","sourceRoot":"","sources":["../../src/nhost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,IAAI,CAAC;AACxC,OAAO,EAEL,eAAe,IAAI,gBAAgB,GACpC,MAAM,QAAQ,CAAC;AAChB,OAAO,EAEL,2BAA2B,EAE3B,wBAAwB,EACxB,mCAAmC,EACnC,0BAA0B,GAC3B,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,eAAe,IAAI,qBAAqB,GAEzC,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,eAAe,IAAI,mBAAmB,GAEvC,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,aAAa,EACb,cAAc,
|
|
1
|
+
{"version":3,"file":"nhost.js","sourceRoot":"","sources":["../../src/nhost.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* @packageDocumentation
|
|
15
15
|
*/
|
|
16
16
|
export { refreshSession } from './refreshSession';
|
|
17
|
-
export type { DecodedToken, Session } from './session';
|
|
17
|
+
export type { DecodedToken, Session, StoredSession } from './session';
|
|
18
18
|
export { detectStorage, type SessionChangeCallback, SessionStorage, } from './storage';
|
|
19
19
|
export { CookieStorage, DEFAULT_SESSION_KEY, LocalStorage, MemoryStorage, type SessionStorageBackend, } from './storageBackend';
|
|
20
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/session/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/session/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,EACL,aAAa,EACb,KAAK,qBAAqB,EAC1B,cAAc,GACf,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,KAAK,qBAAqB,GAC3B,MAAM,kBAAkB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Client as AuthClient } from '../auth';
|
|
2
|
-
import type {
|
|
2
|
+
import type { StoredSession } from './session';
|
|
3
3
|
import type { SessionStorage } from './storage';
|
|
4
4
|
/**
|
|
5
5
|
* Refreshes the authentication session if needed
|
|
@@ -13,5 +13,5 @@ import type { SessionStorage } from './storage';
|
|
|
13
13
|
* @param marginSeconds - The number of seconds before the token expiration to refresh the session. If the token is still valid for this duration, it will not be refreshed. Set to 0 to force the refresh.
|
|
14
14
|
* @returns A promise that resolves to the current session (refreshed if needed) or null if no session exists
|
|
15
15
|
*/
|
|
16
|
-
export declare const refreshSession: (auth: AuthClient, storage: SessionStorage, marginSeconds?: number) => Promise<
|
|
16
|
+
export declare const refreshSession: (auth: AuthClient, storage: SessionStorage, marginSeconds?: number) => Promise<StoredSession | null>;
|
|
17
17
|
//# sourceMappingURL=refreshSession.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refreshSession.d.ts","sourceRoot":"","sources":["../../../src/session/refreshSession.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAiB,MAAM,SAAS,CAAC;AAEnE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"refreshSession.d.ts","sourceRoot":"","sources":["../../../src/session/refreshSession.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAiB,MAAM,SAAS,CAAC;AAEnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AA4BhD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,GACzB,MAAM,UAAU,EAChB,SAAS,cAAc,EACvB,sBAAkB,KACjB,OAAO,CAAC,aAAa,GAAG,IAAI,CAmB9B,CAAC"}
|
|
@@ -98,7 +98,7 @@ const _needsRefresh = (storage, marginSeconds = 60) => {
|
|
|
98
98
|
if (!session) {
|
|
99
99
|
return { session: null, needsRefresh: false, sessionExpired: false };
|
|
100
100
|
}
|
|
101
|
-
if (!session.decodedToken
|
|
101
|
+
if (!session.decodedToken?.exp) {
|
|
102
102
|
// if the session does not have a valid decoded token, treat it as expired
|
|
103
103
|
// as we can't determine its validity
|
|
104
104
|
return { session, needsRefresh: true, sessionExpired: true };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refreshSession.js","sourceRoot":"","sources":["../../../src/session/refreshSession.ts"],"names":[],"mappings":"AAKA,MAAM,SAAS;IACb,KAAK,CAAC,OAAO,CACX,KAAa,EACb,QAA0C;IAC1C,kDAAkD;IAClD,QAA4B;QAE5B,OAAO,QAAQ,EAAE,CAAC;IACpB,CAAC;CACF;AAYD,MAAM,IAAI,GACR,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,KAAK;IACjD,CAAC,CAAC,SAAS,CAAC,KAAK;IACjB,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC;AAEtB;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,IAAgB,EAChB,OAAuB,EACvB,aAAa,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"refreshSession.js","sourceRoot":"","sources":["../../../src/session/refreshSession.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,9 +16,31 @@ export interface DecodedToken {
|
|
|
16
16
|
/** Any other JWT claims */
|
|
17
17
|
[key: string]: unknown;
|
|
18
18
|
}
|
|
19
|
-
|
|
19
|
+
/**
|
|
20
|
+
* The enriched session stored and managed by the Nhost SDK client.
|
|
21
|
+
*
|
|
22
|
+
* This is a superset of the raw `Session` returned by the auth API
|
|
23
|
+
* (importable from `@nhost/nhost-js/auth`). In addition to the standard
|
|
24
|
+
* auth fields, it includes a `decodedToken` with the parsed JWT payload,
|
|
25
|
+
* making it easy to inspect Hasura claims, roles, and session variables
|
|
26
|
+
* without manually decoding the access token.
|
|
27
|
+
*
|
|
28
|
+
* This is the type you must use when implementing a custom
|
|
29
|
+
* {@link SessionStorageBackend} for `createServerClient`.
|
|
30
|
+
*
|
|
31
|
+
* @see {@link SessionStorageBackend}
|
|
32
|
+
*/
|
|
33
|
+
export interface StoredSession extends AuthSession {
|
|
20
34
|
/** Decoded JWT token payload with processed timestamps and Hasura claims */
|
|
21
35
|
decodedToken: DecodedToken;
|
|
22
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* @deprecated Use {@link StoredSession} instead. Both the auth module and the
|
|
39
|
+
* session module previously exported a type named `Session`, but they are
|
|
40
|
+
* different: `auth.Session` is the raw API response, while `session.Session`
|
|
41
|
+
* is the enriched client-side session that includes `decodedToken`.
|
|
42
|
+
* `StoredSession` is the unambiguous name for the latter.
|
|
43
|
+
*/
|
|
44
|
+
export type Session = StoredSession;
|
|
23
45
|
export declare const decodeUserSession: (accessToken: string) => DecodedToken;
|
|
24
46
|
//# sourceMappingURL=session.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/session/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,2CAA2C;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,8BAA8B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzD,2BAA2B;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/session/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,2CAA2C;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,8BAA8B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzD,2BAA2B;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,4EAA4E;IAC5E,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,OAAO,GAAG,aAAa,CAAC;AAuBpC,eAAO,MAAM,iBAAiB,GAAI,aAAa,MAAM,KAAG,YA6CvD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/session/session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/session/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
* across page reloads and browser sessions.
|
|
6
6
|
*/
|
|
7
7
|
import type { Session as AuthSession } from '../auth';
|
|
8
|
-
import { type
|
|
8
|
+
import { type StoredSession } from './session';
|
|
9
9
|
import { type SessionStorageBackend } from './storageBackend';
|
|
10
10
|
/**
|
|
11
11
|
* Callback function type for session change subscriptions
|
|
12
12
|
*/
|
|
13
|
-
export type SessionChangeCallback = (session:
|
|
13
|
+
export type SessionChangeCallback = (session: StoredSession | null) => void;
|
|
14
14
|
/**
|
|
15
15
|
* A wrapper around any SessionStorageInterface implementation that adds
|
|
16
16
|
* the ability to subscribe to session changes.
|
|
@@ -27,7 +27,7 @@ export declare class SessionStorage {
|
|
|
27
27
|
* Gets the session from the underlying storage
|
|
28
28
|
* @returns The stored session or null if not found
|
|
29
29
|
*/
|
|
30
|
-
get():
|
|
30
|
+
get(): StoredSession | null;
|
|
31
31
|
/**
|
|
32
32
|
* Sets the session in the underlying storage and notifies subscribers
|
|
33
33
|
* @param value - The session to store
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/session/storage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAqB,KAAK,
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/session/storage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAqB,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,kBAAkB,CAAC;AAE1B;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,KAAK,IAAI,CAAC;AAE5E;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,WAAW,CAAoC;IAEvD;;;OAGG;gBACS,OAAO,EAAE,qBAAqB;IAI1C;;;OAGG;IACH,GAAG,IAAI,aAAa,GAAG,IAAI;IAI3B;;;OAGG;IACH,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAW7B;;OAEG;IACH,MAAM,IAAI,IAAI;IAKd;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,qBAAqB;IAQxC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;CAS1B;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,QAAO,qBAKhC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/session/storage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/session/storage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,iBAAiB,EAAsB,MAAM,WAAW,CAAC;AAClE,OAAO,EACL,YAAY,EACZ,aAAa,GAEd,MAAM,kBAAkB,CAAC;AAO1B;;;GAGG;AACH,MAAM,OAAO,cAAc;IACR,OAAO,CAAwB;IACxC,WAAW,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEvD;;;OAGG;IACH,YAAY,OAA8B;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,GAAG;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,KAAkB;QACpB,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC1D,MAAM,cAAc,GAAG;YACrB,GAAG,KAAK;YACR,YAAY,EAAE,YAAY;SAC3B,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACjC,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACtB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,QAA+B;QACtC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE/B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,iBAAiB,CAAC,OAA6B;QACrD,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,UAAU,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,GAA0B,EAAE;IACvD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,IAAI,YAAY,EAAE,CAAC;IAC5B,CAAC;IACD,OAAO,IAAI,aAAa,EAAE,CAAC;AAC7B,CAAC,CAAC"}
|
|
@@ -4,22 +4,39 @@
|
|
|
4
4
|
* This module provides different storage adapters for persisting authentication sessions
|
|
5
5
|
* across page reloads and browser sessions.
|
|
6
6
|
*/
|
|
7
|
-
import type {
|
|
7
|
+
import type { StoredSession } from './session';
|
|
8
8
|
/**
|
|
9
9
|
* Session storage interface for session persistence.
|
|
10
10
|
* This interface can be implemented to provide custom storage solutions.
|
|
11
|
+
*
|
|
12
|
+
* **Important:** The methods here operate on {@link StoredSession}, which is
|
|
13
|
+
* the enriched client-side session managed by the Nhost SDK. It extends the
|
|
14
|
+
* raw `Session` type from `@nhost/nhost-js/auth` by adding a `decodedToken`
|
|
15
|
+
* field with the parsed JWT payload. Do **not** use `auth.Session` here —
|
|
16
|
+
* it is missing `decodedToken` and will cause a TypeScript error.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* import { type StoredSession, type SessionStorageBackend } from '@nhost/nhost-js/session';
|
|
21
|
+
*
|
|
22
|
+
* class MyCustomStorage implements SessionStorageBackend {
|
|
23
|
+
* get(): StoredSession | null { ... }
|
|
24
|
+
* set(value: StoredSession): void { ... }
|
|
25
|
+
* remove(): void { ... }
|
|
26
|
+
* }
|
|
27
|
+
* ```
|
|
11
28
|
*/
|
|
12
29
|
export interface SessionStorageBackend {
|
|
13
30
|
/**
|
|
14
31
|
* Get the current session from storage
|
|
15
32
|
* @returns The stored session or null if not found
|
|
16
33
|
*/
|
|
17
|
-
get():
|
|
34
|
+
get(): StoredSession | null;
|
|
18
35
|
/**
|
|
19
36
|
* Set the session in storage
|
|
20
37
|
* @param value - The session to store
|
|
21
38
|
*/
|
|
22
|
-
set(value:
|
|
39
|
+
set(value: StoredSession): void;
|
|
23
40
|
/**
|
|
24
41
|
* Remove the session from storage
|
|
25
42
|
*/
|
|
@@ -47,12 +64,12 @@ export declare class LocalStorage implements SessionStorageBackend {
|
|
|
47
64
|
* Gets the session from localStorage
|
|
48
65
|
* @returns The stored session or null if not found
|
|
49
66
|
*/
|
|
50
|
-
get():
|
|
67
|
+
get(): StoredSession | null;
|
|
51
68
|
/**
|
|
52
69
|
* Sets the session in localStorage
|
|
53
70
|
* @param value - The session to store
|
|
54
71
|
*/
|
|
55
|
-
set(value:
|
|
72
|
+
set(value: StoredSession): void;
|
|
56
73
|
/**
|
|
57
74
|
* Removes the session from localStorage
|
|
58
75
|
*/
|
|
@@ -68,12 +85,12 @@ export declare class MemoryStorage implements SessionStorageBackend {
|
|
|
68
85
|
* Gets the session from memory
|
|
69
86
|
* @returns The stored session or null if not set
|
|
70
87
|
*/
|
|
71
|
-
get():
|
|
88
|
+
get(): StoredSession | null;
|
|
72
89
|
/**
|
|
73
90
|
* Sets the session in memory
|
|
74
91
|
* @param value - The session to store
|
|
75
92
|
*/
|
|
76
|
-
set(value:
|
|
93
|
+
set(value: StoredSession): void;
|
|
77
94
|
/**
|
|
78
95
|
* Clears the session from memory
|
|
79
96
|
*/
|
|
@@ -108,12 +125,12 @@ export declare class CookieStorage implements SessionStorageBackend {
|
|
|
108
125
|
* Gets the session from cookies
|
|
109
126
|
* @returns The stored session or null if not found
|
|
110
127
|
*/
|
|
111
|
-
get():
|
|
128
|
+
get(): StoredSession | null;
|
|
112
129
|
/**
|
|
113
130
|
* Sets the session in a cookie
|
|
114
131
|
* @param value - The session to store
|
|
115
132
|
*/
|
|
116
|
-
set(value:
|
|
133
|
+
set(value: StoredSession): void;
|
|
117
134
|
/**
|
|
118
135
|
* Removes the session cookie
|
|
119
136
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storageBackend.d.ts","sourceRoot":"","sources":["../../../src/session/storageBackend.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"storageBackend.d.ts","sourceRoot":"","sources":["../../../src/session/storageBackend.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,GAAG,IAAI,aAAa,GAAG,IAAI,CAAC;IAE5B;;;OAGG;IACH,GAAG,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IAEhC;;OAEG;IACH,MAAM,IAAI,IAAI,CAAC;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAElD;;;GAGG;AACH,qBAAa,YAAa,YAAW,qBAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC;;;;OAIG;gBACS,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IAI7C;;;OAGG;IACH,GAAG,IAAI,aAAa,GAAG,IAAI;IAU3B;;;OAGG;IACH,GAAG,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAI/B;;OAEG;IACH,MAAM,IAAI,IAAI;CAGf;AAED;;;GAGG;AACH,qBAAa,aAAc,YAAW,qBAAqB;IACzD,OAAO,CAAC,OAAO,CAA8B;IAE7C;;;OAGG;IACH,GAAG,IAAI,aAAa,GAAG,IAAI;IAI3B;;;OAGG;IACH,GAAG,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAI/B;;OAEG;IACH,MAAM,IAAI,IAAI;CAGf;AAED;;;;;GAKG;AACH,qBAAa,aAAc,YAAW,qBAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IAErD;;;;;;;OAOG;gBACS,OAAO,CAAC,EAAE;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;KACtC;IAOD;;;OAGG;IACH,GAAG,IAAI,aAAa,GAAG,IAAI;IAgB3B;;;OAGG;IACH,GAAG,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAa/B;;OAEG;IACH,MAAM,IAAI,IAAI;CAIf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storageBackend.js","sourceRoot":"","sources":["../../../src/session/storageBackend.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"storageBackend.js","sourceRoot":"","sources":["../../../src/session/storageBackend.ts"],"names":[],"mappings":"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"}
|