refactor: unify how validateOptions is handled (#6961)

* refactor: unify how validateOptions is handled

* fix types

* fix again
This commit is contained in:
Joshua Chen 2022-03-22 19:40:56 +08:00 committed by GitHub
parent 44107fb879
commit 6e2eb44964
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
43 changed files with 542 additions and 540 deletions

View file

@ -6,11 +6,7 @@
*/
import {Joi} from '@docusaurus/utils-validation';
import type {
ThemeConfig,
ValidationResult,
OptionValidationContext,
} from '@docusaurus/types';
import type {OptionValidationContext} from '@docusaurus/types';
import type {PluginOptions} from '@docusaurus/plugin-pwa';
const DEFAULT_OPTIONS = {
@ -27,7 +23,7 @@ const DEFAULT_OPTIONS = {
reloadPopup: '@theme/PwaReloadPopup',
};
export const Schema = Joi.object({
const Schema = Joi.object({
debug: Joi.bool().default(DEFAULT_OPTIONS.debug),
offlineModeActivationStrategies: Joi.array()
.items(
@ -61,6 +57,6 @@ export const Schema = Joi.object({
export function validateOptions({
validate,
options,
}: OptionValidationContext<PluginOptions>): ValidationResult<ThemeConfig> {
}: OptionValidationContext<PluginOptions, PluginOptions>): PluginOptions {
return validate(Schema, options);
}