diff --git a/packages/frontend-plugin-api/api-report.md b/packages/frontend-plugin-api/api-report.md index 266315c396..9c1907775b 100644 --- a/packages/frontend-plugin-api/api-report.md +++ b/packages/frontend-plugin-api/api-report.md @@ -919,7 +919,7 @@ export interface ExtensionBlueprint< config?: T['config']; inputs?: ResolveInputValueOverrides>; }, - ) => ExtensionDataContainer, + ) => ExtensionDataContainer>, context: { node: AppNode; apis: ApiHolder; @@ -932,7 +932,9 @@ export interface ExtensionBlueprint< }, ): Iterable & VerifyExtensionFactoryOutput< - AnyExtensionDataRef extends UNewOutput ? T['output'] : UNewOutput, + AnyExtensionDataRef extends UNewOutput + ? NonNullable + : 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, diff --git a/packages/frontend-plugin-api/src/wiring/createExtension.ts b/packages/frontend-plugin-api/src/wiring/createExtension.ts index d8b53c4aaa..8838f7bf9a 100644 --- a/packages/frontend-plugin-api/src/wiring/createExtension.ts +++ b/packages/frontend-plugin-api/src/wiring/createExtension.ts @@ -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, diff --git a/packages/frontend-plugin-api/src/wiring/createExtensionBlueprint.ts b/packages/frontend-plugin-api/src/wiring/createExtensionBlueprint.ts index 85823b96a5..77d078f257 100644 --- a/packages/frontend-plugin-api/src/wiring/createExtensionBlueprint.ts +++ b/packages/frontend-plugin-api/src/wiring/createExtensionBlueprint.ts @@ -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>; }, - ) => ExtensionDataContainer, + ) => ExtensionDataContainer>, context: { node: AppNode; apis: ApiHolder; @@ -184,7 +184,9 @@ export interface ExtensionBlueprint< }, ): Iterable & VerifyExtensionFactoryOutput< - AnyExtensionDataRef extends UNewOutput ? T['output'] : UNewOutput, + AnyExtensionDataRef extends UNewOutput + ? NonNullable + : UNewOutput, UFactoryOutput >; }): ExtensionDefinition<{ diff --git a/packages/frontend-plugin-api/src/wiring/resolveExtensionDefinition.ts b/packages/frontend-plugin-api/src/wiring/resolveExtensionDefinition.ts index 49d623ad68..870fb258f5 100644 --- a/packages/frontend-plugin-api/src/wiring/resolveExtensionDefinition.ts +++ b/packages/frontend-plugin-api/src/wiring/resolveExtensionDefinition.ts @@ -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 diff --git a/packages/frontend-test-utils/api-report.md b/packages/frontend-test-utils/api-report.md index 3dcbacac57..31e293e434 100644 --- a/packages/frontend-test-utils/api-report.md +++ b/packages/frontend-test-utils/api-report.md @@ -37,7 +37,7 @@ export function createExtensionTester( options?: { config?: T['configInput']; }, -): ExtensionTester; +): ExtensionTester>; export { ErrorWithContext }; @@ -78,7 +78,7 @@ export class ExtensionTester { // (undocumented) query( extension: ExtensionDefinition, - ): ExtensionQuery; + ): ExtensionQuery>; // (undocumented) reactElement(): JSX.Element; } diff --git a/packages/frontend-test-utils/src/app/createExtensionTester.tsx b/packages/frontend-test-utils/src/app/createExtensionTester.tsx index 01687abc2d..1345edfa1d 100644 --- a/packages/frontend-test-utils/src/app/createExtensionTester.tsx +++ b/packages/frontend-test-utils/src/app/createExtensionTester.tsx @@ -79,7 +79,7 @@ export class ExtensionTester { static forSubject( subject: ExtensionDefinition, options?: { config?: T['configInput'] }, - ): ExtensionTester { + ): ExtensionTester> { const tester = new ExtensionTester(); tester.add(subject, options as T['configInput'] & {}); return tester; @@ -137,7 +137,7 @@ export class ExtensionTester { query( extension: ExtensionDefinition, - ): ExtensionQuery { + ): ExtensionQuery> { const tree = this.#resolveTree(); const actualId = this.#extensions.find(e => e.definition === extension)?.id; @@ -240,6 +240,6 @@ export class ExtensionTester { export function createExtensionTester( subject: ExtensionDefinition, options?: { config?: T['configInput'] }, -): ExtensionTester { +): ExtensionTester> { return ExtensionTester.forSubject(subject, options); }