frontend-plugin-api: make output type parameter optional

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
Patrik Oldsberg
2024-08-26 01:03:08 +02:00
parent ee454fdf53
commit 4f59435848
6 changed files with 19 additions and 16 deletions
+7 -5
View File
@@ -919,7 +919,7 @@ export interface ExtensionBlueprint<
config?: T['config'];
inputs?: ResolveInputValueOverrides<NonNullable<T['inputs']>>;
},
) => ExtensionDataContainer<T['output']>,
) => ExtensionDataContainer<NonNullable<T['output']>>,
context: {
node: AppNode;
apis: ApiHolder;
@@ -932,7 +932,9 @@ export interface ExtensionBlueprint<
},
): Iterable<UFactoryOutput> &
VerifyExtensionFactoryOutput<
AnyExtensionDataRef extends UNewOutput ? T['output'] : UNewOutput,
AnyExtensionDataRef extends UNewOutput
? NonNullable<T['output']>
: UNewOutput,
UFactoryOutput
>;
}): ExtensionDefinition<{
@@ -969,14 +971,14 @@ export type ExtensionBlueprintParameters = {
kind: string;
namespace?: string;
name?: string;
params: object;
params?: object;
configInput?: {
[K in string]: any;
};
config?: {
[K in string]: any;
};
output: AnyExtensionDataRef;
output?: AnyExtensionDataRef;
inputs?: {
[KName in string]: ExtensionInput<
AnyExtensionDataRef,
@@ -1157,7 +1159,7 @@ export type ExtensionDefinitionParameters = {
config?: {
[K in string]: any;
};
output: AnyExtensionDataRef;
output?: AnyExtensionDataRef;
inputs?: {
[KName in string]: ExtensionInput<
AnyExtensionDataRef,
@@ -148,7 +148,7 @@ export type ExtensionDefinitionParameters = {
name?: string;
configInput?: { [K in string]: any };
config?: { [K in string]: any };
output: AnyExtensionDataRef;
output?: AnyExtensionDataRef;
inputs?: {
[KName in string]: ExtensionInput<
AnyExtensionDataRef,
@@ -86,10 +86,10 @@ export type ExtensionBlueprintParameters = {
kind: string;
namespace?: string;
name?: string;
params: object;
params?: object;
configInput?: { [K in string]: any };
config?: { [K in string]: any };
output: AnyExtensionDataRef;
output?: AnyExtensionDataRef;
inputs?: {
[KName in string]: ExtensionInput<
AnyExtensionDataRef,
@@ -171,7 +171,7 @@ export interface ExtensionBlueprint<
config?: T['config'];
inputs?: ResolveInputValueOverrides<NonNullable<T['inputs']>>;
},
) => ExtensionDataContainer<T['output']>,
) => ExtensionDataContainer<NonNullable<T['output']>>,
context: {
node: AppNode;
apis: ApiHolder;
@@ -184,7 +184,9 @@ export interface ExtensionBlueprint<
},
): Iterable<UFactoryOutput> &
VerifyExtensionFactoryOutput<
AnyExtensionDataRef extends UNewOutput ? T['output'] : UNewOutput,
AnyExtensionDataRef extends UNewOutput
? NonNullable<T['output']>
: UNewOutput,
UFactoryOutput
>;
}): ExtensionDefinition<{
@@ -116,7 +116,6 @@ export type ResolveExtensionId<
kind: infer IKind extends string | undefined;
namespace: infer INamespace extends string | undefined;
name: infer IName extends string | undefined;
output: any;
}>
? [string | undefined] extends [IKind | INamespace | IName]
? never