frontend-plugin-api: clean up output verification
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
@@ -158,9 +158,7 @@ export interface LegacyCreateExtensionOptions<
|
||||
/** @ignore */
|
||||
export type VerifyExtensionFactoryOutput<
|
||||
UDeclaredOutput extends AnyExtensionDataRef,
|
||||
UFactoryOutput extends
|
||||
| ExtensionDataValue<any, any>
|
||||
| ExtensionDataContainer<any>,
|
||||
UFactoryOutput extends ExtensionDataValue<any, any>,
|
||||
> = (
|
||||
UDeclaredOutput extends any
|
||||
? UDeclaredOutput['config']['optional'] extends true
|
||||
@@ -168,29 +166,21 @@ export type VerifyExtensionFactoryOutput<
|
||||
: UDeclaredOutput['id']
|
||||
: never
|
||||
) extends infer IRequiredOutputIds
|
||||
? (
|
||||
UFactoryOutput extends ExtensionDataValue<any, any>
|
||||
? UFactoryOutput['id']
|
||||
: UFactoryOutput extends ExtensionDataContainer<infer IDataRefs>
|
||||
? IDataRefs['id']
|
||||
: never
|
||||
) extends infer IFactoryOutputIds
|
||||
? [IRequiredOutputIds] extends [IFactoryOutputIds]
|
||||
? [IFactoryOutputIds] extends [UDeclaredOutput['id']]
|
||||
? {}
|
||||
: {
|
||||
'Error: The extension factory has undeclared output(s)': Exclude<
|
||||
IFactoryOutputIds,
|
||||
UDeclaredOutput['id']
|
||||
>;
|
||||
}
|
||||
? [IRequiredOutputIds] extends [UFactoryOutput['id']]
|
||||
? [UFactoryOutput['id']] extends [UDeclaredOutput['id']]
|
||||
? {}
|
||||
: {
|
||||
'Error: The extension factory is missing the following output(s)': Exclude<
|
||||
IRequiredOutputIds,
|
||||
IFactoryOutputIds
|
||||
'Error: The extension factory has undeclared output(s)': Exclude<
|
||||
UFactoryOutput['id'],
|
||||
UDeclaredOutput['id']
|
||||
>;
|
||||
}
|
||||
: never
|
||||
: {
|
||||
'Error: The extension factory is missing the following output(s)': Exclude<
|
||||
IRequiredOutputIds,
|
||||
UFactoryOutput['id']
|
||||
>;
|
||||
}
|
||||
: never;
|
||||
|
||||
/** @public */
|
||||
|
||||
Reference in New Issue
Block a user