frontend-plugin-api: make ExtensionInput type parameters optional
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/frontend-plugin-api': patch
|
||||
---
|
||||
|
||||
Updated to `ExtensionInput` to make all type parameters optional.
|
||||
@@ -787,14 +787,8 @@ describe('instantiateAppNodeTree', () => {
|
||||
inputs: {
|
||||
[name in string]:
|
||||
| undefined
|
||||
| ResolvedExtensionInput<
|
||||
ExtensionInput<any, { singleton: boolean; optional: boolean }>
|
||||
>
|
||||
| Array<
|
||||
ResolvedExtensionInput<
|
||||
ExtensionInput<any, { singleton: boolean; optional: boolean }>
|
||||
>
|
||||
>;
|
||||
| ResolvedExtensionInput<ExtensionInput>
|
||||
| Array<ResolvedExtensionInput<ExtensionInput>>;
|
||||
};
|
||||
}) {
|
||||
return [
|
||||
|
||||
@@ -243,20 +243,10 @@ function resolveV1Inputs(
|
||||
}
|
||||
|
||||
function resolveV2Inputs(
|
||||
inputMap: {
|
||||
[inputName in string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{ optional: boolean; singleton: boolean }
|
||||
>;
|
||||
},
|
||||
inputMap: { [inputName in string]: ExtensionInput },
|
||||
attachments: ReadonlyMap<string, AppNode[]>,
|
||||
parentCollector: ErrorCollector<{ node: AppNode }>,
|
||||
): ResolvedExtensionInputs<{
|
||||
[inputName in string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{ optional: boolean; singleton: boolean }
|
||||
>;
|
||||
}> {
|
||||
): ResolvedExtensionInputs<{ [inputName in string]: ExtensionInput }> {
|
||||
return mapValues(inputMap, (input, inputName) => {
|
||||
const attachedNodes = attachments.get(inputName) ?? [];
|
||||
const collector = parentCollector.child({ inputName });
|
||||
@@ -297,12 +287,7 @@ function resolveV2Inputs(
|
||||
collector,
|
||||
),
|
||||
);
|
||||
}) as ResolvedExtensionInputs<{
|
||||
[inputName in string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{ optional: boolean; singleton: boolean }
|
||||
>;
|
||||
}>;
|
||||
}) as ResolvedExtensionInputs<{ [inputName in string]: ExtensionInput }>;
|
||||
}
|
||||
|
||||
/** @internal */
|
||||
|
||||
@@ -70,22 +70,14 @@ export const OpaqueExtensionDefinition = OpaqueType.create<{
|
||||
readonly attachTo: ExtensionAttachToSpec;
|
||||
readonly disabled: boolean;
|
||||
readonly configSchema?: PortableSchema<any, any>;
|
||||
readonly inputs: {
|
||||
[inputName in string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{ optional: boolean; singleton: boolean }
|
||||
>;
|
||||
};
|
||||
readonly inputs: { [inputName in string]: ExtensionInput };
|
||||
readonly output: Array<ExtensionDataRef>;
|
||||
factory(context: {
|
||||
node: AppNode;
|
||||
apis: ApiHolder;
|
||||
config: object;
|
||||
inputs: ResolvedExtensionInputs<{
|
||||
[inputName in string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{ optional: boolean; singleton: boolean }
|
||||
>;
|
||||
[inputName in string]: ExtensionInput;
|
||||
}>;
|
||||
}): Iterable<ExtensionDataValue<any, any>>;
|
||||
};
|
||||
|
||||
@@ -399,13 +399,7 @@ export { createApiRef };
|
||||
export function createExtension<
|
||||
UOutput extends ExtensionDataRef,
|
||||
TInputs extends {
|
||||
[inputName in string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{
|
||||
optional: boolean;
|
||||
singleton: boolean;
|
||||
}
|
||||
>;
|
||||
[inputName in string]: ExtensionInput;
|
||||
},
|
||||
TConfigSchema extends {
|
||||
[key: string]: (zImpl: typeof z) => z.ZodType;
|
||||
@@ -453,13 +447,7 @@ export function createExtensionBlueprint<
|
||||
TParams extends object | ExtensionBlueprintDefineParams,
|
||||
UOutput extends ExtensionDataRef,
|
||||
TInputs extends {
|
||||
[inputName in string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{
|
||||
optional: boolean;
|
||||
singleton: boolean;
|
||||
}
|
||||
>;
|
||||
[inputName in string]: ExtensionInput;
|
||||
},
|
||||
TConfigSchema extends {
|
||||
[key in string]: (zImpl: typeof z) => z.ZodType;
|
||||
@@ -511,13 +499,7 @@ export type CreateExtensionBlueprintOptions<
|
||||
TParams extends object | ExtensionBlueprintDefineParams,
|
||||
UOutput extends ExtensionDataRef,
|
||||
TInputs extends {
|
||||
[inputName in string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{
|
||||
optional: boolean;
|
||||
singleton: boolean;
|
||||
}
|
||||
>;
|
||||
[inputName in string]: ExtensionInput;
|
||||
},
|
||||
TConfigSchema extends {
|
||||
[key in string]: (zImpl: typeof z) => z.ZodType;
|
||||
@@ -601,13 +583,7 @@ export type CreateExtensionOptions<
|
||||
TName extends string | undefined,
|
||||
UOutput extends ExtensionDataRef,
|
||||
TInputs extends {
|
||||
[inputName in string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{
|
||||
optional: boolean;
|
||||
singleton: boolean;
|
||||
}
|
||||
>;
|
||||
[inputName in string]: ExtensionInput;
|
||||
},
|
||||
TConfigSchema extends {
|
||||
[key: string]: (zImpl: typeof z) => z.ZodType;
|
||||
@@ -909,13 +885,7 @@ export interface ExtensionBlueprint<
|
||||
UFactoryOutput extends ExtensionDataValue<any, any>,
|
||||
UNewOutput extends ExtensionDataRef,
|
||||
TExtraInputs extends {
|
||||
[inputName in string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{
|
||||
optional: boolean;
|
||||
singleton: boolean;
|
||||
}
|
||||
>;
|
||||
[inputName in string]: ExtensionInput;
|
||||
},
|
||||
>(args: {
|
||||
name?: TName;
|
||||
@@ -1008,13 +978,7 @@ export type ExtensionBlueprintParameters = {
|
||||
};
|
||||
output?: ExtensionDataRef;
|
||||
inputs?: {
|
||||
[KName in string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{
|
||||
optional: boolean;
|
||||
singleton: boolean;
|
||||
}
|
||||
>;
|
||||
[KName in string]: ExtensionInput;
|
||||
};
|
||||
dataRefs?: {
|
||||
[name in string]: ExtensionDataRef;
|
||||
@@ -1116,13 +1080,7 @@ export type ExtensionDefinition<
|
||||
UFactoryOutput extends ExtensionDataValue<any, any>,
|
||||
UNewOutput extends ExtensionDataRef,
|
||||
TExtraInputs extends {
|
||||
[inputName in string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{
|
||||
optional: boolean;
|
||||
singleton: boolean;
|
||||
}
|
||||
>;
|
||||
[inputName in string]: ExtensionInput;
|
||||
},
|
||||
TParamsInput extends AnyParamsInput_2<NonNullable<T['params']>>,
|
||||
>(
|
||||
@@ -1222,13 +1180,7 @@ export type ExtensionDefinitionParameters = {
|
||||
};
|
||||
output?: ExtensionDataRef;
|
||||
inputs?: {
|
||||
[KName in string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{
|
||||
optional: boolean;
|
||||
singleton: boolean;
|
||||
}
|
||||
>;
|
||||
[KName in string]: ExtensionInput;
|
||||
};
|
||||
params?: object | ExtensionBlueprintDefineParams;
|
||||
};
|
||||
@@ -1253,10 +1205,13 @@ export interface ExtensionInput<
|
||||
{
|
||||
optional?: true;
|
||||
}
|
||||
>,
|
||||
> = ExtensionDataRef,
|
||||
TConfig extends {
|
||||
singleton: boolean;
|
||||
optional: boolean;
|
||||
} = {
|
||||
singleton: boolean;
|
||||
optional: boolean;
|
||||
},
|
||||
> {
|
||||
// (undocumented)
|
||||
@@ -1625,18 +1580,17 @@ export const Progress: {
|
||||
export type ProgressProps = {};
|
||||
|
||||
// @public
|
||||
export type ResolvedExtensionInput<
|
||||
TExtensionInput extends ExtensionInput<any, any>,
|
||||
> = TExtensionInput['extensionData'] extends Array<ExtensionDataRef>
|
||||
? {
|
||||
node: AppNode;
|
||||
} & ExtensionDataContainer<TExtensionInput['extensionData'][number]>
|
||||
: never;
|
||||
export type ResolvedExtensionInput<TExtensionInput extends ExtensionInput> =
|
||||
TExtensionInput['extensionData'] extends Array<ExtensionDataRef>
|
||||
? {
|
||||
node: AppNode;
|
||||
} & ExtensionDataContainer<TExtensionInput['extensionData'][number]>
|
||||
: never;
|
||||
|
||||
// @public
|
||||
export type ResolvedExtensionInputs<
|
||||
TInputs extends {
|
||||
[name in string]: ExtensionInput<any, any>;
|
||||
[name in string]: ExtensionInput;
|
||||
},
|
||||
> = {
|
||||
[InputName in keyof TInputs]: false extends TInputs[InputName]['config']['singleton']
|
||||
|
||||
@@ -44,13 +44,12 @@ export const ctxParamsSymbol = Symbol('params');
|
||||
* Convert a single extension input into a matching resolved input.
|
||||
* @public
|
||||
*/
|
||||
export type ResolvedExtensionInput<
|
||||
TExtensionInput extends ExtensionInput<any, any>,
|
||||
> = TExtensionInput['extensionData'] extends Array<ExtensionDataRef>
|
||||
? {
|
||||
node: AppNode;
|
||||
} & ExtensionDataContainer<TExtensionInput['extensionData'][number]>
|
||||
: never;
|
||||
export type ResolvedExtensionInput<TExtensionInput extends ExtensionInput> =
|
||||
TExtensionInput['extensionData'] extends Array<ExtensionDataRef>
|
||||
? {
|
||||
node: AppNode;
|
||||
} & ExtensionDataContainer<TExtensionInput['extensionData'][number]>
|
||||
: never;
|
||||
|
||||
/**
|
||||
* Converts an extension input map into a matching collection of resolved inputs.
|
||||
@@ -58,7 +57,7 @@ export type ResolvedExtensionInput<
|
||||
*/
|
||||
export type ResolvedExtensionInputs<
|
||||
TInputs extends {
|
||||
[name in string]: ExtensionInput<any, any>;
|
||||
[name in string]: ExtensionInput;
|
||||
},
|
||||
> = {
|
||||
[InputName in keyof TInputs]: false extends TInputs[InputName]['config']['singleton']
|
||||
@@ -123,12 +122,7 @@ export type CreateExtensionOptions<
|
||||
TKind extends string | undefined,
|
||||
TName extends string | undefined,
|
||||
UOutput extends ExtensionDataRef,
|
||||
TInputs extends {
|
||||
[inputName in string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{ optional: boolean; singleton: boolean }
|
||||
>;
|
||||
},
|
||||
TInputs extends { [inputName in string]: ExtensionInput },
|
||||
TConfigSchema extends { [key: string]: (zImpl: typeof z) => z.ZodType },
|
||||
UFactoryOutput extends ExtensionDataValue<any, any>,
|
||||
> = {
|
||||
@@ -158,12 +152,7 @@ export type ExtensionDefinitionParameters = {
|
||||
configInput?: { [K in string]: any };
|
||||
config?: { [K in string]: any };
|
||||
output?: ExtensionDataRef;
|
||||
inputs?: {
|
||||
[KName in string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{ optional: boolean; singleton: boolean }
|
||||
>;
|
||||
};
|
||||
inputs?: { [KName in string]: ExtensionInput };
|
||||
params?: object | ExtensionBlueprintDefineParams;
|
||||
};
|
||||
|
||||
@@ -194,12 +183,7 @@ export type ExtensionDefinition<
|
||||
},
|
||||
UFactoryOutput extends ExtensionDataValue<any, any>,
|
||||
UNewOutput extends ExtensionDataRef,
|
||||
TExtraInputs extends {
|
||||
[inputName in string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{ optional: boolean; singleton: boolean }
|
||||
>;
|
||||
},
|
||||
TExtraInputs extends { [inputName in string]: ExtensionInput },
|
||||
TParamsInput extends AnyParamsInput<NonNullable<T['params']>>,
|
||||
>(
|
||||
args: Expand<
|
||||
@@ -323,12 +307,7 @@ export type ExtensionDefinition<
|
||||
*/
|
||||
export function createExtension<
|
||||
UOutput extends ExtensionDataRef,
|
||||
TInputs extends {
|
||||
[inputName in string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{ optional: boolean; singleton: boolean }
|
||||
>;
|
||||
},
|
||||
TInputs extends { [inputName in string]: ExtensionInput },
|
||||
TConfigSchema extends { [key: string]: (zImpl: typeof z) => z.ZodType },
|
||||
UFactoryOutput extends ExtensionDataValue<any, any>,
|
||||
const TKind extends string | undefined = undefined,
|
||||
|
||||
@@ -103,12 +103,7 @@ export type CreateExtensionBlueprintOptions<
|
||||
TKind extends string,
|
||||
TParams extends object | ExtensionBlueprintDefineParams,
|
||||
UOutput extends ExtensionDataRef,
|
||||
TInputs extends {
|
||||
[inputName in string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{ optional: boolean; singleton: boolean }
|
||||
>;
|
||||
},
|
||||
TInputs extends { [inputName in string]: ExtensionInput },
|
||||
TConfigSchema extends { [key in string]: (zImpl: typeof z) => z.ZodType },
|
||||
UFactoryOutput extends ExtensionDataValue<any, any>,
|
||||
TDataRefs extends { [name in string]: ExtensionDataRef },
|
||||
@@ -186,12 +181,7 @@ export type ExtensionBlueprintParameters = {
|
||||
configInput?: { [K in string]: any };
|
||||
config?: { [K in string]: any };
|
||||
output?: ExtensionDataRef;
|
||||
inputs?: {
|
||||
[KName in string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{ optional: boolean; singleton: boolean }
|
||||
>;
|
||||
};
|
||||
inputs?: { [KName in string]: ExtensionInput };
|
||||
dataRefs?: { [name in string]: ExtensionDataRef };
|
||||
};
|
||||
|
||||
@@ -254,12 +244,7 @@ export interface ExtensionBlueprint<
|
||||
},
|
||||
UFactoryOutput extends ExtensionDataValue<any, any>,
|
||||
UNewOutput extends ExtensionDataRef,
|
||||
TExtraInputs extends {
|
||||
[inputName in string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{ optional: boolean; singleton: boolean }
|
||||
>;
|
||||
},
|
||||
TExtraInputs extends { [inputName in string]: ExtensionInput },
|
||||
>(args: {
|
||||
name?: TName;
|
||||
attachTo?: ExtensionAttachToSpec;
|
||||
@@ -455,12 +440,7 @@ function unwrapParams<TParams extends object>(
|
||||
export function createExtensionBlueprint<
|
||||
TParams extends object | ExtensionBlueprintDefineParams,
|
||||
UOutput extends ExtensionDataRef,
|
||||
TInputs extends {
|
||||
[inputName in string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{ optional: boolean; singleton: boolean }
|
||||
>;
|
||||
},
|
||||
TInputs extends { [inputName in string]: ExtensionInput },
|
||||
TConfigSchema extends { [key in string]: (zImpl: typeof z) => z.ZodType },
|
||||
UFactoryOutput extends ExtensionDataValue<any, any>,
|
||||
TKind extends string,
|
||||
|
||||
@@ -18,8 +18,15 @@ import { ExtensionDataRef } from './createExtensionDataRef';
|
||||
|
||||
/** @public */
|
||||
export interface ExtensionInput<
|
||||
UExtensionData extends ExtensionDataRef<unknown, string, { optional?: true }>,
|
||||
TConfig extends { singleton: boolean; optional: boolean },
|
||||
UExtensionData extends ExtensionDataRef<
|
||||
unknown,
|
||||
string,
|
||||
{ optional?: true }
|
||||
> = ExtensionDataRef,
|
||||
TConfig extends { singleton: boolean; optional: boolean } = {
|
||||
singleton: boolean;
|
||||
optional: boolean;
|
||||
},
|
||||
> {
|
||||
$$type: '@backstage/ExtensionInput';
|
||||
extensionData: Array<UExtensionData>;
|
||||
|
||||
@@ -68,22 +68,14 @@ export type InternalExtension<TConfig, TConfigInput> = Extension<
|
||||
}
|
||||
| {
|
||||
readonly version: 'v2';
|
||||
readonly inputs: {
|
||||
[inputName in string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{ optional: boolean; singleton: boolean }
|
||||
>;
|
||||
};
|
||||
readonly inputs: { [inputName in string]: ExtensionInput };
|
||||
readonly output: Array<ExtensionDataRef>;
|
||||
factory(options: {
|
||||
apis: ApiHolder;
|
||||
node: AppNode;
|
||||
config: TConfig;
|
||||
inputs: ResolvedExtensionInputs<{
|
||||
[inputName in string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{ optional: boolean; singleton: boolean }
|
||||
>;
|
||||
[inputName in string]: ExtensionInput;
|
||||
}>;
|
||||
}): Iterable<ExtensionDataValue<any, any>>;
|
||||
}
|
||||
|
||||
@@ -19,7 +19,6 @@ import { Expand } from '@backstage/types';
|
||||
import { ResolvedExtensionInput } from './createExtension';
|
||||
import { createExtensionDataContainer } from '@internal/frontend';
|
||||
import {
|
||||
ExtensionDataRef,
|
||||
ExtensionDataRefToValue,
|
||||
ExtensionDataValue,
|
||||
} from './createExtensionDataRef';
|
||||
@@ -28,16 +27,8 @@ import { ExtensionDataContainer } from './types';
|
||||
|
||||
/** @ignore */
|
||||
export type ResolvedInputValueOverrides<
|
||||
TInputs extends {
|
||||
[inputName in string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{ optional: boolean; singleton: boolean }
|
||||
>;
|
||||
} = {
|
||||
[inputName in string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{ optional: boolean; singleton: boolean }
|
||||
>;
|
||||
TInputs extends { [inputName in string]: ExtensionInput } = {
|
||||
[inputName in string]: ExtensionInput;
|
||||
},
|
||||
> = Expand<
|
||||
{
|
||||
@@ -90,12 +81,7 @@ function expectItem<T>(value: T | T[]): T {
|
||||
|
||||
/** @internal */
|
||||
export function resolveInputOverrides(
|
||||
declaredInputs?: {
|
||||
[inputName in string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{ optional: boolean; singleton: boolean }
|
||||
>;
|
||||
},
|
||||
declaredInputs?: { [inputName in string]: ExtensionInput },
|
||||
inputs?: {
|
||||
[KName in string]?:
|
||||
| ({ node: AppNode } & ExtensionDataContainer<any>)
|
||||
|
||||
@@ -490,8 +490,8 @@ const _default: OverridableFrontendPlugin<
|
||||
[x: string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{
|
||||
optional: boolean;
|
||||
singleton: boolean;
|
||||
optional: boolean;
|
||||
}
|
||||
>;
|
||||
};
|
||||
|
||||
@@ -717,8 +717,8 @@ const appPlugin: OverridableFrontendPlugin<
|
||||
[x: string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{
|
||||
optional: boolean;
|
||||
singleton: boolean;
|
||||
optional: boolean;
|
||||
}
|
||||
>;
|
||||
};
|
||||
@@ -736,8 +736,8 @@ const appPlugin: OverridableFrontendPlugin<
|
||||
[x: string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{
|
||||
optional: boolean;
|
||||
singleton: boolean;
|
||||
optional: boolean;
|
||||
}
|
||||
>;
|
||||
};
|
||||
|
||||
@@ -136,8 +136,8 @@ const _default: OverridableFrontendPlugin<
|
||||
[x: string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{
|
||||
optional: boolean;
|
||||
singleton: boolean;
|
||||
optional: boolean;
|
||||
}
|
||||
>;
|
||||
};
|
||||
@@ -198,8 +198,8 @@ const _default: OverridableFrontendPlugin<
|
||||
[x: string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{
|
||||
optional: boolean;
|
||||
singleton: boolean;
|
||||
optional: boolean;
|
||||
}
|
||||
>;
|
||||
};
|
||||
|
||||
@@ -194,8 +194,8 @@ const _default: OverridableFrontendPlugin<
|
||||
[x: string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{
|
||||
optional: boolean;
|
||||
singleton: boolean;
|
||||
optional: boolean;
|
||||
}
|
||||
>;
|
||||
};
|
||||
@@ -228,8 +228,8 @@ const _default: OverridableFrontendPlugin<
|
||||
[x: string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{
|
||||
optional: boolean;
|
||||
singleton: boolean;
|
||||
optional: boolean;
|
||||
}
|
||||
>;
|
||||
};
|
||||
@@ -251,8 +251,8 @@ const _default: OverridableFrontendPlugin<
|
||||
[x: string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{
|
||||
optional: boolean;
|
||||
singleton: boolean;
|
||||
optional: boolean;
|
||||
}
|
||||
>;
|
||||
};
|
||||
|
||||
@@ -104,8 +104,8 @@ const _default: OverridableFrontendPlugin<
|
||||
[x: string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{
|
||||
optional: boolean;
|
||||
singleton: boolean;
|
||||
optional: boolean;
|
||||
}
|
||||
>;
|
||||
};
|
||||
@@ -159,8 +159,8 @@ const _default: OverridableFrontendPlugin<
|
||||
[x: string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{
|
||||
optional: boolean;
|
||||
singleton: boolean;
|
||||
optional: boolean;
|
||||
}
|
||||
>;
|
||||
};
|
||||
@@ -214,8 +214,8 @@ const _default: OverridableFrontendPlugin<
|
||||
[x: string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{
|
||||
optional: boolean;
|
||||
singleton: boolean;
|
||||
optional: boolean;
|
||||
}
|
||||
>;
|
||||
};
|
||||
|
||||
@@ -81,8 +81,8 @@ const _default: OverridableFrontendPlugin<
|
||||
[x: string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{
|
||||
optional: boolean;
|
||||
singleton: boolean;
|
||||
optional: boolean;
|
||||
}
|
||||
>;
|
||||
};
|
||||
@@ -330,8 +330,8 @@ const _default: OverridableFrontendPlugin<
|
||||
[x: string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{
|
||||
optional: boolean;
|
||||
singleton: boolean;
|
||||
optional: boolean;
|
||||
}
|
||||
>;
|
||||
};
|
||||
@@ -373,8 +373,8 @@ export const techDocsSearchResultListItemExtension: ExtensionDefinition<{
|
||||
[x: string]: ExtensionInput<
|
||||
ExtensionDataRef,
|
||||
{
|
||||
optional: boolean;
|
||||
singleton: boolean;
|
||||
optional: boolean;
|
||||
}
|
||||
>;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user