//-----------------------------------------------------------------------------
const ajv = require("../shared/ajv")();
-const { parseRuleId, getRuleFromConfig } = require("./flat-config-helpers");
+const {
+ parseRuleId,
+ getRuleFromConfig,
+ getRuleOptionsSchema
+} = require("./flat-config-helpers");
const ruleReplacements = require("../../conf/replacements.json");
//-----------------------------------------------------------------------------
throw new TypeError(errorMessage);
}
-/**
- * Gets a complete options schema for a rule.
- * @param {{create: Function, schema: (Array|null)}} rule A new-style rule object
- * @returns {Object} JSON Schema for the rule's options.
- */
-function getRuleOptionsSchema(rule) {
-
- if (!rule) {
- return null;
- }
-
- const schema = rule.schema || rule.meta && rule.meta.schema;
-
- if (Array.isArray(schema)) {
- if (schema.length) {
- return {
- type: "array",
- items: schema,
- minItems: 0,
- maxItems: schema.length
- };
- }
- return {
- type: "array",
- minItems: 0,
- maxItems: 0
- };
-
- }
-
- // Given a full schema, leave it alone
- return schema || null;
-}
-
//-----------------------------------------------------------------------------
// Exports
//-----------------------------------------------------------------------------