UNPKG

json-schema-describes-subset

Version:

Tools for static JSON schema analysis, including functions to determine if one schema describes a subset of another or if a schema describes the empty set or to convert a schema to its disjunctive normal form (DNF).

31 lines (30 loc) 1.35 kB
import { type JSONSchema } from '../json-schema/index.js'; import type { Options } from '../options/index.js'; export declare function normalizeURI(uri: string): string; export declare function normalizeURI(uri: undefined): undefined; export declare function normalizeURI(uri: string | undefined): string | undefined; /** * Returns a non relative uri or `undefined` * */ export declare function resolveSchemaIdValue(baseURI: string | undefined, $id: string | undefined): string | undefined; export declare function createSchemaCloneWithNonRelativeIdsAndRefs(schema: JSONSchema, baseURI: string | undefined, idDenyList: Set<string>): { schema: JSONSchema; ids: Set<string>; }; export declare function getBaseURIsFromOptions(options?: Options | undefined): (string | undefined)[]; /** * Takes `options`' `baseURI` property and returns the given `schemas` with a * `$id` that has been resolved accordingly. The returned `options`' `baseURI` * is set to `undefined` since this is not needed any more. * */ export declare function resolveSchemaArgumentsIds<const Schemas extends JSONSchema[], Options_ extends Options | undefined>(schemas: Schemas, options: Options_): { schemas: { [Key in keyof Schemas]: JSONSchema; }; options: Options_ & { baseURI: undefined; definitions: JSONSchema[]; }; };