velocious 1.0.646 → 1.0.648

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 (37) hide show
  1. package/README.md +2 -2
  2. package/build/environment-handlers/node/cli/commands/generate/frontend-models.js +50 -3
  3. package/build/frontend-models/base.js +62 -25
  4. package/build/frontend-models/event-hook-models.js +1 -1
  5. package/build/frontend-models/use-destroyed-event.js +2 -2
  6. package/build/frontend-models/use-model-class-event.js +2 -2
  7. package/build/frontend-models/use-updated-event.js +2 -2
  8. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts +9 -0
  9. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts.map +1 -1
  10. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.js +45 -3
  11. package/build/src/frontend-models/base.d.ts +49 -34
  12. package/build/src/frontend-models/base.d.ts.map +1 -1
  13. package/build/src/frontend-models/base.js +59 -26
  14. package/build/src/frontend-models/event-hook-models.d.ts +1 -1
  15. package/build/src/frontend-models/event-hook-models.d.ts.map +1 -1
  16. package/build/src/frontend-models/event-hook-models.js +2 -2
  17. package/build/src/frontend-models/use-destroyed-event.d.ts +2 -2
  18. package/build/src/frontend-models/use-destroyed-event.d.ts.map +1 -1
  19. package/build/src/frontend-models/use-destroyed-event.js +3 -3
  20. package/build/src/frontend-models/use-model-class-event.d.ts +2 -2
  21. package/build/src/frontend-models/use-model-class-event.d.ts.map +1 -1
  22. package/build/src/frontend-models/use-model-class-event.js +3 -3
  23. package/build/src/frontend-models/use-updated-event.d.ts +2 -2
  24. package/build/src/frontend-models/use-updated-event.d.ts.map +1 -1
  25. package/build/src/frontend-models/use-updated-event.js +3 -3
  26. package/build/src/testing/browser-frontend-model-event-hook-scenarios.d.ts +10 -8
  27. package/build/src/testing/browser-frontend-model-event-hook-scenarios.d.ts.map +1 -1
  28. package/build/src/testing/browser-frontend-model-event-hook-scenarios.js +19 -11
  29. package/build/testing/browser-frontend-model-event-hook-scenarios.js +18 -10
  30. package/package.json +1 -1
  31. package/src/environment-handlers/node/cli/commands/generate/frontend-models.js +50 -3
  32. package/src/frontend-models/base.js +62 -25
  33. package/src/frontend-models/event-hook-models.js +1 -1
  34. package/src/frontend-models/use-destroyed-event.js +2 -2
  35. package/src/frontend-models/use-model-class-event.js +2 -2
  36. package/src/frontend-models/use-updated-event.js +2 -2
  37. package/src/testing/browser-frontend-model-event-hook-scenarios.js +18 -10
package/README.md CHANGED
@@ -631,7 +631,7 @@ npx velocious g:frontend-models
631
631
 
632
632
  Frontend-model attributes can usually be declared by name. The generator infers JSDoc typedefs and nullability from backend model columns and translated attribute columns. When an attribute entry needs resource-specific options such as `selectedByDefault: false`, keep only that option in the resource config, for example `{name: "archivedAt", selectedByDefault: false}`; the column type and nullability are still inferred. For computed resource attributes, add a typed `${attributeName}Attribute(model)` method with an `@returns` tag in the backend project's `src` tree. Resource attribute return types take precedence over column types because the resource method controls the serialized value. If Velocious cannot infer a read attribute from a column, generated model accessor, resource method JSDoc, or explicit metadata, generation fails with a clear error instead of emitting a broad fallback type.
633
633
 
634
- This creates `src/frontend-models/user.js` (and one file per configured resource). Import each model directly by its file path (e.g. `import User from ".../frontend-models/user.js"`); `src/frontend-models/setup.js` side-effect-imports every model file so they self-register (import it once at app startup). No barrel/`index.js` is generated. Every generated file — the per-model files and `setup.js` here, and the base-model files from `g:base-models` — starts with an auto-generated banner stating it must not be edited manually because changes are overwritten on the next regeneration, and naming the command that regenerates it. Apply changes at their source (resource/model definitions or the generator) and regenerate. Generated classes support:
634
+ This creates `src/frontend-models/user.js` (and one file per configured resource). Import each model directly by its file path (e.g. `import User from ".../frontend-models/user.js"`); named and default exports remain class declarations, so they can be constructed and referenced as instance types. `src/frontend-models/setup.js` side-effect-imports every model file so they self-register (import it once at app startup). No barrel/`index.js` is generated. Every generated file — the per-model files and `setup.js` here, and the base-model files from `g:base-models` — starts with an auto-generated banner stating it must not be edited manually because changes are overwritten on the next regeneration, and naming the command that regenerates it. Apply changes at their source (resource/model definitions or the generator) and regenerate. Generated classes support:
635
635
 
636
636
  - `await User.find(5)`
637
637
  - `await User.findBy({email: "john@example.com"})`
@@ -680,7 +680,7 @@ useModelClassEvent(Subscription, ["create", "update"], () => {
680
680
  })
681
681
  ```
682
682
 
683
- `useCreatedEvent`, `useUpdatedEvent`, and `useDestroyedEvent` are also available. `useUpdatedEvent` and `useDestroyedEvent` accept either a model class or model instance. Lifecycle subscriptions accept the same projection options as frontend-model queries for event records, including `select`, `preload`, `withCount`, `abilities`, and `queryData`. Pass a registration-local `requestContext` when several tenant routes for the same model can be mounted concurrently. Omitting it inherits the configured transport context; passing `{}` explicitly replaces that context with an unscoped registration. Velocious captures it immutably, sends it to the tenant resolver, and partitions server subscriptions by its value: equal contexts retain multiplexing, while distinct contexts never share an event-filter request. The backend must still authorize the resolved tenant; request context is not proof of access.
683
+ `useCreatedEvent`, `useUpdatedEvent`, and `useDestroyedEvent` are also available. `useUpdatedEvent` and `useDestroyedEvent` accept either a model class or model instance. Generated lifecycle callbacks retain the concrete generated model type; scalar event ids are strings and composite event ids are objects keyed by the configured primary-key attributes. Lifecycle subscriptions accept the same projection options as frontend-model queries for event records, including `select`, `preload`, `withCount`, `abilities`, and `queryData`. Pass a registration-local `requestContext` when several tenant routes for the same model can be mounted concurrently. Omitting it inherits the configured transport context; passing `{}` explicitly replaces that context with an unscoped registration. Velocious captures it immutably, sends it to the tenant resolver, and partitions server subscriptions by its value: equal contexts retain multiplexing, while distinct contexts never share an event-filter request. The backend must still authorize the resolved tenant; request context is not proof of access.
684
684
 
685
685
  Frontend-model `group(...)` is attribute/path based and does not accept raw SQL fragments. Use model/relationship shapes (for example `Task.group({project: {account: ["id"]}})`) so grouping resolves through known relationships and mapped columns.
686
686
  Frontend-model `where(...)` supports nested relationship descriptors (for example `Task.where({project: {creatingUser: {reference: "owner-b"}}})`) and does not accept raw SQL fragments.
@@ -313,6 +313,11 @@ export default class DbGenerateFrontendModels extends BaseCommand {
313
313
  }
314
314
  const collectionCommands = modelConfig.collectionCommands
315
315
  const memberCommands = modelConfig.memberCommands
316
+
317
+ if (Object.hasOwn(collectionCommands, "onDestroy")) {
318
+ throw new Error(`Frontend model collection command '${className}.onDestroy' collides with the generated lifecycle hook`)
319
+ }
320
+
316
321
  const declaredCommandMetadata = modelConfig.commandMetadata || {}
317
322
  const commandMetadata = await this.commandMetadataWithResourceJsDoc({
318
323
  commandMetadata: declaredCommandMetadata,
@@ -327,6 +332,9 @@ export default class DbGenerateFrontendModels extends BaseCommand {
327
332
  && builtInMemberCommands.find === "find"
328
333
  && builtInMemberCommands.update === "update"
329
334
  && builtInMemberCommands.url === "url"
335
+ const primaryKey = this.frontendModelPrimaryKeyForResource({attributeNames, modelClass, modelConfig})
336
+ const primaryKeyValueType = this.frontendModelPrimaryKeyValueType({attributesTypeName, primaryKey})
337
+ const eventPrimaryKeyValueType = Array.isArray(primaryKey) ? primaryKeyValueType : "string"
330
338
 
331
339
  let fileContent = generatedFileBanner(FRONTEND_MODELS_REGENERATE_COMMAND)
332
340
 
@@ -368,7 +376,7 @@ export default class DbGenerateFrontendModels extends BaseCommand {
368
376
  fileContent += await this.writeAttributesTypedef({attributes, attributesTypeName, modelClass, nestedWriteTypes, permittedParams: permittedUpdateParams, resourceClass, typeName: updateAttributesTypeName})
369
377
  fileContent += "/**\n"
370
378
  fileContent += ` * Frontend model for ${className}.\n`
371
- fileContent += ` * @augments {FrontendModelBase<${attributesTypeName}, ${createAttributesTypeName}, ${updateAttributesTypeName}>}\n`
379
+ fileContent += ` * @augments {FrontendModelBase<${attributesTypeName}, ${createAttributesTypeName}, ${updateAttributesTypeName}, ${primaryKeyValueType}, ${eventPrimaryKeyValueType}>}\n`
372
380
  fileContent += " */\n"
373
381
  fileContent += `class ${className} extends FrontendModelBase {\n`
374
382
  fileContent += " /** @returns {FrontendModelResourceConfig} - Resource config. */\n"
@@ -439,8 +447,6 @@ export default class DbGenerateFrontendModels extends BaseCommand {
439
447
  values: memberCommands
440
448
  })
441
449
  }
442
- const primaryKey = this.frontendModelPrimaryKeyForResource({attributeNames, modelClass, modelConfig})
443
-
444
450
  if (primaryKey !== "id") {
445
451
  fileContent += ` primaryKey: ${JSON.stringify(primaryKey)},\n`
446
452
  }
@@ -631,6 +637,32 @@ export default class DbGenerateFrontendModels extends BaseCommand {
631
637
  }
632
638
  }
633
639
 
640
+ fileContent += "\n"
641
+ fileContent += " /**\n"
642
+ fileContent += " * Registers a class-level destroy callback.\n"
643
+ fileContent += " * @overload\n"
644
+ fileContent += ` * @param {(payload: {id: ${eventPrimaryKeyValueType}}) => void} callback - Event callback.\n`
645
+ fileContent += ` * @param {import(${JSON.stringify(importPath)}).FrontendModelEventOptions} [options] - Destroy event options.\n`
646
+ fileContent += " * @returns {Promise<() => void>} - Unsubscribe callback.\n"
647
+ fileContent += " */\n"
648
+ fileContent += " /**\n"
649
+ fileContent += ` * @template {import(${JSON.stringify(importPath)}).FrontendModelClass} T\n`
650
+ fileContent += " * @overload\n"
651
+ fileContent += " * @this {T}\n"
652
+ fileContent += ` * @param {(payload: {id: import(${JSON.stringify(importPath)}).FrontendModelEventPrimaryKeyValueFor<InstanceType<T>>}) => void} callback - Event callback.\n`
653
+ fileContent += ` * @param {import(${JSON.stringify(importPath)}).FrontendModelEventOptions} [options] - Destroy event options.\n`
654
+ fileContent += " * @returns {Promise<() => void>} - Unsubscribe callback.\n"
655
+ fileContent += " */\n"
656
+ fileContent += " /**\n"
657
+ fileContent += " * Implements class-level destroy callback registration.\n"
658
+ fileContent += " * @param {(payload: {id: never}) => void} callback - Type-erased event callback.\n"
659
+ fileContent += ` * @param {import(${JSON.stringify(importPath)}).FrontendModelEventOptions} [options] - Destroy event options.\n`
660
+ fileContent += " * @returns {Promise<() => void>} - Unsubscribe callback.\n"
661
+ fileContent += " */\n"
662
+ fileContent += " static async onDestroy(callback, options = {}) {\n"
663
+ fileContent += " return await this._registerDestroyEventCallback(callback, options)\n"
664
+ fileContent += " }\n"
665
+
634
666
  fileContent += "}\n"
635
667
  fileContent += "\n"
636
668
  fileContent += `FrontendModelBase.registerModel(${className})\n`
@@ -1202,6 +1234,21 @@ export default class DbGenerateFrontendModels extends BaseCommand {
1202
1234
  return this.frontendModelPrimaryKeyForModelClass({attributeNames, modelClass})
1203
1235
  }
1204
1236
 
1237
+ /**
1238
+ * Builds the generated model's concrete primary-key value type.
1239
+ * @param {{attributesTypeName: string, primaryKey: string | string[]}} args - Primary-key type arguments.
1240
+ * @returns {string} - JSDoc type expression.
1241
+ */
1242
+ frontendModelPrimaryKeyValueType({attributesTypeName, primaryKey}) {
1243
+ if (Array.isArray(primaryKey)) {
1244
+ const attributeNames = primaryKey.map((attributeName) => JSON.stringify(attributeName)).join(" | ")
1245
+
1246
+ return `Pick<${attributesTypeName}, ${attributeNames}>`
1247
+ }
1248
+
1249
+ return `${attributesTypeName}[${JSON.stringify(primaryKey)}]`
1250
+ }
1251
+
1205
1252
  /**
1206
1253
  * Validates an explicitly configured frontend-model primary key.
1207
1254
  * @param {{attributeNames: Array<string>, primaryKey: string | string[]}} args - Configured primary key args.
@@ -21,6 +21,9 @@ import {forcedNonBlankString} from "typanic"
21
21
  import {modelPrimaryKeyCacheKey, modelPrimaryKeyConditions, readModelPrimaryKeyValue, scalarModelPrimaryKey, scalarModelPrimaryKeyValue} from "../utils/model-primary-key.js"
22
22
  import {readPayloadAssociationCount, readPayloadComputedAbility, readPayloadQueryData, setPayloadAssociationCount, setPayloadComputedAbility, setPayloadQueryData} from "../record-payload-values.js"
23
23
 
24
+ /** @typedef {string | import("../utils/model-primary-key.js").CompositeModelPrimaryKeyValue} FrontendModelEventPrimaryKeyValue */
25
+ /** @typedef {import("./query.js").FrontendModelEventOptions} FrontendModelEventOptions */
26
+
24
27
  /**
25
28
  * Frontend model relationship helper type. Returned by `getRelationshipByName`,
26
29
  * which generated models immediately cast to their concrete relationship type
@@ -32,11 +35,14 @@ import {readPayloadAssociationCount, readPayloadComputedAbility, readPayloadQuer
32
35
  */
33
36
  /**
34
37
  * Defines this typedef.
35
- * @typedef {{callback: (payload: {id: string | import("../utils/model-primary-key.js").CompositeModelPrimaryKeyValue, model: FrontendModelBase}) => void, eventFilterKey: string | null, eventFilterPayload: import("./query.js").FrontendModelEventFilterPayload | null, projectionPayload: import("./query.js").FrontendModelProjectionPayload}} FrontendModelModelEventCallbackEntry
38
+ * @template {import("../utils/model-primary-key.js").ModelPrimaryKeyValue} [PrimaryKeyValue=import("../utils/model-primary-key.js").ModelPrimaryKeyValue]
39
+ * @template {FrontendModelBase} [Model=FrontendModelBase]
40
+ * @typedef {{callback: (payload: {id: PrimaryKeyValue, model: Model}) => void, eventFilterKey: string | null, eventFilterPayload: import("./query.js").FrontendModelEventFilterPayload | null, projectionPayload: import("./query.js").FrontendModelProjectionPayload}} FrontendModelModelEventCallbackEntry
36
41
  */
37
42
  /**
38
43
  * Defines this typedef.
39
- * @typedef {{callback: (payload: {id: string | import("../utils/model-primary-key.js").CompositeModelPrimaryKeyValue}) => void}} FrontendModelDestroyEventCallbackEntry
44
+ * @template {import("../utils/model-primary-key.js").ModelPrimaryKeyValue} [PrimaryKeyValue=import("../utils/model-primary-key.js").ModelPrimaryKeyValue]
45
+ * @typedef {{callback: (payload: {id: PrimaryKeyValue}) => void}} FrontendModelDestroyEventCallbackEntry
40
46
  */
41
47
  /**
42
48
  * FrontendModelCommandType type.
@@ -111,16 +117,22 @@ import {readPayloadAssociationCount, readPayloadComputedAbility, readPayloadQuer
111
117
  * invariance. Defaulting to `any` lets any subclass satisfy the constraint while
112
118
  * the methods' own `@template T` still captures the precise calling class for
113
119
  * their return types.
114
- * @template {FrontendModelBase} [T=FrontendModelBase<any, any, any>]
120
+ * @template {FrontendModelBase} [T=FrontendModelBase<any, any, any, any, any>]
115
121
  * @template {object} [Attributes=any]
116
122
  * @template {object} [CreateAttributes=any]
117
123
  * @typedef {{new (): T, create(attributes?: CreateAttributes): Promise<T>} & Omit<typeof FrontendModelBase, "create" | "prototype">} FrontendModelClass
118
124
  */
125
+ /** @typedef {Omit<FrontendModelClass<FrontendModelBase<any, any, any, any, string>>, "onDestroy"> & {onDestroy: (callback: (payload: {id: string}) => void, options?: import("./query.js").FrontendModelEventOptions) => Promise<() => void>}} FrontendModelScalarEventClass */
119
126
  /**
120
127
  * Create attributes accepted by a frontend model instance.
121
128
  * @template {FrontendModelBase} T
122
129
  * @typedef {T extends FrontendModelBase<Record<string, FrontendModelAttributeValue>, infer CreateAttributes, infer _UpdateAttributes> ? CreateAttributes : Record<string, FrontendModelAttributeValue>} FrontendModelCreateAttributesFor
123
130
  */
131
+ /**
132
+ * Lifecycle event identity exposed by a concrete frontend model.
133
+ * @template {FrontendModelBase} T
134
+ * @typedef {T extends FrontendModelBase<any, any, any, any, infer EventPrimaryKeyValue> ? EventPrimaryKeyValue : FrontendModelEventPrimaryKeyValue} FrontendModelEventPrimaryKeyValueFor
135
+ */
124
136
  /**
125
137
  * Loaded instance type for relationship helper generics. Older generated
126
138
  * frontend models passed model classes into relationship helpers, while newer
@@ -1432,7 +1444,7 @@ function frontendModelMatchedEventFilterKeys(body) {
1432
1444
 
1433
1445
  /**
1434
1446
  * Runs frontend model event entry matches.
1435
- * @param {FrontendModelModelEventCallbackEntry} entry - Callback entry.
1447
+ * @param {FrontendModelModelEventCallbackEntry<any, any>} entry - Callback entry.
1436
1448
  * @param {Set<string>} matchedEventFilterKeys - Backend matched filter keys.
1437
1449
  * @returns {boolean} Whether the callback should receive the event.
1438
1450
  */
@@ -1478,19 +1490,19 @@ class FrontendModelEventSubscription {
1478
1490
  this.requestContext = requestContext
1479
1491
  /**
1480
1492
  * Narrows the runtime value to the documented type.
1481
- * @type {Set<FrontendModelModelEventCallbackEntry>} */
1493
+ * @type {Set<FrontendModelModelEventCallbackEntry<any, any>>} */
1482
1494
  this.classCreateCallbacks = new Set()
1483
1495
  /**
1484
1496
  * Narrows the runtime value to the documented type.
1485
- * @type {Set<FrontendModelModelEventCallbackEntry>} */
1497
+ * @type {Set<FrontendModelModelEventCallbackEntry<any, any>>} */
1486
1498
  this.classUpdateCallbacks = new Set()
1487
1499
  /**
1488
1500
  * Narrows the runtime value to the documented type.
1489
- * @type {Set<FrontendModelDestroyEventCallbackEntry>} */
1501
+ * @type {Set<FrontendModelDestroyEventCallbackEntry<never>>} */
1490
1502
  this.classDestroyCallbacks = new Set()
1491
1503
  /**
1492
1504
  * Narrows the runtime value to the documented type.
1493
- * @type {Map<string, {instance: FrontendModelBase, updateCallbacks: Set<FrontendModelModelEventCallbackEntry>, destroyCallbacks: Set<FrontendModelDestroyEventCallbackEntry>}>} */
1505
+ * @type {Map<string, {instance: FrontendModelBase, updateCallbacks: Set<FrontendModelModelEventCallbackEntry<any, any>>, destroyCallbacks: Set<FrontendModelDestroyEventCallbackEntry<any>>}>} */
1494
1506
  this.instanceListeners = new Map()
1495
1507
  /**
1496
1508
  * Narrows the runtime value to the documented type.
@@ -1573,7 +1585,7 @@ class FrontendModelEventSubscription {
1573
1585
 
1574
1586
  /**
1575
1587
  * Runs register class callback.
1576
- * @template {FrontendModelModelEventCallbackEntry | FrontendModelDestroyEventCallbackEntry} T
1588
+ * @template {FrontendModelModelEventCallbackEntry<any, any> | FrontendModelDestroyEventCallbackEntry<never>} T
1577
1589
  * @param {Set<T>} callbacks - Callback set for the event type.
1578
1590
  * @param {T} entry - Callback entry.
1579
1591
  * @returns {Promise<() => void>} - Unsubscribe callback.
@@ -1687,7 +1699,9 @@ class FrontendModelEventSubscription {
1687
1699
  deleteFrontendModelInstanceListener(this, listener)
1688
1700
  }
1689
1701
  for (const entry of this.classDestroyCallbacks) {
1690
- try { entry.callback({id: identity}) } catch (error) { console.error(error) }
1702
+ try {
1703
+ /** @type {(payload: {id: import("../utils/model-primary-key.js").ModelPrimaryKeyValue}) => void} */ (entry.callback)({id: identity})
1704
+ } catch (error) { console.error(error) }
1691
1705
  }
1692
1706
  return
1693
1707
  }
@@ -1833,7 +1847,7 @@ function frontendModelEventRequestContext(requestContext) {
1833
1847
  * @param {FrontendModelEventSubscription} sub - Event subscription bucket.
1834
1848
  * @param {string} id - Model id.
1835
1849
  * @param {FrontendModelBase} instance - Listener instance.
1836
- * @returns {{instance: FrontendModelBase, updateCallbacks: Set<FrontendModelModelEventCallbackEntry>, destroyCallbacks: Set<FrontendModelDestroyEventCallbackEntry>}} - Instance listener bucket.
1850
+ * @returns {{instance: FrontendModelBase, updateCallbacks: Set<FrontendModelModelEventCallbackEntry<any, any>>, destroyCallbacks: Set<FrontendModelDestroyEventCallbackEntry<any>>}} - Instance listener bucket.
1837
1851
  */
1838
1852
  function ensureFrontendModelInstanceListener(sub, id, instance) {
1839
1853
  let listener = sub.instanceListeners.get(id)
@@ -2411,6 +2425,8 @@ function assertDefinedFindByConditionValue(value, keyPath) {
2411
2425
  * @template {object} [Attributes=any]
2412
2426
  * @template {object} [CreateAttributes=any]
2413
2427
  * @template {object} [UpdateAttributes=any]
2428
+ * @template {import("../utils/model-primary-key.js").ModelPrimaryKeyValue} [PrimaryKeyValue=import("../utils/model-primary-key.js").ModelPrimaryKeyValue]
2429
+ * @template {import("../utils/model-primary-key.js").ModelPrimaryKeyValue} [EventPrimaryKeyValue=PrimaryKeyValue]
2414
2430
  */
2415
2431
  export default class FrontendModelBase {
2416
2432
  /**
@@ -2968,13 +2984,13 @@ export default class FrontendModelBase {
2968
2984
 
2969
2985
  /**
2970
2986
  * Runs primary key value.
2971
- * @returns {import("../utils/model-primary-key.js").ModelPrimaryKeyValue} - Primary key value.
2987
+ * @returns {PrimaryKeyValue} - Primary key value.
2972
2988
  */
2973
2989
  primaryKeyValue() {
2974
2990
  const ModelClass = frontendModelClassFor(this)
2975
2991
  const primaryKey = ModelClass.primaryKey()
2976
2992
 
2977
- return readModelPrimaryKeyValue(primaryKey, (attributeName) => {
2993
+ return /** @type {PrimaryKeyValue} */ (readModelPrimaryKeyValue(primaryKey, (attributeName) => {
2978
2994
  const value = this.readAttribute(attributeName)
2979
2995
 
2980
2996
  if (value === undefined || value === null) {
@@ -2982,7 +2998,7 @@ export default class FrontendModelBase {
2982
2998
  }
2983
2999
 
2984
3000
  return value
2985
- })
3001
+ }))
2986
3002
  }
2987
3003
 
2988
3004
  /**
@@ -2996,13 +3012,13 @@ export default class FrontendModelBase {
2996
3012
 
2997
3013
  /**
2998
3014
  * Returns the identity represented by the last persisted frontend attributes.
2999
- * @returns {import("../utils/model-primary-key.js").ModelPrimaryKeyValue} - Persisted primary-key value.
3015
+ * @returns {PrimaryKeyValue} - Persisted primary-key value.
3000
3016
  */
3001
3017
  persistedPrimaryKeyValue() {
3002
3018
  const ModelClass = frontendModelClassFor(this)
3003
3019
  const primaryKey = ModelClass.primaryKey()
3004
3020
 
3005
- return readModelPrimaryKeyValue(primaryKey, (attributeName) => {
3021
+ return /** @type {PrimaryKeyValue} */ (readModelPrimaryKeyValue(primaryKey, (attributeName) => {
3006
3022
  const value = this._persistedAttributes[attributeName]
3007
3023
 
3008
3024
  if (value === undefined || value === null) {
@@ -3010,7 +3026,7 @@ export default class FrontendModelBase {
3010
3026
  }
3011
3027
 
3012
3028
  return value
3013
- })
3029
+ }))
3014
3030
  }
3015
3031
 
3016
3032
  /**
@@ -3951,8 +3967,9 @@ export default class FrontendModelBase {
3951
3967
  * accepted, future `create` events for this model are delivered
3952
3968
  * without re-checking per-record visibility. Query options can still
3953
3969
  * narrow which events reach this callback.
3954
- * @this {FrontendModelClass}
3955
- * @param {(payload: {id: string | import("../utils/model-primary-key.js").CompositeModelPrimaryKeyValue, model: FrontendModelBase}) => void} callback - Event callback.
3970
+ * @template {FrontendModelClass} T
3971
+ * @this {T}
3972
+ * @param {(payload: {id: FrontendModelEventPrimaryKeyValueFor<InstanceType<T>>, model: InstanceType<T>}) => void} callback - Event callback.
3956
3973
  * @param {import("./query.js").FrontendModelEventOptions} [options] - Event query or record projection options.
3957
3974
  * @returns {Promise<() => void>} - Unsubscribe callback.
3958
3975
  */
@@ -3966,8 +3983,9 @@ export default class FrontendModelBase {
3966
3983
 
3967
3984
  /**
3968
3985
  * Class-level hook fired when any record of this model is updated.
3969
- * @this {FrontendModelClass}
3970
- * @param {(payload: {id: string | import("../utils/model-primary-key.js").CompositeModelPrimaryKeyValue, model: FrontendModelBase}) => void} callback - Event callback.
3986
+ * @template {FrontendModelClass} T
3987
+ * @this {T}
3988
+ * @param {(payload: {id: FrontendModelEventPrimaryKeyValueFor<InstanceType<T>>, model: InstanceType<T>}) => void} callback - Event callback.
3971
3989
  * @param {import("./query.js").FrontendModelEventOptions} [options] - Event query or record projection options.
3972
3990
  * @returns {Promise<() => void>} - Unsubscribe callback.
3973
3991
  */
@@ -3979,18 +3997,37 @@ export default class FrontendModelBase {
3979
3997
  return await sub.registerClassCallback(sub.classUpdateCallbacks, entry)
3980
3998
  }
3981
3999
 
4000
+ /**
4001
+ * @template {FrontendModelClass} T
4002
+ * @overload
4003
+ * @param {T} this - Concrete frontend model class.
4004
+ * @param {(payload: {id: FrontendModelEventPrimaryKeyValueFor<InstanceType<T>>}) => void} callback - Event callback.
4005
+ * @param {import("./query.js").FrontendModelEventOptions} [options] - Accepted for API symmetry; destroy events carry ids only.
4006
+ * @returns {Promise<() => void>} - Unsubscribe callback.
4007
+ */
3982
4008
  /**
3983
4009
  * Class-level hook fired when any record of this model is destroyed.
3984
- * @this {FrontendModelClass}
3985
- * @param {(payload: {id: string | import("../utils/model-primary-key.js").CompositeModelPrimaryKeyValue}) => void} callback - Event callback.
4010
+ * @param {(payload: {id: never}) => void} callback - Event callback erased at the overload implementation boundary.
3986
4011
  * @param {import("./query.js").FrontendModelEventOptions} [options] - Accepted for API symmetry; destroy events carry ids only.
3987
4012
  * @returns {Promise<() => void>} - Unsubscribe callback.
3988
4013
  */
3989
4014
  static async onDestroy(callback, options = {}) {
4015
+ return await this._registerDestroyEventCallback(callback, options)
4016
+ }
4017
+
4018
+ /**
4019
+ * Registers a destroy callback after the public model-specific signature has been checked.
4020
+ * @this {FrontendModelClass}
4021
+ * @param {(payload: {id: never}) => void} callback - Type-erased event callback.
4022
+ * @param {import("./query.js").FrontendModelEventOptions} [options] - Destroy event options.
4023
+ * @returns {Promise<() => void>} - Unsubscribe callback.
4024
+ */
4025
+ static async _registerDestroyEventCallback(callback, options = {}) {
3990
4026
  assertNoDestroyEventFilter(this, options)
3991
4027
 
3992
4028
  const {requestContext} = frontendModelEventOptionsPayload(this, options)
3993
4029
  const sub = ensureFrontendModelEventSubscription(this, frontendModelEventRequestContext(requestContext))
4030
+ /** @type {FrontendModelDestroyEventCallbackEntry<never>} */
3994
4031
  const entry = {callback}
3995
4032
 
3996
4033
  return await sub.registerClassCallback(sub.classDestroyCallbacks, entry)
@@ -4001,7 +4038,7 @@ export default class FrontendModelBase {
4001
4038
  * instance's attributes are auto-merged with the broadcast payload
4002
4039
  * before the callback runs, so callers can read fresh values via
4003
4040
  * `this.someAttr()` without re-fetching.
4004
- * @param {(payload: {id: string | import("../utils/model-primary-key.js").CompositeModelPrimaryKeyValue, model: FrontendModelBase}) => void} callback - Event callback.
4041
+ * @param {(payload: {id: EventPrimaryKeyValue, model: FrontendModelBase<Attributes, CreateAttributes, UpdateAttributes, PrimaryKeyValue, EventPrimaryKeyValue>}) => void} callback - Event callback.
4005
4042
  * @param {import("./query.js").FrontendModelEventOptions} [options] - Event query or record projection options.
4006
4043
  * @returns {Promise<() => void>} - Unsubscribe callback.
4007
4044
  */
@@ -4030,7 +4067,7 @@ export default class FrontendModelBase {
4030
4067
 
4031
4068
  /**
4032
4069
  * Instance-level hook fired when THIS record is destroyed.
4033
- * @param {(payload: {id: string | import("../utils/model-primary-key.js").CompositeModelPrimaryKeyValue}) => void} callback - Event callback.
4070
+ * @param {(payload: {id: EventPrimaryKeyValue}) => void} callback - Event callback.
4034
4071
  * @param {import("./query.js").FrontendModelEventOptions} [options] - Accepted for API symmetry; destroy events carry ids only.
4035
4072
  * @returns {Promise<() => void>} - Unsubscribe callback.
4036
4073
  */
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * FrontendModelInstance type.
5
- * @typedef {import("./base.js").default} FrontendModelInstance */
5
+ * @typedef {InstanceType<import("./base.js").FrontendModelClass>} FrontendModelInstance */
6
6
 
7
7
  /**
8
8
  * Model dependency ids.
@@ -13,13 +13,13 @@ import useModelClassEvent from "./use-model-class-event.js"
13
13
  * @typedef {import("./base.js").FrontendModelClass} FrontendModelClass */
14
14
  /**
15
15
  * FrontendModelInstance type.
16
- * @typedef {import("./base.js").default} FrontendModelInstance */
16
+ * @typedef {InstanceType<FrontendModelClass>} FrontendModelInstance */
17
17
  /**
18
18
  * FrontendModelClassDestroyEventPayload type.
19
19
  * @typedef {import("./use-model-class-event.js").FrontendModelDestroyEventPayload} FrontendModelClassDestroyEventPayload */
20
20
  /**
21
21
  * Defines this typedef.
22
- * @typedef {{id: string | import("../utils/model-primary-key.js").CompositeModelPrimaryKeyValue}} FrontendModelInstanceDestroyEventPayload */
22
+ * @typedef {{id: import("./base.js").FrontendModelEventPrimaryKeyValue}} FrontendModelInstanceDestroyEventPayload */
23
23
  /**
24
24
  * FrontendModelDestroyEventPayload type.
25
25
  * @typedef {FrontendModelClassDestroyEventPayload | FrontendModelInstanceDestroyEventPayload} FrontendModelDestroyEventPayload */
@@ -17,10 +17,10 @@ import {frontendModelRemoteRequestContextKey} from "./remote-request-context.js"
17
17
  * @typedef {"create" | "update" | "destroy"} FrontendModelClassEventName */
18
18
  /**
19
19
  * Defines this typedef.
20
- * @typedef {{id: string | import("../utils/model-primary-key.js").CompositeModelPrimaryKeyValue, model: FrontendModelInstance}} FrontendModelCreateUpdateEventPayload */
20
+ * @typedef {{id: import("./base.js").FrontendModelEventPrimaryKeyValue, model: FrontendModelInstance}} FrontendModelCreateUpdateEventPayload */
21
21
  /**
22
22
  * Defines this typedef.
23
- * @typedef {{id: string | import("../utils/model-primary-key.js").CompositeModelPrimaryKeyValue}} FrontendModelDestroyEventPayload */
23
+ * @typedef {{id: import("./base.js").FrontendModelEventPrimaryKeyValue}} FrontendModelDestroyEventPayload */
24
24
  /**
25
25
  * FrontendModelClassEventPayload type.
26
26
  * @typedef {FrontendModelCreateUpdateEventPayload | FrontendModelDestroyEventPayload} FrontendModelClassEventPayload */
@@ -13,13 +13,13 @@ import useModelClassEvent from "./use-model-class-event.js"
13
13
  * @typedef {import("./base.js").FrontendModelClass} FrontendModelClass */
14
14
  /**
15
15
  * FrontendModelInstance type.
16
- * @typedef {import("./base.js").default} FrontendModelInstance */
16
+ * @typedef {InstanceType<FrontendModelClass>} FrontendModelInstance */
17
17
  /**
18
18
  * FrontendModelClassUpdateEventPayload type.
19
19
  * @typedef {import("./use-model-class-event.js").FrontendModelCreateUpdateEventPayload} FrontendModelClassUpdateEventPayload */
20
20
  /**
21
21
  * Defines this typedef.
22
- * @typedef {{id: string | import("../utils/model-primary-key.js").CompositeModelPrimaryKeyValue, model: FrontendModelInstance}} FrontendModelInstanceUpdateEventPayload */
22
+ * @typedef {{id: import("./base.js").FrontendModelEventPrimaryKeyValue, model: FrontendModelInstance}} FrontendModelInstanceUpdateEventPayload */
23
23
  /**
24
24
  * FrontendModelUpdateEventPayload type.
25
25
  * @typedef {FrontendModelClassUpdateEventPayload | FrontendModelInstanceUpdateEventPayload} FrontendModelUpdateEventPayload */
@@ -424,6 +424,15 @@ export default class DbGenerateFrontendModels extends BaseCommand {
424
424
  modelClass: typeof import("../../../../../database/record/index.js").default | undefined;
425
425
  modelConfig: import("../../../../../configuration-types.js").NormalizedFrontendModelResourceConfiguration;
426
426
  }): string | Array<string>;
427
+ /**
428
+ * Builds the generated model's concrete primary-key value type.
429
+ * @param {{attributesTypeName: string, primaryKey: string | string[]}} args - Primary-key type arguments.
430
+ * @returns {string} - JSDoc type expression.
431
+ */
432
+ frontendModelPrimaryKeyValueType({ attributesTypeName, primaryKey }: {
433
+ attributesTypeName: string;
434
+ primaryKey: string | string[];
435
+ }): string;
427
436
  /**
428
437
  * Validates an explicitly configured frontend-model primary key.
429
438
  * @param {{attributeNames: Array<string>, primaryKey: string | string[]}} args - Configured primary key args.
@@ -1 +1 @@
1
- {"version":3,"file":"frontend-models.d.ts","sourceRoot":"","sources":["../../../../../../../src/environment-handlers/node/cli/commands/generate/frontend-models.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frontend-models.d.ts","sourceRoot":"","sources":["../../../../../../../src/environment-handlers/node/cli/commands/generate/frontend-models.js"],"names":[],"mappings":"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"}