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
TypeScript
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[];
};
};