Skip to content

Commit f0ad1c6

Browse files
authored
Feat: condition config types as a generic for extension registry (#2473)
get condition config types as a generic for extension registry
1 parent 2d60a93 commit f0ad1c6

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

src/libs/extension-api/registry/extension.registry.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ const sortExtensions = (a: ManifestBase, b: ManifestBase): number => (b.weight |
100100

101101
export class UmbExtensionRegistry<
102102
IncomingManifestTypes extends ManifestBase,
103+
IncomingConditionConfigTypes extends UmbConditionConfigBase = UmbConditionConfigBase,
103104
ManifestTypes extends ManifestBase = IncomingManifestTypes | ManifestBase,
104105
> {
105106
readonly MANIFEST_TYPES: ManifestTypes = undefined as never;
@@ -490,7 +491,7 @@ export class UmbExtensionRegistry<
490491
* @param {string} alias - The alias of the extension to append the condition to.
491492
* @param {UmbConditionConfigBase} newCondition - The condition to append to the extension.
492493
*/
493-
appendCondition(alias: string, newCondition: UmbConditionConfigBase) {
494+
appendCondition(alias: string, newCondition: IncomingConditionConfigTypes) {
494495
this.appendConditions(alias, [newCondition]);
495496
}
496497

@@ -499,7 +500,7 @@ export class UmbExtensionRegistry<
499500
* @param {string} alias - The alias of the extension to append the condition to
500501
* @param {Array<UmbConditionConfigBase>} newConditions - An array of conditions to be appended to an extension manifest.
501502
*/
502-
appendConditions(alias: string, newConditions: Array<UmbConditionConfigBase>) {
503+
appendConditions(alias: string, newConditions: Array<IncomingConditionConfigTypes>) {
503504
const existingConditionsToBeAdded = this.#additionalConditions.get(alias);
504505
this.#additionalConditions.set(
505506
alias,

src/packages/core/extension-registry/registry.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,12 @@ import type { ManifestKind } from '@umbraco-cms/backoffice/extension-api';
22
import { UmbExtensionRegistry } from '@umbraco-cms/backoffice/extension-api';
33

44
export type UmbExtensionManifestKind = ManifestKind<UmbExtensionManifest>;
5-
export type UmbBackofficeExtensionRegistry = UmbExtensionRegistry<UmbExtensionManifest>;
5+
export type UmbBackofficeExtensionRegistry = UmbExtensionRegistry<UmbExtensionManifest, UmbExtensionConditionConfig>;
66

7-
export const umbExtensionsRegistry = new UmbExtensionRegistry<UmbExtensionManifest>() as UmbBackofficeExtensionRegistry;
7+
export const umbExtensionsRegistry = new UmbExtensionRegistry<
8+
UmbExtensionManifest,
9+
UmbExtensionConditionConfig
10+
>() as UmbBackofficeExtensionRegistry;
811

912
/**
1013
* @deprecated Use `UmbExtensionManifestKind` instead.

0 commit comments

Comments
 (0)