1 import type { AnySchema } from "../../types";
2 import type { SchemaObjCxt } from "..";
3 import { Code, Name } from "../codegen";
4 import { Type } from "../util";
5 import type { JSONType } from "../rules";
6 export interface SubschemaContext {
13 dataTypes?: JSONType[];
16 parentDataProperty?: Code | number;
18 dataPathArr?: (Code | number)[];
20 jtdDiscriminator?: string;
21 jtdMetadata?: boolean;
23 createErrors?: boolean;
26 export declare type SubschemaArgs = Partial<{
28 schemaProp: string | number;
31 errSchemaPath: string;
34 dataProp: Code | string | number;
35 dataTypes: JSONType[];
36 definedProperties: Set<string>;
39 jtdDiscriminator: string;
42 createErrors: boolean;
45 export declare function getSubschema(it: SchemaObjCxt, { keyword, schemaProp, schema, schemaPath, errSchemaPath, topSchemaRef }: SubschemaArgs): SubschemaContext;
46 export declare function extendSubschemaData(subschema: SubschemaContext, it: SchemaObjCxt, { dataProp, dataPropType: dpType, data, dataTypes, propertyName }: SubschemaArgs): void;
47 export declare function extendSubschemaMode(subschema: SubschemaContext, { jtdDiscriminator, jtdMetadata, compositeRule, createErrors, allErrors }: SubschemaArgs): void;