From fa34a4cd5e4ce44c690ebb42a5181aae62e08e38 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Fri, 1 Aug 2025 13:44:09 +0200 Subject: [PATCH] frontend-plugin-api: rename ExtensionBlueprintParamDefiner to ExtensionBlueprintDefineParams Signed-off-by: Patrik Oldsberg --- packages/frontend-plugin-api/report.api.md | 40 ++++++++--------- .../src/wiring/createExtension.ts | 20 ++++----- .../src/wiring/createExtensionBlueprint.ts | 44 +++++++++---------- .../frontend-plugin-api/src/wiring/index.ts | 2 +- 4 files changed, 52 insertions(+), 54 deletions(-) diff --git a/packages/frontend-plugin-api/report.api.md b/packages/frontend-plugin-api/report.api.md index 1076f1faee..5ea43c7449 100644 --- a/packages/frontend-plugin-api/report.api.md +++ b/packages/frontend-plugin-api/report.api.md @@ -505,7 +505,7 @@ export function createExtension< // @public export function createExtensionBlueprint< - TParams extends object | ExtensionBlueprintParamsDefiner, + TParams extends object | ExtensionBlueprintDefineParams, UOutput extends ExtensionDataRef, TInputs extends { [inputName in string]: ExtensionInput< @@ -557,7 +557,7 @@ export function createExtensionBlueprint< // @public (undocumented) export type CreateExtensionBlueprintOptions< TKind extends string, - TParams extends object | ExtensionBlueprintParamsDefiner, + TParams extends object | ExtensionBlueprintDefineParams, UOutput extends ExtensionDataRef, TInputs extends { [inputName in string]: ExtensionInput< @@ -584,11 +584,11 @@ export type CreateExtensionBlueprintOptions< config?: { schema: TConfigSchema; }; - defineParams?: TParams extends ExtensionBlueprintParamsDefiner + defineParams?: TParams extends ExtensionBlueprintDefineParams ? TParams : 'The defineParams option must be a function if provided, see the docs for details'; factory( - params: TParams extends ExtensionBlueprintParamsDefiner + params: TParams extends ExtensionBlueprintDefineParams ? ReturnType['T'] : TParams, context: { @@ -912,9 +912,9 @@ export interface ExtensionBlueprint< name?: TName; attachTo?: ExtensionAttachToSpec; disabled?: boolean; - params: TParamsInput extends ExtensionBlueprintParamsDefiner + params: TParamsInput extends ExtensionBlueprintDefineParams ? TParamsInput - : T['params'] extends ExtensionBlueprintParamsDefiner + : T['params'] extends ExtensionBlueprintDefineParams ? 'Error: This blueprint uses advanced parameter types and requires you to pass parameters as using the following callback syntax: `.make({ params: defineParams => defineParams() })`' : T['params']; }): ExtensionDefinition<{ @@ -961,9 +961,9 @@ export interface ExtensionBlueprint< originalFactory: < TParamsInput extends AnyParamsInput_2>, >( - params: TParamsInput extends ExtensionBlueprintParamsDefiner + params: TParamsInput extends ExtensionBlueprintDefineParams ? TParamsInput - : T['params'] extends ExtensionBlueprintParamsDefiner + : T['params'] extends ExtensionBlueprintDefineParams ? 'Error: This blueprint uses advanced parameter types and requires you to pass parameters as using the following callback syntax: `originalFactory(defineParams => defineParams())`' : T['params'], context?: { @@ -1015,10 +1015,16 @@ export interface ExtensionBlueprint< }>; } +// @public +export type ExtensionBlueprintDefineParams< + TParams extends object = object, + TInput = any, +> = (params: TInput) => ExtensionBlueprintParams; + // @public (undocumented) export type ExtensionBlueprintParameters = { kind: string; - params?: object | ExtensionBlueprintParamsDefiner; + params?: object | ExtensionBlueprintDefineParams; configInput?: { [K in string]: any; }; @@ -1046,12 +1052,6 @@ export type ExtensionBlueprintParams = { T: T; }; -// @public -export type ExtensionBlueprintParamsDefiner< - TParams extends object = object, - TInput = any, -> = (params: TInput) => ExtensionBlueprintParams; - // @public (undocumented) export function ExtensionBoundary(props: ExtensionBoundaryProps): JSX_2.Element; @@ -1179,9 +1179,9 @@ export type ExtensionDefinition< } & ([T['params']] extends [never] ? {} : { - params?: TFactoryParamsReturn extends ExtensionBlueprintParamsDefiner + params?: TFactoryParamsReturn extends ExtensionBlueprintDefineParams ? TFactoryParamsReturn - : T['params'] extends ExtensionBlueprintParamsDefiner + : T['params'] extends ExtensionBlueprintDefineParams ? 'Error: This blueprint uses advanced parameter types and requires you to pass parameters as using the following callback syntax: `originalFactory(defineParams => defineParams())`' : Partial; }) @@ -1201,9 +1201,9 @@ export type ExtensionDefinition< } & ([T['params']] extends [never] ? {} : { - params?: TParamsInput extends ExtensionBlueprintParamsDefiner + params?: TParamsInput extends ExtensionBlueprintDefineParams ? TParamsInput - : T['params'] extends ExtensionBlueprintParamsDefiner + : T['params'] extends ExtensionBlueprintDefineParams ? 'Error: This blueprint uses advanced parameter types and requires you to pass parameters as using the following callback syntax: `originalFactory(defineParams => defineParams())`' : Partial; }) @@ -1255,7 +1255,7 @@ export type ExtensionDefinitionParameters = { } >; }; - params?: object | ExtensionBlueprintParamsDefiner; + params?: object | ExtensionBlueprintDefineParams; }; // @public (undocumented) diff --git a/packages/frontend-plugin-api/src/wiring/createExtension.ts b/packages/frontend-plugin-api/src/wiring/createExtension.ts index e2c608da1c..6dd64fa2f2 100644 --- a/packages/frontend-plugin-api/src/wiring/createExtension.ts +++ b/packages/frontend-plugin-api/src/wiring/createExtension.ts @@ -27,7 +27,7 @@ import { z } from 'zod'; import { createSchemaFromZod } from '../schema/createSchemaFromZod'; import { OpaqueExtensionDefinition } from '@internal/frontend'; import { ExtensionDataContainer } from './types'; -import { ExtensionBlueprintParamsDefiner } from './createExtensionBlueprint'; +import { ExtensionBlueprintDefineParams } from './createExtensionBlueprint'; /** * This symbol is used to pass parameter overrides from the extension override to the blueprint factory @@ -159,7 +159,7 @@ export type ExtensionDefinitionParameters = { { optional: boolean; singleton: boolean } >; }; - params?: object | ExtensionBlueprintParamsDefiner; + params?: object | ExtensionBlueprintDefineParams; }; /** @@ -167,14 +167,14 @@ export type ExtensionDefinitionParameters = { * It can't be exported because it breaks API reports. * @ignore */ -type AnyParamsInput = - TParams extends ExtensionBlueprintParamsDefiner +type AnyParamsInput = + TParams extends ExtensionBlueprintDefineParams ? IParams | ((define: TParams) => ReturnType) : | TParams | (( - define: ExtensionBlueprintParamsDefiner, - ) => ReturnType>); + define: ExtensionBlueprintDefineParams, + ) => ReturnType>); /** @public */ export type ExtensionDefinition< @@ -225,9 +225,9 @@ export type ExtensionDefinition< } & ([T['params']] extends [never] ? {} : { - params?: TFactoryParamsReturn extends ExtensionBlueprintParamsDefiner + params?: TFactoryParamsReturn extends ExtensionBlueprintDefineParams ? TFactoryParamsReturn - : T['params'] extends ExtensionBlueprintParamsDefiner + : T['params'] extends ExtensionBlueprintDefineParams ? 'Error: This blueprint uses advanced parameter types and requires you to pass parameters as using the following callback syntax: `originalFactory(defineParams => defineParams())`' : Partial; }) @@ -247,9 +247,9 @@ export type ExtensionDefinition< } & ([T['params']] extends [never] ? {} : { - params?: TParamsInput extends ExtensionBlueprintParamsDefiner + params?: TParamsInput extends ExtensionBlueprintDefineParams ? TParamsInput - : T['params'] extends ExtensionBlueprintParamsDefiner + : T['params'] extends ExtensionBlueprintDefineParams ? 'Error: This blueprint uses advanced parameter types and requires you to pass parameters as using the following callback syntax: `originalFactory(defineParams => defineParams())`' : Partial; }) diff --git a/packages/frontend-plugin-api/src/wiring/createExtensionBlueprint.ts b/packages/frontend-plugin-api/src/wiring/createExtensionBlueprint.ts index 4e6f221b92..15679544a2 100644 --- a/packages/frontend-plugin-api/src/wiring/createExtensionBlueprint.ts +++ b/packages/frontend-plugin-api/src/wiring/createExtensionBlueprint.ts @@ -50,7 +50,7 @@ import { ExtensionDataContainer } from './types'; * * @public */ -export type ExtensionBlueprintParamsDefiner< +export type ExtensionBlueprintDefineParams< TParams extends object = object, TInput = any, > = (params: TInput) => ExtensionBlueprintParams; @@ -100,7 +100,7 @@ export function createExtensionBlueprintParams( */ export type CreateExtensionBlueprintOptions< TKind extends string, - TParams extends object | ExtensionBlueprintParamsDefiner, + TParams extends object | ExtensionBlueprintDefineParams, UOutput extends ExtensionDataRef, TInputs extends { [inputName in string]: ExtensionInput< @@ -158,11 +158,11 @@ export type CreateExtensionBlueprintOptions< * }); * ``` */ - defineParams?: TParams extends ExtensionBlueprintParamsDefiner + defineParams?: TParams extends ExtensionBlueprintDefineParams ? TParams : 'The defineParams option must be a function if provided, see the docs for details'; factory( - params: TParams extends ExtensionBlueprintParamsDefiner + params: TParams extends ExtensionBlueprintDefineParams ? ReturnType['T'] : TParams, context: { @@ -181,7 +181,7 @@ export type CreateExtensionBlueprintOptions< /** @public */ export type ExtensionBlueprintParameters = { kind: string; - params?: object | ExtensionBlueprintParamsDefiner; + params?: object | ExtensionBlueprintDefineParams; configInput?: { [K in string]: any }; config?: { [K in string]: any }; output?: ExtensionDataRef; @@ -195,7 +195,7 @@ export type ExtensionBlueprintParameters = { }; /** @ignore */ -type ParamsFactory = ( +type ParamsFactory = ( defineParams: TDefiner, ) => ReturnType; @@ -205,12 +205,10 @@ type ParamsFactory = ( * * @ignore */ -type AnyParamsInput = - TParams extends ExtensionBlueprintParamsDefiner +type AnyParamsInput = + TParams extends ExtensionBlueprintDefineParams ? IParams | ParamsFactory - : - | TParams - | ParamsFactory>; + : TParams | ParamsFactory>; /** * @public @@ -228,9 +226,9 @@ export interface ExtensionBlueprint< name?: TName; attachTo?: ExtensionAttachToSpec; disabled?: boolean; - params: TParamsInput extends ExtensionBlueprintParamsDefiner + params: TParamsInput extends ExtensionBlueprintDefineParams ? TParamsInput - : T['params'] extends ExtensionBlueprintParamsDefiner + : T['params'] extends ExtensionBlueprintDefineParams ? 'Error: This blueprint uses advanced parameter types and requires you to pass parameters as using the following callback syntax: `.make({ params: defineParams => defineParams() })`' : T['params']; }): ExtensionDefinition<{ @@ -281,9 +279,9 @@ export interface ExtensionBlueprint< originalFactory: < TParamsInput extends AnyParamsInput>, >( - params: TParamsInput extends ExtensionBlueprintParamsDefiner + params: TParamsInput extends ExtensionBlueprintDefineParams ? TParamsInput - : T['params'] extends ExtensionBlueprintParamsDefiner + : T['params'] extends ExtensionBlueprintDefineParams ? 'Error: This blueprint uses advanced parameter types and requires you to pass parameters as using the following callback syntax: `originalFactory(defineParams => defineParams())`' : T['params'], context?: { @@ -337,12 +335,12 @@ export interface ExtensionBlueprint< function unwrapParamsFactory( // Allow `Function` because `typeof === 'function'` allows it, but in practice this should always be a param factory - params: ParamsFactory | Function, - defineParams: ExtensionBlueprintParamsDefiner, + params: ParamsFactory | Function, + defineParams: ExtensionBlueprintDefineParams, kind: string, ): TParams { const paramDefinition = ( - params as ParamsFactory + params as ParamsFactory )(defineParams); try { return OpaqueBlueprintParams.toInternal(paramDefinition).params as TParams; @@ -354,14 +352,14 @@ function unwrapParamsFactory( } function unwrapParams( - params: object | ParamsFactory | string, + params: object | ParamsFactory | string, ctx: { node: AppNode; [ctxParamsSymbol]?: any }, - defineParams: ExtensionBlueprintParamsDefiner | undefined, + defineParams: ExtensionBlueprintDefineParams | undefined, kind: string, ): TParams { const overrideParams = ctx[ctxParamsSymbol] as | object - | ParamsFactory + | ParamsFactory | undefined; if (defineParams) { @@ -412,7 +410,7 @@ function unwrapParams( * @public */ export function createExtensionBlueprint< - TParams extends object | ExtensionBlueprintParamsDefiner, + TParams extends object | ExtensionBlueprintDefineParams, UOutput extends ExtensionDataRef, TInputs extends { [inputName in string]: ExtensionInput< @@ -452,7 +450,7 @@ export function createExtensionBlueprint< dataRefs: TDataRefs; }> { const defineParams = options.defineParams as - | ExtensionBlueprintParamsDefiner + | ExtensionBlueprintDefineParams | undefined; return { diff --git a/packages/frontend-plugin-api/src/wiring/index.ts b/packages/frontend-plugin-api/src/wiring/index.ts index 0f170d949f..9ffadc40d3 100644 --- a/packages/frontend-plugin-api/src/wiring/index.ts +++ b/packages/frontend-plugin-api/src/wiring/index.ts @@ -67,7 +67,7 @@ export { type ExtensionBlueprint, type ExtensionBlueprintParameters, type ExtensionBlueprintParams, - type ExtensionBlueprintParamsDefiner, + type ExtensionBlueprintDefineParams, createExtensionBlueprint, createExtensionBlueprintParams, } from './createExtensionBlueprint';