Merge pull request #29057 from backstage/extension/data-container-prereq
chore: Move `createExtensionDataContainer()` to internal, shared location
This commit is contained in:
+2
-24
@@ -16,33 +16,11 @@
|
||||
|
||||
import {
|
||||
AnyExtensionDataRef,
|
||||
ExtensionDataContainer,
|
||||
ExtensionDataRef,
|
||||
ExtensionDataValue,
|
||||
} from './createExtensionDataRef';
|
||||
} from '@backstage/frontend-plugin-api';
|
||||
|
||||
/** @public */
|
||||
export type ExtensionDataContainer<UExtensionData extends AnyExtensionDataRef> =
|
||||
Iterable<
|
||||
UExtensionData extends ExtensionDataRef<
|
||||
infer IData,
|
||||
infer IId,
|
||||
infer IConfig
|
||||
>
|
||||
? IConfig['optional'] extends true
|
||||
? never
|
||||
: ExtensionDataValue<IData, IId>
|
||||
: never
|
||||
> & {
|
||||
get<TId extends UExtensionData['id']>(
|
||||
ref: ExtensionDataRef<any, TId, any>,
|
||||
): UExtensionData extends ExtensionDataRef<infer IData, TId, infer IConfig>
|
||||
? IConfig['optional'] extends true
|
||||
? IData | undefined
|
||||
: IData
|
||||
: never;
|
||||
};
|
||||
|
||||
/** @internal */
|
||||
export function createExtensionDataContainer<UData extends AnyExtensionDataRef>(
|
||||
values: Iterable<
|
||||
UData extends ExtensionDataRef<infer IData, infer IId>
|
||||
@@ -14,5 +14,6 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
export { createExtensionDataContainer } from './createExtensionDataContainer';
|
||||
export { OpaqueExtensionDefinition } from './InternalExtensionDefinition';
|
||||
export { OpaqueFrontendPlugin } from './InternalFrontendPlugin';
|
||||
|
||||
@@ -20,10 +20,7 @@ import {
|
||||
ResolveInputValueOverrides,
|
||||
resolveInputOverrides,
|
||||
} from './resolveInputOverrides';
|
||||
import {
|
||||
ExtensionDataContainer,
|
||||
createExtensionDataContainer,
|
||||
} from './createExtensionDataContainer';
|
||||
import { createExtensionDataContainer } from '@internal/frontend';
|
||||
import {
|
||||
AnyExtensionDataRef,
|
||||
ExtensionDataValue,
|
||||
@@ -32,6 +29,7 @@ import { ExtensionInput } from './createExtensionInput';
|
||||
import { z } from 'zod';
|
||||
import { createSchemaFromZod } from '../schema/createSchemaFromZod';
|
||||
import { OpaqueExtensionDefinition } from '@internal/frontend';
|
||||
import { ExtensionDataContainer } from './types';
|
||||
|
||||
/**
|
||||
* This symbol is used to pass parameter overrides from the extension override to the blueprint factory
|
||||
|
||||
@@ -28,8 +28,10 @@ import {
|
||||
import { createExtensionInput } from './createExtensionInput';
|
||||
import { RouteRef } from '../routing';
|
||||
import { ExtensionDefinition } from './createExtension';
|
||||
import { createExtensionDataContainer } from './createExtensionDataContainer';
|
||||
import { OpaqueExtensionDefinition } from '@internal/frontend';
|
||||
import {
|
||||
createExtensionDataContainer,
|
||||
OpaqueExtensionDefinition,
|
||||
} from '@internal/frontend';
|
||||
|
||||
function unused(..._any: any[]) {}
|
||||
|
||||
|
||||
@@ -30,14 +30,12 @@ import {
|
||||
AnyExtensionDataRef,
|
||||
ExtensionDataValue,
|
||||
} from './createExtensionDataRef';
|
||||
import {
|
||||
ExtensionDataContainer,
|
||||
createExtensionDataContainer,
|
||||
} from './createExtensionDataContainer';
|
||||
import { createExtensionDataContainer } from '@internal/frontend';
|
||||
import {
|
||||
ResolveInputValueOverrides,
|
||||
resolveInputOverrides,
|
||||
} from './resolveInputOverrides';
|
||||
import { ExtensionDataContainer } from './types';
|
||||
|
||||
/**
|
||||
* @public
|
||||
|
||||
@@ -28,7 +28,6 @@ export {
|
||||
createExtensionInput,
|
||||
type ExtensionInput,
|
||||
} from './createExtensionInput';
|
||||
export { type ExtensionDataContainer } from './createExtensionDataContainer';
|
||||
export {
|
||||
createExtensionDataRef,
|
||||
type AnyExtensionDataRef,
|
||||
@@ -51,6 +50,7 @@ export { type Extension } from './resolveExtensionDefinition';
|
||||
export {
|
||||
type AnyRoutes,
|
||||
type AnyExternalRoutes,
|
||||
type ExtensionDataContainer,
|
||||
type ExtensionOverrides,
|
||||
type FeatureFlagConfig,
|
||||
type FrontendFeature,
|
||||
|
||||
@@ -17,16 +17,14 @@
|
||||
import { AppNode } from '../apis';
|
||||
import { Expand } from '@backstage/types';
|
||||
import { ResolvedExtensionInput } from './createExtension';
|
||||
import {
|
||||
ExtensionDataContainer,
|
||||
createExtensionDataContainer,
|
||||
} from './createExtensionDataContainer';
|
||||
import { createExtensionDataContainer } from '@internal/frontend';
|
||||
import {
|
||||
AnyExtensionDataRef,
|
||||
ExtensionDataRefToValue,
|
||||
ExtensionDataValue,
|
||||
} from './createExtensionDataRef';
|
||||
import { ExtensionInput } from './createExtensionInput';
|
||||
import { ExtensionDataContainer } from './types';
|
||||
|
||||
/** @public */
|
||||
export type ResolveInputValueOverrides<
|
||||
|
||||
@@ -16,6 +16,11 @@
|
||||
|
||||
import { ExternalRouteRef, RouteRef, SubRouteRef } from '../routing';
|
||||
import { ExtensionDefinition } from './createExtension';
|
||||
import {
|
||||
AnyExtensionDataRef,
|
||||
ExtensionDataRef,
|
||||
ExtensionDataValue,
|
||||
} from './createExtensionDataRef';
|
||||
import { FrontendPlugin } from './createFrontendPlugin';
|
||||
|
||||
/**
|
||||
@@ -51,3 +56,25 @@ export interface ExtensionOverrides {
|
||||
* @deprecated import from {@link @backstage/frontend-app-api#FrontendFeature} instead
|
||||
*/
|
||||
export type FrontendFeature = FrontendPlugin | ExtensionOverrides;
|
||||
|
||||
/** @public */
|
||||
export type ExtensionDataContainer<UExtensionData extends AnyExtensionDataRef> =
|
||||
Iterable<
|
||||
UExtensionData extends ExtensionDataRef<
|
||||
infer IData,
|
||||
infer IId,
|
||||
infer IConfig
|
||||
>
|
||||
? IConfig['optional'] extends true
|
||||
? never
|
||||
: ExtensionDataValue<IData, IId>
|
||||
: never
|
||||
> & {
|
||||
get<TId extends UExtensionData['id']>(
|
||||
ref: ExtensionDataRef<any, TId, any>,
|
||||
): UExtensionData extends ExtensionDataRef<infer IData, TId, infer IConfig>
|
||||
? IConfig['optional'] extends true
|
||||
? IData | undefined
|
||||
: IData
|
||||
: never;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user