@molecule/app-solid 1.0.3 → 1.0.5

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/README.md CHANGED
@@ -3,7 +3,7 @@ AUTO-GENERATED — DO NOT EDIT THIS FILE.
3
3
  Generated by `mlcl sync-docs` from the package's src/index.ts JSDoc + mlcl/registry.json.
4
4
  Edits here are overwritten on the next commit (molecule's pre-commit hook regenerates).
5
5
  To change this document, edit the module-level JSDoc in src/index.ts.
6
- Generated: 2026-10-21T09:43:19.112Z
6
+ Generated: 2026-10-23T15:23:11.674Z
7
7
  -->
8
8
 
9
9
  # @molecule/app-solid
@@ -110,7 +110,7 @@ Provides login/logout/register flows, token management, profile
110
110
  updates, and auth state subscription.
111
111
 
112
112
  ```typescript
113
- interface AuthClient<T = UserProfile, TRegister extends Record<string, unknown> = Record<never, never>> {
113
+ interface AuthClient<T = UserProfile, TRegister extends RegisterExtraShape<TRegister> = Record<never, never>> {
114
114
  /**
115
115
  * Returns the current authentication state snapshot.
116
116
  *
@@ -130,6 +130,15 @@ interface AuthClient<T = UserProfile, TRegister extends Record<string, unknown>
130
130
  * Gets the current user.
131
131
  */
132
132
  getUser(): T | null;
133
+ /**
134
+ * Optional ownership marker for the current session. Compare values only within
135
+ * this client: replacing or ending a session changes it, including re-adopting
136
+ * the same token and user. Profile updates and same-session refreshes keep it.
137
+ * Consumers can use it to discard stale async work without treating editable
138
+ * user fields as an immutable account identifier. Providers without this
139
+ * capability require the consumer's own stable identity check.
140
+ */
141
+ getSessionRevision?(): number;
133
142
  /**
134
143
  * Updates the cached user object (state + persistent storage) without
135
144
  * hitting the network. Intended for local refreshes after a per-app
@@ -204,6 +213,9 @@ interface AuthClient<T = UserProfile, TRegister extends Record<string, unknown>
204
213
  confirmPasswordReset(data: PasswordResetConfirm): Promise<void>;
205
214
  /**
206
215
  * Updates the current user's profile.
216
+ * Returns the saved response. If the session is explicitly replaced or ended
217
+ * while the request is pending, that response does not replace the current
218
+ * session's user or persisted cache.
207
219
  */
208
220
  updateProfile(data: Partial<T>): Promise<T>;
209
221
  /**
@@ -262,16 +274,6 @@ interface AuthClient<T = UserProfile, TRegister extends Record<string, unknown>
262
274
  * Resolves IMMEDIATELY when no restore is in flight: before `initialize()` is ever
263
275
  * called, and after it has finished. A restore that failed resolves too (it settled the
264
276
  * question), so an HTTP client can await this before every request without risking one
265
- * held forever. That is what makes the fetch-before-restore race impossible: a page that
266
- * fetches viewer-dependent data on mount waits here instead of going out anonymously
267
- * (see `setAuthGate` in `@molecule/app-http`).
268
- *
269
- * Optional: a provider that restores no session has nothing to wait for. Without it, an
270
- * HTTP client bonded to that provider sends first-paint requests unauthenticated.
271
- *
272
- * A provider whose restore sends a request THROUGH the gated HTTP client must send that
273
- * request with `skipAuthGate: true` (`RequestConfig` in `@molecule/app-http`): the gate
274
- * waits on this promise, so holding the restore's own request makes the gate wait on
275
277
  // … truncated — the full declaration is in node_modules/@molecule/app-solid/dist
276
278
  ```
277
279
 
@@ -354,7 +356,13 @@ interface FormController<T extends Record<string, unknown> = Record<string, unkn
354
356
  */
355
357
  validate(): Promise<boolean>
356
358
  /**
357
- * Resets the form to initial values.
359
+ * Resets the form and clears errors, touched fields and submission state.
360
+ *
361
+ * With no argument it restores the current baseline — the initial
362
+ * `defaultValues`, or the values a previous `reset(values)` established.
363
+ * Passing `values` merges them over the current baseline and makes the
364
+ * result the new baseline, so a form reset to freshly loaded or saved data
365
+ * reads clean (`isDirty === false`).
358
366
  */
359
367
  reset(values?: Partial<T>): void
360
368
  /**
@@ -386,7 +394,8 @@ Form creation options.
386
394
  ```typescript
387
395
  interface FormOptions<T extends Record<string, unknown>> {
388
396
  /**
389
- * Default values.
397
+ * Default values, captured as the form's clean baseline when the controller
398
+ * is created. Mutating this object afterwards does not change the baseline.
390
399
  */
391
400
  defaultValues?: Partial<T>
392
401
  /**
@@ -1372,14 +1381,17 @@ interface StorageValueState<T> {
1372
1381
  Auth primitives return type.
1373
1382
 
1374
1383
  ```typescript
1375
- interface AuthPrimitives<T = unknown> {
1384
+ interface AuthPrimitives<
1385
+ T = unknown,
1386
+ TRegister extends RegisterExtraShape<TRegister> = Record<never, never>,
1387
+ > {
1376
1388
  state: Accessor<AuthState<T>>
1377
1389
  user: Accessor<T | null>
1378
1390
  isAuthenticated: Accessor<boolean>
1379
1391
  isLoading: Accessor<boolean>
1380
1392
  login: AuthClient<T>['login']
1381
1393
  logout: AuthClient<T>['logout']
1382
- register: AuthClient<T>['register']
1394
+ register: AuthClient<T, TRegister>['register']
1383
1395
  refresh: AuthClient<T>['refresh']
1384
1396
  }
1385
1397
  ```
@@ -1468,8 +1480,12 @@ function getStateProvider(): StateProvider
1468
1480
 
1469
1481
  Get the auth client from context.
1470
1482
 
1483
+ Pass the same generics the client was created with —
1484
+ `getAuthClient<MyUser, { username: string }>()` — so `register()` accepts
1485
+ the app's own fields.
1486
+
1471
1487
  ```typescript
1472
- function getAuthClient(): AuthClient<T, Record<never, never>>
1488
+ function getAuthClient(): AuthClient<T, TRegister>
1473
1489
  ```
1474
1490
 
1475
1491
  **Returns:** The auth client instance.
@@ -1551,7 +1567,7 @@ function createAsyncState(initialState: T): CreateAsyncStateReturn<T>
1551
1567
  Create auth primitives for authentication state and actions.
1552
1568
 
1553
1569
  ```typescript
1554
- function createAuth(): AuthPrimitives<T>
1570
+ function createAuth(): AuthPrimitives<T, TRegister>
1555
1571
  ```
1556
1572
 
1557
1573
  **Returns:** Auth primitives object
@@ -1576,7 +1592,7 @@ Creates a auth helpers.
1576
1592
  function createAuthHelpers(): {
1577
1593
  login: (credentials: LoginCredentials) => Promise<AuthResult<T>>
1578
1594
  logout: () => Promise<void>
1579
- register: (data: RegisterData) => Promise<AuthResult<T>>
1595
+ register: (data: RegisterData<TRegister>) => Promise<AuthResult<T>>
1580
1596
  refresh: () => Promise<AuthResult<T>>
1581
1597
  getUser: () => T | null
1582
1598
  getToken: () => string | null
@@ -1591,7 +1607,7 @@ function createAuthHelpers(): {
1591
1607
  Create auth primitives from a specific client.
1592
1608
 
1593
1609
  ```typescript
1594
- function createAuthFromClient(client: AuthClient<T, Record<never, never>>): AuthPrimitives<T>
1610
+ function createAuthFromClient(client: AuthClient<T, TRegister>): AuthPrimitives<T, TRegister>
1595
1611
  ```
1596
1612
 
1597
1613
  - `client` — Auth client
package/dist/context.d.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module
5
5
  */
6
- import type { AuthClient } from '@molecule/app-auth';
6
+ import type { AuthClient, RegisterExtraShape } from '@molecule/app-auth';
7
7
  import type { HttpClient } from '@molecule/app-http';
8
8
  import type { I18nProvider } from '@molecule/app-i18n';
9
9
  import type { LoggerProvider } from '@molecule/app-logger';
@@ -32,10 +32,14 @@ export declare function getStateProvider(): StateProvider;
32
32
  /**
33
33
  * Get the auth client from context.
34
34
  *
35
+ * Pass the same generics the client was created with —
36
+ * `getAuthClient<MyUser, { username: string }>()` — so `register()` accepts
37
+ * the app's own fields.
38
+ *
35
39
  * @returns The auth client instance.
36
40
  * @throws {Error} If used outside MoleculeProvider.
37
41
  */
38
- export declare function getAuthClient<T = unknown>(): AuthClient<T>;
42
+ export declare function getAuthClient<T = unknown, TRegister extends RegisterExtraShape<TRegister> = Record<never, never>>(): AuthClient<T, TRegister>;
39
43
  /**
40
44
  * Get the theme provider from context.
41
45
  *
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAExD;;GAEG;AACH,QAAA,MAAM,YAAY,uDAAiC,CAAA;AACnD,QAAA,MAAM,WAAW,mFAAuC,CAAA;AACxD,QAAA,MAAM,YAAY,uDAAiC,CAAA;AACnD,QAAA,MAAM,aAAa,gDAA0B,CAAA;AAC7C,QAAA,MAAM,WAAW,sDAAgC,CAAA;AACjD,QAAA,MAAM,WAAW,oDAA8B,CAAA;AAC/C,QAAA,MAAM,cAAc,yDAAmC,CAAA;AACvD,QAAA,MAAM,aAAa,wDAAkC,CAAA;AAErD;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAWhD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,GAAG,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,CAU1D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAWhD;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAUlC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,IAAI,YAAY,CAU9C;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,IAAI,UAAU,CAU1C;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAWpD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CAWlD;AAGD,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,EACZ,cAAc,EACd,YAAY,GACb,CAAA"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAExD;;GAEG;AACH,QAAA,MAAM,YAAY,uDAAiC,CAAA;AACnD,QAAA,MAAM,WAAW,mFAAuC,CAAA;AACxD,QAAA,MAAM,YAAY,uDAAiC,CAAA;AACnD,QAAA,MAAM,aAAa,gDAA0B,CAAA;AAC7C,QAAA,MAAM,WAAW,sDAAgC,CAAA;AACjD,QAAA,MAAM,WAAW,oDAA8B,CAAA;AAC/C,QAAA,MAAM,cAAc,yDAAmC,CAAA;AACvD,QAAA,MAAM,aAAa,wDAAkC,CAAA;AAErD;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAWhD;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,CAAC,GAAG,OAAO,EACX,SAAS,SAAS,kBAAkB,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,KACnE,UAAU,CAAC,CAAC,EAAE,SAAS,CAAC,CAU5B;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAWhD;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAUlC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,IAAI,YAAY,CAU9C;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,IAAI,UAAU,CAU1C;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAWpD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CAWlD;AAGD,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,EACZ,cAAc,EACd,YAAY,GACb,CAAA"}
package/dist/context.js CHANGED
@@ -34,6 +34,10 @@ export function getStateProvider() {
34
34
  /**
35
35
  * Get the auth client from context.
36
36
  *
37
+ * Pass the same generics the client was created with —
38
+ * `getAuthClient<MyUser, { username: string }>()` — so `register()` accepts
39
+ * the app's own fields.
40
+ *
37
41
  * @returns The auth client instance.
38
42
  * @throws {Error} If used outside MoleculeProvider.
39
43
  */
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * @module
5
5
  */
6
6
  import { type Accessor } from 'solid-js';
7
- import type { AuthClient, AuthResult, LoginCredentials, RegisterData } from '@molecule/app-auth';
7
+ import type { AuthClient, AuthResult, LoginCredentials, RegisterData, RegisterExtraShape } from '@molecule/app-auth';
8
8
  import type { AuthPrimitives } from '../types.js';
9
9
  /**
10
10
  * Create auth primitives for authentication state and actions.
@@ -36,7 +36,7 @@ import type { AuthPrimitives } from '../types.js';
36
36
  * }
37
37
  * ```
38
38
  */
39
- export declare function createAuth<T = unknown>(): AuthPrimitives<T>;
39
+ export declare function createAuth<T = unknown, TRegister extends RegisterExtraShape<TRegister> = Record<never, never>>(): AuthPrimitives<T, TRegister>;
40
40
  /**
41
41
  * Create a guard primitive that redirects unauthenticated users.
42
42
  *
@@ -66,10 +66,10 @@ export declare function createAuthGuard(redirectTo: string): Accessor<boolean>;
66
66
  * Creates a auth helpers.
67
67
  * @returns The created result.
68
68
  */
69
- export declare function createAuthHelpers<T = unknown>(): {
69
+ export declare function createAuthHelpers<T = unknown, TRegister extends RegisterExtraShape<TRegister> = Record<never, never>>(): {
70
70
  login: (credentials: LoginCredentials) => Promise<AuthResult<T>>;
71
71
  logout: () => Promise<void>;
72
- register: (data: RegisterData) => Promise<AuthResult<T>>;
72
+ register: (data: RegisterData<TRegister>) => Promise<AuthResult<T>>;
73
73
  refresh: () => Promise<AuthResult<T>>;
74
74
  getUser: () => T | null;
75
75
  getToken: () => string | null;
@@ -81,5 +81,5 @@ export declare function createAuthHelpers<T = unknown>(): {
81
81
  * @param client - Auth client
82
82
  * @returns Auth primitives
83
83
  */
84
- export declare function createAuthFromClient<T = unknown>(client: AuthClient<T>): AuthPrimitives<T>;
84
+ export declare function createAuthFromClient<T = unknown, TRegister extends RegisterExtraShape<TRegister> = Record<never, never>>(client: AuthClient<T, TRegister>): AuthPrimitives<T, TRegister>;
85
85
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/primitives/auth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,QAAQ,EAAyC,MAAM,UAAU,CAAA;AAE/E,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EAEV,gBAAgB,EAChB,YAAY,EACb,MAAM,oBAAoB,CAAA;AAG3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,UAAU,CAAC,CAAC,GAAG,OAAO,KAAK,cAAc,CAAC,CAAC,CAAC,CAmC3D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAUrE;AAED;;;;GAIG;AAEH;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,GAAG,OAAO,KAAK;IAChD,KAAK,EAAE,CAAC,WAAW,EAAE,gBAAgB,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;IAChE,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;IACxD,OAAO,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;IACrC,OAAO,EAAE,MAAM,CAAC,GAAG,IAAI,CAAA;IACvB,QAAQ,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;IAC7B,eAAe,EAAE,MAAM,OAAO,CAAA;CAC/B,CAYA;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CA2B1F"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/primitives/auth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,QAAQ,EAAyC,MAAM,UAAU,CAAA;AAE/E,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EAEV,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EACnB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,UAAU,CACxB,CAAC,GAAG,OAAO,EACX,SAAS,SAAS,kBAAkB,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,KACnE,cAAc,CAAC,CAAC,EAAE,SAAS,CAAC,CAmChC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAUrE;AAED;;;;GAIG;AAEH;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,GAAG,OAAO,EACX,SAAS,SAAS,kBAAkB,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,KACnE;IACH,KAAK,EAAE,CAAC,WAAW,EAAE,gBAAgB,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;IAChE,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;IACnE,OAAO,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;IACrC,OAAO,EAAE,MAAM,CAAC,GAAG,IAAI,CAAA;IACvB,QAAQ,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;IAC7B,eAAe,EAAE,MAAM,OAAO,CAAA;CAC/B,CAYA;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,CAAC,GAAG,OAAO,EACX,SAAS,SAAS,kBAAkB,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EACtE,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,SAAS,CAAC,CA2BhE"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/primitives/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/primitives/auth.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * @module
5
5
  */
6
6
  import type { Accessor, Setter } from 'solid-js';
7
- import type { AuthClient, AuthState } from '@molecule/app-auth';
7
+ import type { AuthClient, AuthState, RegisterExtraShape } from '@molecule/app-auth';
8
8
  import type { FormController, FormOptions } from '@molecule/app-forms';
9
9
  import type { HttpClient } from '@molecule/app-http';
10
10
  import type { I18nProvider } from '@molecule/app-i18n';
@@ -44,15 +44,20 @@ export interface StorageValueState<T> {
44
44
  }
45
45
  /**
46
46
  * Auth primitives return type.
47
+ *
48
+ * @template T - The user profile the API returns.
49
+ * @template TRegister - The app's own registration fields (the second generic
50
+ * of `createJWTAuthClient<T, TRegister>`), so `register()` is typed like the
51
+ * client's.
47
52
  */
48
- export interface AuthPrimitives<T = unknown> {
53
+ export interface AuthPrimitives<T = unknown, TRegister extends RegisterExtraShape<TRegister> = Record<never, never>> {
49
54
  state: Accessor<AuthState<T>>;
50
55
  user: Accessor<T | null>;
51
56
  isAuthenticated: Accessor<boolean>;
52
57
  isLoading: Accessor<boolean>;
53
58
  login: AuthClient<T>['login'];
54
59
  logout: AuthClient<T>['logout'];
55
- register: AuthClient<T>['register'];
60
+ register: AuthClient<T, TRegister>['register'];
56
61
  refresh: AuthClient<T>['refresh'];
57
62
  }
58
63
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@molecule/app-solid",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "Solid.js framework bindings for molecule.dev",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -39,12 +39,12 @@
39
39
  "solid-js": "^1.8.0"
40
40
  },
41
41
  "devDependencies": {
42
- "@molecule/app-utilities": "1.0.4",
43
- "@types/node": "26.1.2",
44
- "seroval": "1.6.11",
42
+ "@molecule/app-utilities": "1.0.5",
43
+ "@types/node": "26.6.5",
44
+ "seroval": "1.7.1",
45
45
  "solid-js": "1.9.17",
46
46
  "typescript": "6.0.3",
47
- "vitest": "4.1.11"
47
+ "vitest": "4.1.12"
48
48
  },
49
49
  "repository": {
50
50
  "type": "git",