Spaces:
Running
Running
import type { AnySchema } from "../../types"; | |
import type { SchemaObjCxt } from ".."; | |
import { Code, Name } from "../codegen"; | |
import { Type } from "../util"; | |
import type { JSONType } from "../rules"; | |
export interface SubschemaContext { | |
schema: AnySchema; | |
schemaPath: Code; | |
errSchemaPath: string; | |
topSchemaRef?: Code; | |
errorPath?: Code; | |
dataLevel?: number; | |
dataTypes?: JSONType[]; | |
data?: Name; | |
parentData?: Name; | |
parentDataProperty?: Code | number; | |
dataNames?: Name[]; | |
dataPathArr?: (Code | number)[]; | |
propertyName?: Name; | |
jtdDiscriminator?: string; | |
jtdMetadata?: boolean; | |
compositeRule?: true; | |
createErrors?: boolean; | |
allErrors?: boolean; | |
} | |
export type SubschemaArgs = Partial<{ | |
keyword: string; | |
schemaProp: string | number; | |
schema: AnySchema; | |
schemaPath: Code; | |
errSchemaPath: string; | |
topSchemaRef: Code; | |
data: Name | Code; | |
dataProp: Code | string | number; | |
dataTypes: JSONType[]; | |
definedProperties: Set<string>; | |
propertyName: Name; | |
dataPropType: Type; | |
jtdDiscriminator: string; | |
jtdMetadata: boolean; | |
compositeRule: true; | |
createErrors: boolean; | |
allErrors: boolean; | |
}>; | |
export declare function getSubschema(it: SchemaObjCxt, { keyword, schemaProp, schema, schemaPath, errSchemaPath, topSchemaRef }: SubschemaArgs): SubschemaContext; | |
export declare function extendSubschemaData(subschema: SubschemaContext, it: SchemaObjCxt, { dataProp, dataPropType: dpType, data, dataTypes, propertyName }: SubschemaArgs): void; | |
export declare function extendSubschemaMode(subschema: SubschemaContext, { jtdDiscriminator, jtdMetadata, compositeRule, createErrors, allErrors }: SubschemaArgs): void; | |