Spaces:
Runtime error
Runtime error
| import type {AnySchemaObject} from "../../types" | |
| import type {SchemaObjCxt} from ".." | |
| import type {JSONType, RuleGroup, Rule} from "../rules" | |
| export function schemaHasRulesForType( | |
| {schema, self}: SchemaObjCxt, | |
| type: JSONType | |
| ): boolean | undefined { | |
| const group = self.RULES.types[type] | |
| return group && group !== true && shouldUseGroup(schema, group) | |
| } | |
| export function shouldUseGroup(schema: AnySchemaObject, group: RuleGroup): boolean { | |
| return group.rules.some((rule) => shouldUseRule(schema, rule)) | |
| } | |
| export function shouldUseRule(schema: AnySchemaObject, rule: Rule): boolean | undefined { | |
| return ( | |
| schema[rule.keyword] !== undefined || | |
| rule.definition.implements?.some((kwd) => schema[kwd] !== undefined) | |
| ) | |
| } | |