From 5008fcf6def99a8d21d67c5d9535d5832d14e7c4 Mon Sep 17 00:00:00 2001 From: golopot Date: Sat, 22 Jun 2019 03:30:33 +0800 Subject: [PATCH] fix: make options schemas effective --- src/rules/newlineAfterDescription.js | 14 ++--- src/rules/requireDescription.js | 63 ++++++++++--------- src/rules/requireExample.js | 30 ++++----- .../requireHyphenBeforeParamDescription.js | 14 ++--- src/rules/requireParam.js | 30 ++++----- src/rules/requireReturns.js | 36 +++++------ 6 files changed, 94 insertions(+), 93 deletions(-) diff --git a/src/rules/newlineAfterDescription.js b/src/rules/newlineAfterDescription.js index 07f2f5a33..2cc885002 100644 --- a/src/rules/newlineAfterDescription.js +++ b/src/rules/newlineAfterDescription.js @@ -56,12 +56,12 @@ export default iterateJsdoc(({ }, { meta: { fixable: 'whitespace', + schema: [ + { + enum: ['always', 'never'], + type: 'string' + } + ], type: 'layout' - }, - schema: [ - { - enum: ['always'], - type: 'string' - } - ] + } }); diff --git a/src/rules/requireDescription.js b/src/rules/requireDescription.js index 36bdb3a6c..89462adde 100644 --- a/src/rules/requireDescription.js +++ b/src/rules/requireDescription.js @@ -31,6 +31,36 @@ export default iterateJsdoc(({ }); }, { meta: { + schema: [ + { + additionalProperties: false, + properties: { + contexts: { + oneOf: [ + { + items: { + type: 'string' + }, + type: 'array' + }, + { + type: 'string' + } + ] + }, + exemptedBy: { + items: { + type: 'string' + }, + type: 'array' + }, + noDefaults: { + type: 'boolean' + } + }, + type: 'object' + } + ], type: 'suggestion' }, returns (context) { @@ -50,35 +80,6 @@ export default iterateJsdoc(({ return noDefaults ? contexts : [...new Set([...defaultContexts, ...contexts])]; - }, - schema: [ - { - additionalProperties: false, - properties: { - contexts: { - oneOf: [ - { - items: { - type: 'string' - }, - type: 'array' - }, - { - type: 'string' - } - ] - }, - exemptedBy: { - items: { - type: 'string' - }, - type: 'array' - }, - noDefaults: { - type: 'boolean' - } - }, - type: 'object' - } - ] + } + }); diff --git a/src/rules/requireExample.js b/src/rules/requireExample.js index 9b538d2bd..9647cbae9 100644 --- a/src/rules/requireExample.js +++ b/src/rules/requireExample.js @@ -42,20 +42,20 @@ export default iterateJsdoc(({ }); }, { meta: { + schema: [ + { + additionalProperties: false, + properties: { + exemptedBy: { + items: { + type: 'string' + }, + type: 'array' + } + }, + type: 'object' + } + ], type: 'suggestion' - }, - schema: [ - { - additionalProperties: false, - properties: { - exemptedBy: { - items: { - type: 'string' - }, - type: 'array' - } - }, - type: 'object' - } - ] + } }); diff --git a/src/rules/requireHyphenBeforeParamDescription.js b/src/rules/requireHyphenBeforeParamDescription.js index 3d4c4a658..2aa2fdc3b 100644 --- a/src/rules/requireHyphenBeforeParamDescription.js +++ b/src/rules/requireHyphenBeforeParamDescription.js @@ -56,12 +56,12 @@ export default iterateJsdoc(({ }, { meta: { fixable: 'code', + schema: [ + { + enum: ['always', 'never'], + type: 'string' + } + ], type: 'layout' - }, - schema: [ - { - enum: ['always'], - type: 'string' - } - ] + } }); diff --git a/src/rules/requireParam.js b/src/rules/requireParam.js index 324bd2d87..9b030aed4 100644 --- a/src/rules/requireParam.js +++ b/src/rules/requireParam.js @@ -30,20 +30,20 @@ export default iterateJsdoc(({ }); }, { meta: { + schema: [ + { + additionalProperties: false, + properties: { + exemptedBy: { + items: { + type: 'string' + }, + type: 'array' + } + }, + type: 'object' + } + ], type: 'suggestion' - }, - schema: [ - { - additionalProperties: false, - properties: { - exemptedBy: { - items: { - type: 'string' - }, - type: 'array' - } - }, - type: 'object' - } - ] + } }); diff --git a/src/rules/requireReturns.js b/src/rules/requireReturns.js index c31295c3e..fa5db35e6 100644 --- a/src/rules/requireReturns.js +++ b/src/rules/requireReturns.js @@ -71,24 +71,24 @@ export default iterateJsdoc(({ } }, { meta: { - type: 'suggestion' - }, - schema: [ - { - additionalProperties: false, - properties: { - exemptedBy: { - items: { - type: 'string' + schema: [ + { + additionalProperties: false, + properties: { + exemptedBy: { + items: { + type: 'string' + }, + type: 'array' }, - type: 'array' + forceReturnsWithAsync: { + default: false, + type: 'boolean' + } }, - forceReturnsWithAsync: { - default: false, - type: 'boolean' - } - }, - type: 'object' - } - ] + type: 'object' + } + ], + type: 'suggestion' + } });