notes and a test example

This commit is contained in:
Niels Lyngsø
2023-03-17 10:45:46 +01:00
parent adba6059ca
commit 7a3ebbe8e4
3 changed files with 27 additions and 16 deletions

View File

@@ -109,9 +109,11 @@ export class UmbExtensionRegistry {
map((exts) => exts.find((ext) => ext.type === type && ext.alias === alias)),
withLatestFrom(this._kindsOfType(type)),
map(([ext, kinds]) => {
// TODO: Deep merge?
return ext ? { ...kinds.find((kind) => kind.matchKind === ext.kind)?.manifest, ...ext } : undefined;
})
) as Observable<T | undefined>;
// TODO: DisctinctUntilChanged by using aliases? and kind(if kind uses alias)
}
extensionsOfType<Key extends keyof ManifestTypeMap | string, T = SpecificManifestTypeOrManifestBase<Key>>(type: Key) {
@@ -120,6 +122,7 @@ export class UmbExtensionRegistry {
map(([exts, kinds]) =>
exts
.map((ext) => {
// TODO: Deep merge?
return { ...kinds.find((kind) => kind.matchKind === ext.kind)?.manifest, ...ext };
})
.sort((a, b) => (b.weight || 0) - (a.weight || 0))
@@ -135,6 +138,7 @@ export class UmbExtensionRegistry {
map(([exts, kinds]) =>
exts
.map((ext) => {
// TODO: Deep merge?
return { ...kinds.find((kind) => kind.matchKind === ext.kind)?.manifest, ...ext };
})
.sort((a, b) => (b.weight || 0) - (a.weight || 0))