📄 schema¶
📊 Analysis Summary¶
| Metric | Count |
|---|---|
| 🔧 Functions | 2 |
| 📦 Imports | 10 |
| 📊 Variables & Constants | 6 |
| 📑 Type Aliases | 1 |
📚 Table of Contents¶
🛠️ File Location:¶
📂 packages/eslint-plugin/src/rules/naming-convention-utils/schema.ts
📦 Imports¶
| Name | Source |
|---|---|
JSONSchema |
@typescript-eslint/utils |
IndividualAndMetaSelectorsString |
./enums |
ModifiersString |
./enums |
getEnumNames |
../../util |
MetaSelectors |
./enums |
Modifiers |
./enums |
PredefinedFormats |
./enums |
Selectors |
./enums |
TypeModifiers |
./enums |
UnderscoreOptions |
./enums |
Variables & Constants¶
| Name | Type | Kind | Value | Exported |
|---|---|---|---|---|
$DEFS |
Record<string, JSONSchema.JSONSchema4> |
const | { // enums predefinedFormats: { enum: getEnumNames(PredefinedFormats), type: ... |
✗ |
UNDERSCORE_SCHEMA |
JSONSchema.JSONSchema4 |
const | { $ref: '#/$defs/underscoreOptions', } |
✗ |
PREFIX_SUFFIX_SCHEMA |
JSONSchema.JSONSchema4 |
const | { $ref: '#/$defs/prefixSuffixConfig', } |
✗ |
MATCH_REGEX_SCHEMA |
JSONSchema.JSONSchema4 |
const | { $ref: '#/$defs/matchRegexConfig', } |
✗ |
FORMAT_OPTIONS_PROPERTIES |
JSONSchemaProperties |
const | { custom: MATCH_REGEX_SCHEMA, failureMessage: { type: 'string', }, format: { ... |
✗ |
SCHEMA |
JSONSchema.JSONSchema4 |
const | { $defs: $DEFS, additionalItems: false, items: { oneOf: [ selectorsSchema(), ... |
✓ |
Functions¶
selectorSchema(selectorString: IndividualAndMetaSelectorsString, allowType: boolean, modifiers: ModifiersString[]): JSONSchema.JSONSchema4[]¶
Parameters:
selectorStringIndividualAndMetaSelectorsStringallowTypebooleanmodifiersModifiersString[]
Returns: JSONSchema.JSONSchema4[]
Code
function selectorSchema(
selectorString: IndividualAndMetaSelectorsString,
allowType: boolean,
modifiers?: ModifiersString[],
): JSONSchema.JSONSchema4[] {
const selector: JSONSchemaProperties = {
filter: {
oneOf: [
{
minLength: 1,
type: 'string',
},
MATCH_REGEX_SCHEMA,
],
},
selector: {
enum: [selectorString],
type: 'string',
},
};
if (modifiers && modifiers.length > 0) {
selector.modifiers = {
additionalItems: false,
items: {
enum: modifiers,
type: 'string',
},
type: 'array',
};
}
if (allowType) {
selector.types = {
additionalItems: false,
items: {
$ref: '#/$defs/typeModifiers',
},
type: 'array',
};
}
return [
{
additionalProperties: false,
description: `Selector '${selectorString}'`,
properties: {
...FORMAT_OPTIONS_PROPERTIES,
...selector,
},
required: ['selector', 'format'],
type: 'object',
},
];
}
selectorsSchema(): JSONSchema.JSONSchema4¶
Returns: JSONSchema.JSONSchema4
Calls:
getEnumNames (from ../../util)
Code
function selectorsSchema(): JSONSchema.JSONSchema4 {
return {
additionalProperties: false,
description: 'Multiple selectors in one config',
properties: {
...FORMAT_OPTIONS_PROPERTIES,
filter: {
oneOf: [
{
minLength: 1,
type: 'string',
},
MATCH_REGEX_SCHEMA,
],
},
modifiers: {
additionalItems: false,
items: {
enum: getEnumNames(Modifiers),
type: 'string',
},
type: 'array',
},
selector: {
additionalItems: false,
items: {
enum: [...getEnumNames(MetaSelectors), ...getEnumNames(Selectors)],
type: 'string',
},
type: 'array',
},
types: {
additionalItems: false,
items: {
$ref: '#/$defs/typeModifiers',
},
type: 'array',
},
},
required: ['selector', 'format'],
type: 'object',
};
}
Type Aliases¶
JSONSchemaProperties¶
Generated by Syntax Scribe