Type alias ConversationPluginDefinitionFromPlugin<T>

ConversationPluginDefinitionFromPlugin<T>: T extends ConversationPlugin<infer TName, infer TOut, infer TData>
    ? ConversationPluginDefinition<TName, TOut, TData>
    : never

Utility type to extract a ConversationPluginDefinition from a ConversationPlugin.

Useful for creating type guards from plugins.

Type Parameters

Example

const myPlugin = createConversationPlugin("my-plugin", () => {
return { ... };
});

type MyPluginDefinition = ConversationPluginDefinitionFromPlugin<typeof myPlugin>;

const isMyPlugin = (plugin?: ConversationPluginDefinition<any, any, any>): plugin is MyPluginDefinition
=> plugin?.name === myPluginName;

Generated using TypeDoc