mirror of
https://github.com/facebook/docusaurus.git
synced 2025-06-04 11:52:39 +02:00
refactor: unify how validateOptions is handled (#6961)
* refactor: unify how validateOptions is handled * fix types * fix again
This commit is contained in:
parent
44107fb879
commit
6e2eb44964
43 changed files with 542 additions and 540 deletions
|
@ -10,11 +10,10 @@ import type {
|
|||
LoadContext,
|
||||
Plugin,
|
||||
OptionValidationContext,
|
||||
ValidationResult,
|
||||
ThemeConfig,
|
||||
ThemeConfigValidationContext,
|
||||
} from '@docusaurus/types';
|
||||
import type {PluginOptions} from '@docusaurus/plugin-google-analytics';
|
||||
import type {PluginOptions, Options} from '@docusaurus/plugin-google-analytics';
|
||||
|
||||
export default function pluginGoogleAnalytics(
|
||||
context: LoadContext,
|
||||
|
@ -74,13 +73,13 @@ const pluginOptionsSchema = Joi.object<PluginOptions>({
|
|||
export function validateOptions({
|
||||
validate,
|
||||
options,
|
||||
}: OptionValidationContext<PluginOptions>): ValidationResult<PluginOptions> {
|
||||
}: OptionValidationContext<Options, PluginOptions>): PluginOptions {
|
||||
return validate(pluginOptionsSchema, options);
|
||||
}
|
||||
|
||||
export function validateThemeConfig({
|
||||
themeConfig,
|
||||
}: ThemeConfigValidationContext<ThemeConfig>): ValidationResult<ThemeConfig> {
|
||||
}: ThemeConfigValidationContext<ThemeConfig>): ThemeConfig {
|
||||
if ('googleAnalytics' in themeConfig) {
|
||||
throw new Error(
|
||||
'The "googleAnalytics" field in themeConfig should now be specified as option for plugin-google-analytics. More information at https://github.com/facebook/docusaurus/pull/5832.',
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue