velocious 1.0.432 → 1.0.434

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 (29) hide show
  1. package/build/configuration-types.js +1 -1
  2. package/build/database/record/index.js +89 -40
  3. package/build/environment-handlers/node/cli/commands/generate/frontend-models.js +5 -5
  4. package/build/frontend-model-resource/base-resource.js +6 -2
  5. package/build/frontend-models/resource-definition.js +3 -3
  6. package/build/frontend-models/websocket-publishers.js +6 -6
  7. package/build/src/configuration-types.d.ts +5 -3
  8. package/build/src/configuration-types.d.ts.map +1 -1
  9. package/build/src/configuration-types.js +2 -2
  10. package/build/src/database/record/index.d.ts +64 -19
  11. package/build/src/database/record/index.d.ts.map +1 -1
  12. package/build/src/database/record/index.js +86 -38
  13. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts +10 -10
  14. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts.map +1 -1
  15. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.js +6 -6
  16. package/build/src/frontend-model-resource/base-resource.d.ts +8 -3
  17. package/build/src/frontend-model-resource/base-resource.d.ts.map +1 -1
  18. package/build/src/frontend-model-resource/base-resource.js +6 -3
  19. package/build/src/frontend-models/resource-definition.d.ts +6 -7
  20. package/build/src/frontend-models/resource-definition.d.ts.map +1 -1
  21. package/build/src/frontend-models/resource-definition.js +4 -4
  22. package/build/src/frontend-models/websocket-publishers.js +7 -7
  23. package/package.json +2 -2
  24. package/src/configuration-types.js +1 -1
  25. package/src/database/record/index.js +89 -40
  26. package/src/environment-handlers/node/cli/commands/generate/frontend-models.js +5 -5
  27. package/src/frontend-model-resource/base-resource.js +6 -2
  28. package/src/frontend-models/resource-definition.js +3 -3
  29. package/src/frontend-models/websocket-publishers.js +6 -6
@@ -292,7 +292,7 @@
292
292
  */
293
293
 
294
294
  /**
295
- * @typedef {typeof import("./frontend-model-resource/base-resource.js").default} FrontendModelResourceClassType
295
+ * @typedef {Omit<typeof import("./frontend-model-resource/base-resource.js").default, never> & {new (args: ConstructorParameters<typeof import("./frontend-model-resource/base-resource.js").default>[0]): import("./frontend-model-resource/base-resource.js").default}} FrontendModelResourceClassType
296
296
  */
297
297
 
298
298
  /**
@@ -7,7 +7,14 @@
7
7
 
8
8
  /**
9
9
  * LifecycleCallbackType type.
10
- * @typedef {((model: VelociousDatabaseRecord) => void | Promise<void>) | string} LifecycleCallbackType
10
+ * @template {VelociousDatabaseRecord} [T=VelociousDatabaseRecord]
11
+ * @typedef {((model: T) => void | Promise<void>) | string} LifecycleCallbackType
12
+ */
13
+
14
+ /**
15
+ * Model class constructor type used for static `this` typing.
16
+ * @template {VelociousDatabaseRecord} T
17
+ * @typedef {{new (...args: Array<never>): T}} ModelConstructor
11
18
  */
12
19
 
13
20
  import timeout from "awaitery/build/timeout.js"
@@ -428,83 +435,101 @@ class VelociousDatabaseRecord {
428
435
 
429
436
  /**
430
437
  * Runs before validation.
431
- * @param {LifecycleCallbackType} callback - Callback function or instance method name.
438
+ * @template {VelociousDatabaseRecord} T
439
+ * @this {ModelConstructor<T> & typeof VelociousDatabaseRecord}
440
+ * @param {LifecycleCallbackType<T>} callback - Callback function or instance method name.
432
441
  * @returns {void}
433
442
  */
434
443
  static beforeValidation(callback) {
435
- this.registerLifecycleCallback("beforeValidation", callback)
444
+ this.registerLifecycleCallback("beforeValidation", /** @type {LifecycleCallbackType} */ (callback))
436
445
  }
437
446
 
438
447
  /**
439
448
  * Runs before save.
440
- * @param {LifecycleCallbackType} callback - Callback function or instance method name.
449
+ * @template {VelociousDatabaseRecord} T
450
+ * @this {ModelConstructor<T> & typeof VelociousDatabaseRecord}
451
+ * @param {LifecycleCallbackType<T>} callback - Callback function or instance method name.
441
452
  * @returns {void}
442
453
  */
443
454
  static beforeSave(callback) {
444
- this.registerLifecycleCallback("beforeSave", callback)
455
+ this.registerLifecycleCallback("beforeSave", /** @type {LifecycleCallbackType} */ (callback))
445
456
  }
446
457
 
447
458
  /**
448
459
  * Runs before create.
449
- * @param {LifecycleCallbackType} callback - Callback function or instance method name.
460
+ * @template {VelociousDatabaseRecord} T
461
+ * @this {ModelConstructor<T> & typeof VelociousDatabaseRecord}
462
+ * @param {LifecycleCallbackType<T>} callback - Callback function or instance method name.
450
463
  * @returns {void}
451
464
  */
452
465
  static beforeCreate(callback) {
453
- this.registerLifecycleCallback("beforeCreate", callback)
466
+ this.registerLifecycleCallback("beforeCreate", /** @type {LifecycleCallbackType} */ (callback))
454
467
  }
455
468
 
456
469
  /**
457
470
  * Runs before update.
458
- * @param {LifecycleCallbackType} callback - Callback function or instance method name.
471
+ * @template {VelociousDatabaseRecord} T
472
+ * @this {ModelConstructor<T> & typeof VelociousDatabaseRecord}
473
+ * @param {LifecycleCallbackType<T>} callback - Callback function or instance method name.
459
474
  * @returns {void}
460
475
  */
461
476
  static beforeUpdate(callback) {
462
- this.registerLifecycleCallback("beforeUpdate", callback)
477
+ this.registerLifecycleCallback("beforeUpdate", /** @type {LifecycleCallbackType} */ (callback))
463
478
  }
464
479
 
465
480
  /**
466
481
  * Runs before destroy.
467
- * @param {LifecycleCallbackType} callback - Callback function or instance method name.
482
+ * @template {VelociousDatabaseRecord} T
483
+ * @this {ModelConstructor<T> & typeof VelociousDatabaseRecord}
484
+ * @param {LifecycleCallbackType<T>} callback - Callback function or instance method name.
468
485
  * @returns {void}
469
486
  */
470
487
  static beforeDestroy(callback) {
471
- this.registerLifecycleCallback("beforeDestroy", callback)
488
+ this.registerLifecycleCallback("beforeDestroy", /** @type {LifecycleCallbackType} */ (callback))
472
489
  }
473
490
 
474
491
  /**
475
492
  * Runs after save.
476
- * @param {LifecycleCallbackType} callback - Callback function or instance method name.
493
+ * @template {VelociousDatabaseRecord} T
494
+ * @this {ModelConstructor<T> & typeof VelociousDatabaseRecord}
495
+ * @param {LifecycleCallbackType<T>} callback - Callback function or instance method name.
477
496
  * @returns {void}
478
497
  */
479
498
  static afterSave(callback) {
480
- this.registerLifecycleCallback("afterSave", callback)
499
+ this.registerLifecycleCallback("afterSave", /** @type {LifecycleCallbackType} */ (callback))
481
500
  }
482
501
 
483
502
  /**
484
503
  * Runs after create.
485
- * @param {LifecycleCallbackType} callback - Callback function or instance method name.
504
+ * @template {VelociousDatabaseRecord} T
505
+ * @this {ModelConstructor<T> & typeof VelociousDatabaseRecord}
506
+ * @param {LifecycleCallbackType<T>} callback - Callback function or instance method name.
486
507
  * @returns {void}
487
508
  */
488
509
  static afterCreate(callback) {
489
- this.registerLifecycleCallback("afterCreate", callback)
510
+ this.registerLifecycleCallback("afterCreate", /** @type {LifecycleCallbackType} */ (callback))
490
511
  }
491
512
 
492
513
  /**
493
514
  * Runs after update.
494
- * @param {LifecycleCallbackType} callback - Callback function or instance method name.
515
+ * @template {VelociousDatabaseRecord} T
516
+ * @this {ModelConstructor<T> & typeof VelociousDatabaseRecord}
517
+ * @param {LifecycleCallbackType<T>} callback - Callback function or instance method name.
495
518
  * @returns {void}
496
519
  */
497
520
  static afterUpdate(callback) {
498
- this.registerLifecycleCallback("afterUpdate", callback)
521
+ this.registerLifecycleCallback("afterUpdate", /** @type {LifecycleCallbackType} */ (callback))
499
522
  }
500
523
 
501
524
  /**
502
525
  * Runs after destroy.
503
- * @param {LifecycleCallbackType} callback - Callback function or instance method name.
526
+ * @template {VelociousDatabaseRecord} T
527
+ * @this {ModelConstructor<T> & typeof VelociousDatabaseRecord}
528
+ * @param {LifecycleCallbackType<T>} callback - Callback function or instance method name.
504
529
  * @returns {void}
505
530
  */
506
531
  static afterDestroy(callback) {
507
- this.registerLifecycleCallback("afterDestroy", callback)
532
+ this.registerLifecycleCallback("afterDestroy", /** @type {LifecycleCallbackType} */ (callback))
508
533
  }
509
534
 
510
535
  /**
@@ -3673,9 +3698,12 @@ class VelociousDatabaseRecord {
3673
3698
  */
3674
3699
  readColumn(attributeName) {
3675
3700
  this.getModelClass()._assertHasBeenInitialized()
3701
+ const belongsToChanges = this._belongsToChanges()
3676
3702
  let result
3677
3703
 
3678
- if (attributeName in this._changes) {
3704
+ if (attributeName in belongsToChanges) {
3705
+ result = belongsToChanges[attributeName]
3706
+ } else if (attributeName in this._changes) {
3679
3707
  result = this._changes[attributeName]
3680
3708
  } else if (attributeName in this._attributes) {
3681
3709
  result = this._attributes[attributeName]
@@ -3819,8 +3847,6 @@ class VelociousDatabaseRecord {
3819
3847
  throw new Error(`No insertSql on ${this.getModelClass().connection().constructor.name}`)
3820
3848
  }
3821
3849
 
3822
- const createdAtColumn = this.getModelClass().getColumns().find((column) => column.getName() == "created_at")
3823
- const updatedAtColumn = this.getModelClass().getColumns().find((column) => column.getName() == "updated_at")
3824
3850
  const data = Object.assign({}, this._belongsToChanges(), this.rawAttributes())
3825
3851
  const primaryKey = this.getModelClass().primaryKey()
3826
3852
  const primaryKeyColumn = this.getModelClass().getColumns().find((column) => column.getName() == primaryKey)
@@ -3828,14 +3854,7 @@ class VelociousDatabaseRecord {
3828
3854
  const driverSupportsDefaultUUID = typeof this._connection().supportsDefaultPrimaryKeyUUID == "function" && this._connection().supportsDefaultPrimaryKeyUUID()
3829
3855
  const isUUIDPrimaryKey = primaryKeyType?.includes("uuid")
3830
3856
  const shouldAssignUUIDPrimaryKey = isUUIDPrimaryKey && !driverSupportsDefaultUUID
3831
- const currentDate = new Date()
3832
-
3833
- if (createdAtColumn && (data.created_at === undefined || data.created_at === null || data.created_at === "")) {
3834
- data.created_at = currentDate
3835
- }
3836
- if (updatedAtColumn && (data.updated_at === undefined || data.updated_at === null || data.updated_at === "")) {
3837
- data.updated_at = currentDate
3838
- }
3857
+ this._setDefaultTimestampValues(data)
3839
3858
 
3840
3859
  const columnNames = this.getModelClass().getColumnNames()
3841
3860
  const hasUserProvidedPrimaryKey = data[primaryKey] !== undefined && data[primaryKey] !== null && data[primaryKey] !== ""
@@ -3853,6 +3872,31 @@ class VelociousDatabaseRecord {
3853
3872
  })
3854
3873
  const insertResult = await this._connection().query(sql, {logName: `${this.getModelClass().name} Create`})
3855
3874
 
3875
+ await this._applyInsertResult({data, insertResult, primaryKey, primaryKeyType})
3876
+ this.setIsNewRecord(false)
3877
+
3878
+ // Mark all relationships as preloaded, since we don't expect anything to have magically appeared since we created the record.
3879
+ for (const relationship of this.getModelClass().getRelationships()) {
3880
+ const instanceRelationship = this.getRelationshipByName(relationship.getRelationshipName())
3881
+
3882
+ if (instanceRelationship.getType() == "hasMany" && instanceRelationship.getLoadedOrUndefined() === null) {
3883
+ instanceRelationship.setLoaded([])
3884
+ }
3885
+
3886
+ instanceRelationship.setPreloaded(true)
3887
+ }
3888
+ }
3889
+
3890
+ /**
3891
+ * Applies the database insert response to this record.
3892
+ * @param {object} options - Insert result options.
3893
+ * @param {Record<string, ?>} options.data - Inserted data.
3894
+ * @param {?} options.insertResult - Result returned from the connection.
3895
+ * @param {string} options.primaryKey - Primary key column name.
3896
+ * @param {string | undefined} options.primaryKeyType - Primary key column type.
3897
+ * @returns {Promise<void>} - Resolves when complete.
3898
+ */
3899
+ async _applyInsertResult({data, insertResult, primaryKey, primaryKeyType}) {
3856
3900
  if (Array.isArray(insertResult) && insertResult[0] && insertResult[0][primaryKey]) {
3857
3901
  this._attributes = insertResult[0]
3858
3902
  this._changes = {}
@@ -3864,18 +3908,23 @@ class VelociousDatabaseRecord {
3864
3908
 
3865
3909
  await this._reloadWithId(id)
3866
3910
  }
3911
+ }
3867
3912
 
3868
- this.setIsNewRecord(false)
3869
-
3870
- // Mark all relationships as preloaded, since we don't expect anything to have magically appeared since we created the record.
3871
- for (const relationship of this.getModelClass().getRelationships()) {
3872
- const instanceRelationship = this.getRelationshipByName(relationship.getRelationshipName())
3873
-
3874
- if (instanceRelationship.getType() == "hasMany" && instanceRelationship.getLoadedOrUndefined() === null) {
3875
- instanceRelationship.setLoaded([])
3876
- }
3913
+ /**
3914
+ * Sets timestamp defaults for a new record insert.
3915
+ * @param {Record<string, ?>} data - Column-keyed data.
3916
+ * @returns {void} - No return value.
3917
+ */
3918
+ _setDefaultTimestampValues(data) {
3919
+ const createdAtColumn = this.getModelClass().getColumns().find((column) => column.getName() == "created_at")
3920
+ const updatedAtColumn = this.getModelClass().getColumns().find((column) => column.getName() == "updated_at")
3921
+ const currentDate = new Date()
3877
3922
 
3878
- instanceRelationship.setPreloaded(true)
3923
+ if (createdAtColumn && (data.created_at === undefined || data.created_at === null || data.created_at === "")) {
3924
+ data.created_at = currentDate
3925
+ }
3926
+ if (updatedAtColumn && (data.updated_at === undefined || data.updated_at === null || data.updated_at === "")) {
3927
+ data.updated_at = currentDate
3879
3928
  }
3880
3929
  }
3881
3930
 
@@ -125,7 +125,7 @@ export default class DbGenerateFrontendModels extends BaseCommand {
125
125
  * @param {Set<string>} args.availableFrontendModelClassNames - Available frontend model class names in backend project.
126
126
  * @param {string} args.className - Model class name.
127
127
  * @param {Record<string, ?>} args.modelConfig - Model configuration.
128
- * @param {typeof import("../../../../../frontend-model-resource/base-resource.js").default | null} [args.resourceClass]
128
+ * @param {import("../../../../../configuration-types.js").FrontendModelResourceClassType | null} [args.resourceClass]
129
129
  * @returns {void} - No return value.
130
130
  */
131
131
  validateModelConfig({availableFrontendModelClassNames, className, modelConfig, resourceClass}) {
@@ -218,7 +218,7 @@ export default class DbGenerateFrontendModels extends BaseCommand {
218
218
  * @param {string} args.importPath - Base class import path.
219
219
  * @param {typeof import("../../../../../database/record/index.js").default | undefined} args.modelClass - Backend model class.
220
220
  * @param {Record<string, ?>} args.modelConfig - Model configuration.
221
- * @param {typeof import("../../../../../frontend-model-resource/base-resource.js").default | null} [args.resourceClass]
221
+ * @param {import("../../../../../configuration-types.js").FrontendModelResourceClassType | null} [args.resourceClass]
222
222
  * @returns {string} - Generated file content.
223
223
  */
224
224
  buildModelFileContent({className, importPath, modelClass, modelConfig, resourceClass}) {
@@ -531,7 +531,7 @@ export default class DbGenerateFrontendModels extends BaseCommand {
531
531
  *
532
532
  * Constructed with no controller/ability so resource overrides must
533
533
  * support being called without a request context.
534
- * @param {typeof import("../../../../../frontend-model-resource/base-resource.js").default | null} resourceClass - Resource class.
534
+ * @param {import("../../../../../configuration-types.js").FrontendModelResourceClassType | null} resourceClass - Resource class.
535
535
  * @returns {string[]} - Relationship names that accept nested writes (empty when none).
536
536
  */
537
537
  nestedRelationshipNamesForGenerator(resourceClass) {
@@ -804,7 +804,7 @@ export default class DbGenerateFrontendModels extends BaseCommand {
804
804
  * @param {object} args - Arguments.
805
805
  * @param {string} args.className - Model class name.
806
806
  * @param {Record<string, ?>} args.modelConfig - Model configuration.
807
- * @param {typeof import("../../../../../frontend-model-resource/base-resource.js").default | null} [args.resourceClass]
807
+ * @param {import("../../../../../configuration-types.js").FrontendModelResourceClassType | null} [args.resourceClass]
808
808
  * @returns {Array<{autoload: boolean, relationshipName: string, targetClassName: string, targetFileName: string, type: "belongsTo" | "hasOne" | "hasMany"}>} - Relationships.
809
809
  */
810
810
  relationshipsForModel({className, modelConfig, resourceClass}) {
@@ -826,7 +826,7 @@ export default class DbGenerateFrontendModels extends BaseCommand {
826
826
  * @param {object} args - Arguments.
827
827
  * @param {string} args.className - Model class name.
828
828
  * @param {string} args.relationshipName - Relationship name.
829
- * @param {typeof import("../../../../../frontend-model-resource/base-resource.js").default | null} [args.resourceClass]
829
+ * @param {import("../../../../../configuration-types.js").FrontendModelResourceClassType | null} [args.resourceClass]
830
830
  * @returns {{autoload: boolean, relationshipName: string, targetClassName: string, targetFileName: string, type: "belongsTo" | "hasOne" | "hasMany"}} Inferred relationship definition.
831
831
  */
832
832
  inferredRelationshipDefinition({className, relationshipName, resourceClass}) {
@@ -27,6 +27,7 @@ import * as inflection from "inflection"
27
27
 
28
28
  /**
29
29
  * Base class for backend frontend-model resources.
30
+ * @template {typeof import("../database/record/index.js").default} [out TModelClass=typeof import("../database/record/index.js").default]
30
31
  */
31
32
  export default class FrontendModelBaseResource extends AuthorizationBaseResource {
32
33
  /**
@@ -99,6 +100,8 @@ export default class FrontendModelBaseResource extends AuthorizationBaseResource
99
100
  * Runs typed controller instance.
100
101
  * @returns {import("../controller.js").default & {
101
102
  * frontendModelAuthorizedQuery: (action: "index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url") => import("../database/query/model-class-query.js").default<typeof import("../database/record/index.js").default>,
103
+ * frontendModelAbilityAction: (action: string) => string,
104
+ * currentAbility: () => import("../authorization/ability.js").default | undefined,
102
105
  * frontendModelIndexQuery: () => import("../database/query/model-class-query.js").default<typeof import("../database/record/index.js").default>,
103
106
  * frontendModelPreload: () => import("../database/query/index.js").NestedPreloadRecord | null,
104
107
  * serializeFrontendModel: (model: import("../database/record/index.js").default) => Promise<Record<string, unknown>>
@@ -151,14 +154,14 @@ export default class FrontendModelBaseResource extends AuthorizationBaseResource
151
154
 
152
155
  /**
153
156
  * Runs model class.
154
- * @returns {typeof import("../database/record/index.js").default} - Model class.
157
+ * @returns {TModelClass} - Model class.
155
158
  */
156
159
  modelClass() {
157
160
  if (!this.modelClassValue) {
158
161
  throw new Error(`${this.constructor.name} requires a model class.`)
159
162
  }
160
163
 
161
- return this.modelClassValue
164
+ return /** @type {TModelClass} */ (this.modelClassValue)
162
165
  }
163
166
 
164
167
  /**
@@ -247,6 +250,7 @@ export default class FrontendModelBaseResource extends AuthorizationBaseResource
247
250
  return /** Narrows the authorized query to the resource's model class. @type {import("../database/query/model-class-query.js").default<MC>} */ (this.typedControllerInstance().frontendModelAuthorizedQuery(action))
248
251
  }
249
252
 
253
+
250
254
  /**
251
255
  * Runs supports pluck.
252
256
  * @param {"index" | "find" | "create" | "update" | "destroy" | "attach" | "download" | "url"} action - Action.
@@ -8,7 +8,7 @@ import {validateFrontendModelResourceCommandName} from "./resource-config-valida
8
8
  /**
9
9
  * Runs the frontendModelResourcesForBackendProject helper.
10
10
  * @param {import("../configuration-types.js").BackendProjectConfiguration} backendProject - Backend project config.
11
- * @returns {Record<string, typeof FrontendModelBaseResource>} - Resource definitions keyed by model name.
11
+ * @returns {Record<string, import("../configuration-types.js").FrontendModelResourceClassType>} - Resource definitions keyed by model name.
12
12
  */
13
13
  export function frontendModelResourcesForBackendProject(backendProject) {
14
14
  const resources = backendProject.frontendModels
@@ -27,7 +27,7 @@ export function frontendModelResourcesForBackendProject(backendProject) {
27
27
  /**
28
28
  * Runs the frontendModelResourceDefinitionIsClass helper.
29
29
  * @param {?} value - Candidate resource definition.
30
- * @returns {value is typeof FrontendModelBaseResource} - Whether value is a resource class.
30
+ * @returns {value is import("../configuration-types.js").FrontendModelResourceClassType} - Whether value is a resource class.
31
31
  */
32
32
  export function frontendModelResourceDefinitionIsClass(value) {
33
33
  return typeof value === "function" && (value === FrontendModelBaseResource || value.prototype instanceof FrontendModelBaseResource)
@@ -36,7 +36,7 @@ export function frontendModelResourceDefinitionIsClass(value) {
36
36
  /**
37
37
  * Runs the frontendModelResourceClassFromDefinition helper.
38
38
  * @param {?} resourceDefinition - Resource definition.
39
- * @returns {typeof FrontendModelBaseResource | null} - Resource class when definition is class-based.
39
+ * @returns {import("../configuration-types.js").FrontendModelResourceClassType | null} - Resource class when definition is class-based.
40
40
  */
41
41
  export function frontendModelResourceClassFromDefinition(resourceDefinition) {
42
42
  return frontendModelResourceDefinitionIsClass(resourceDefinition) ? resourceDefinition : null
@@ -24,7 +24,7 @@ export function frontendModelBroadcastChannelName(modelName) {
24
24
  * Builds a frontend models map from the configuration's ability resources.
25
25
  * Each resource class with a static ModelClass property is keyed by model name.
26
26
  * @param {import("../configuration.js").default} configuration - Configuration instance.
27
- * @returns {Record<string, typeof FrontendModelBaseResource>} - Resource definitions keyed by model name.
27
+ * @returns {Record<string, import("../configuration-types.js").FrontendModelResourceClassType>} - Resource definitions keyed by model name.
28
28
  */
29
29
  /**
30
30
  * Runs resolve ability resources list.
@@ -59,12 +59,12 @@ async function resolveAbilityResourcesList(configuration) {
59
59
  /**
60
60
  * Runs frontend model resources from ability resources list.
61
61
  * @param {import("../configuration-types.js").AbilityResourceClassType[]} abilityResources - Ability resource classes.
62
- * @returns {Record<string, typeof FrontendModelBaseResource>} - Resource definitions keyed by model name.
62
+ * @returns {Record<string, import("../configuration-types.js").FrontendModelResourceClassType>} - Resource definitions keyed by model name.
63
63
  */
64
64
  function frontendModelResourcesFromAbilityResourcesList(abilityResources) {
65
65
  /**
66
66
  * Resources.
67
- @type {Record<string, typeof FrontendModelBaseResource>} */
67
+ @type {Record<string, import("../configuration-types.js").FrontendModelResourceClassType>} */
68
68
  const resources = {}
69
69
 
70
70
  if (!abilityResources || abilityResources.length === 0) return resources
@@ -81,7 +81,7 @@ function frontendModelResourcesFromAbilityResourcesList(abilityResources) {
81
81
  if (resourceClass.prototype instanceof FrontendModelBaseResource) {
82
82
  const modelClass = /**
83
83
  * Narrows the runtime value to the documented type.
84
- @type {typeof FrontendModelBaseResource} */ (resourceClass).ModelClass
84
+ @type {import("../configuration-types.js").FrontendModelResourceClassType} */ (resourceClass).ModelClass
85
85
 
86
86
  if (!modelClass) {
87
87
  throw new Error(`Resource class ${resourceClass.name} is missing a static ModelClass property`)
@@ -95,7 +95,7 @@ function frontendModelResourcesFromAbilityResourcesList(abilityResources) {
95
95
 
96
96
  resources[modelName] = /**
97
97
  * Narrows the runtime value to the documented type.
98
- @type {typeof FrontendModelBaseResource} */ (resourceClass)
98
+ @type {import("../configuration-types.js").FrontendModelResourceClassType} */ (resourceClass)
99
99
  } else if (resourceClass.prototype instanceof AuthorizationBaseResource) {
100
100
  // Authorization-only resource — valid but not relevant for WebSocket publishing
101
101
  } else {
@@ -116,7 +116,7 @@ export async function ensureFrontendModelWebsocketPublishersRegistered(configura
116
116
 
117
117
  /**
118
118
  * All frontend models.
119
- @type {Record<string, typeof FrontendModelBaseResource>} */
119
+ @type {Record<string, import("../configuration-types.js").FrontendModelResourceClassType>} */
120
120
  let allFrontendModels = {}
121
121
 
122
122
  for (const backendProject of configuration.getBackendProjects()) {
@@ -254,7 +254,7 @@
254
254
  * }} NormalizedFrontendModelResourceConfiguration
255
255
  */
256
256
  /**
257
- * @typedef {typeof import("./frontend-model-resource/base-resource.js").default} FrontendModelResourceClassType
257
+ * @typedef {Omit<typeof import("./frontend-model-resource/base-resource.js").default, never> & {new (args: ConstructorParameters<typeof import("./frontend-model-resource/base-resource.js").default>[0]): import("./frontend-model-resource/base-resource.js").default}} FrontendModelResourceClassType
258
258
  */
259
259
  /**
260
260
  * @typedef {FrontendModelResourceClassType} FrontendModelResourceDefinition
@@ -993,7 +993,9 @@ export type NormalizedFrontendModelResourceConfiguration = Omit<FrontendModelRes
993
993
  collectionCommands: Record<string, string>;
994
994
  memberCommands: Record<string, string>;
995
995
  };
996
- export type FrontendModelResourceClassType = typeof import("./frontend-model-resource/base-resource.js").default;
996
+ export type FrontendModelResourceClassType = Omit<typeof import("./frontend-model-resource/base-resource.js").default, never> & {
997
+ new (args: ConstructorParameters<typeof import("./frontend-model-resource/base-resource.js").default>[0]): import("./frontend-model-resource/base-resource.js").default;
998
+ };
997
999
  export type FrontendModelResourceDefinition = FrontendModelResourceClassType;
998
1000
  export type FrontendModelResourceAbilitiesConfiguration = {
999
1001
  /**
@@ -1100,7 +1102,7 @@ export type BackendProjectConfiguration = {
1100
1102
  /**
1101
1103
  * - Auto-discovered frontend model definitions keyed by model class name. Set internally by the environment handler — do not set manually.
1102
1104
  */
1103
- frontendModels?: Record<string, typeof import("./frontend-model-resource/base-resource.js").default> | undefined;
1105
+ frontendModels?: Record<string, FrontendModelResourceClassType> | undefined;
1104
1106
  };
1105
1107
  export type RouteResolverHookArgs = {
1106
1108
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"configuration-types.d.ts","sourceRoot":"","sources":["../../src/configuration-types.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configuration-types.d.ts","sourceRoot":"","sources":["../../src/configuration-types.js"],"names":[],"mappings":"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"}