supertokens-node
Version:
NodeJS driver for SuperTokens core
49 lines (48 loc) • 1.64 kB
TypeScript
// @ts-nocheck
import { SuperTokensConfig, SuperTokensPlugin, SuperTokensPublicPlugin } from ".";
import { PluginRouteHandler, AllRecipeConfigs, TypeInput, NormalisedAppinfo } from "./types";
export declare function getPublicPlugin(plugin: SuperTokensPlugin): SuperTokensPublicPlugin;
/**
* Resolve plugin dependencies recursively, ensuring that each plugin is only added once.
* @param plugin Plugin to process
* @param publicConfig Supertokens Public config
* @param pluginsAbove Plugins processed before this plugin
* @param sdkVersion Current SDK version
* @returns Resolved list of dependencies for the plugin
*/
export declare function getPluginDependencies({
plugin,
config,
pluginsAbove,
sdkVersion,
normalisedAppInfo,
}: {
plugin: SuperTokensPlugin;
config: SuperTokensConfig;
normalisedAppInfo: NormalisedAppinfo;
pluginsAbove: SuperTokensPlugin[];
sdkVersion: string;
}): SuperTokensPlugin[];
export declare function applyPlugins<T extends keyof AllRecipeConfigs>(
recipeId: T,
config: AllRecipeConfigs[T] | undefined,
plugins: NonNullable<SuperTokensPlugin["overrideMap"]>[]
): AllRecipeConfigs[T];
/**
* Processes the list of plugins, resolving dependencies, applying overrides, and collecting route handlers.
*/
export declare function loadPlugins({
plugins,
config,
normalisedAppInfo,
}: {
plugins: SuperTokensPlugin[];
config: TypeInput;
normalisedAppInfo: NormalisedAppinfo;
}): {
config: TypeInput;
pluginRouteHandlers: (PluginRouteHandler & {
pluginId: string;
})[];
overrideMaps: Record<string, any>[];
};