import { FilePosition, StringMap } from "@azure-tools/openapi-tools-common"; import { Severity } from "./severity"; /** * @class * Error that results from validations. */ interface ErrorCodeMetadata { readonly severity: Severity; readonly docUrl: string; } export type ValidationErrorMetadata = ErrorCodeMetadata & { code: ExtendedErrorCode; }; export type ExtendedErrorCode = ErrorCode | WrapperErrorCode | RuntimeErrorCode; export type ErrorCode = keyof typeof errorConstants; export type WrapperErrorCode = keyof typeof wrapperErrorConstants; export type RuntimeErrorCode = keyof typeof runtimeErrorConstants; declare const errorConstants: { INVALID_TYPE: { severity: Severity; docUrl: string; }; INVALID_FORMAT: { severity: Severity; docUrl: string; }; ENUM_MISMATCH: { severity: Severity; docUrl: string; }; ENUM_CASE_MISMATCH: { severity: Severity; docUrl: string; }; PII_MISMATCH: { severity: Severity; docUrl: string; }; NOT_PASSED: { severity: Severity; docUrl: string; }; ARRAY_LENGTH_SHORT: { severity: Severity; docUrl: string; }; ARRAY_LENGTH_LONG: { severity: Severity; docUrl: string; }; ARRAY_UNIQUE: { severity: Severity; docUrl: string; }; ARRAY_ADDITIONAL_ITEMS: { severity: Severity; docUrl: string; }; MULTIPLE_OF: { severity: Severity; docUrl: string; }; MINIMUM: { severity: Severity; docUrl: string; }; MINIMUM_EXCLUSIVE: { severity: Severity; docUrl: string; }; MAXIMUM: { severity: Severity; docUrl: string; }; MAXIMUM_EXCLUSIVE: { severity: Severity; docUrl: string; }; READONLY_PROPERTY_NOT_ALLOWED_IN_REQUEST: { severity: Severity; docUrl: string; }; UNRESOLVABLE_REFERENCE: { severity: Severity; docUrl: string; }; SECRET_PROPERTY: { severity: Severity; docUrl: string; }; WRITEONLY_PROPERTY_NOT_ALLOWED_IN_RESPONSE: { severity: Severity; docUrl: string; }; OBJECT_PROPERTIES_MINIMUM: { severity: Severity; docUrl: string; }; OBJECT_PROPERTIES_MAXIMUM: { severity: Severity; docUrl: string; }; OBJECT_MISSING_REQUIRED_PROPERTY: { severity: Severity; docUrl: string; }; MISSING_REQUIRED_PARAMETER: { severity: Severity; docUrl: string; }; OBJECT_ADDITIONAL_PROPERTIES: { severity: Severity; docUrl: string; }; OBJECT_DEPENDENCY_KEY: { severity: Severity; docUrl: string; }; MIN_LENGTH: { severity: Severity; docUrl: string; }; MAX_LENGTH: { severity: Severity; docUrl: string; }; PATTERN: { severity: Severity; docUrl: string; }; INVALID_RESPONSE_CODE: { severity: Severity; docUrl: string; }; INVALID_CONTENT_TYPE: { severity: Severity; docUrl: string; }; DISCRIMINATOR_VALUE_NOT_FOUND: { severity: Severity; docUrl: string; }; INVALID_RESPONSE_HEADER: { severity: Severity; docUrl: string; }; INVALID_RESPONSE_BODY: { severity: Severity; docUrl: string; }; MISSING_RESOURCE_ID: { severity: Severity; docUrl: string; }; LRO_RESPONSE_CODE: { severity: Severity; docUrl: string; }; LRO_RESPONSE_HEADER: { severity: Severity; docUrl: string; }; }; declare const wrapperErrorConstants: { ANY_OF_MISSING: { severity: Severity; docUrl: string; }; ONE_OF_MISSING: { severity: Severity; docUrl: string; }; ONE_OF_MULTIPLE: { severity: Severity; docUrl: string; }; MULTIPLE_OPERATIONS_FOUND: { severity: Severity; docUrl: string; }; INVALID_RESPONSE_HEADER: { severity: Severity; docUrl: string; }; INVALID_RESPONSE_BODY: { severity: Severity; docUrl: string; }; INVALID_REQUEST_PARAMETER: { severity: Severity; docUrl: string; }; }; declare const runtimeErrorConstants: { OPERATION_NOT_FOUND_IN_CACHE: { severity: Severity; docUrl: string; }; OPERATION_NOT_FOUND_IN_CACHE_WITH_VERB: { severity: Severity; docUrl: string; }; OPERATION_NOT_FOUND_IN_CACHE_WITH_API: { severity: Severity; docUrl: string; }; OPERATION_NOT_FOUND_IN_CACHE_WITH_PROVIDER: { severity: Severity; docUrl: string; }; INTERNAL_ERROR: { severity: Severity; docUrl: string; }; }; export declare const allErrorConstants: { OPERATION_NOT_FOUND_IN_CACHE: { severity: Severity; docUrl: string; }; OPERATION_NOT_FOUND_IN_CACHE_WITH_VERB: { severity: Severity; docUrl: string; }; OPERATION_NOT_FOUND_IN_CACHE_WITH_API: { severity: Severity; docUrl: string; }; OPERATION_NOT_FOUND_IN_CACHE_WITH_PROVIDER: { severity: Severity; docUrl: string; }; INTERNAL_ERROR: { severity: Severity; docUrl: string; }; ANY_OF_MISSING: { severity: Severity; docUrl: string; }; ONE_OF_MISSING: { severity: Severity; docUrl: string; }; ONE_OF_MULTIPLE: { severity: Severity; docUrl: string; }; MULTIPLE_OPERATIONS_FOUND: { severity: Severity; docUrl: string; }; INVALID_RESPONSE_HEADER: { severity: Severity; docUrl: string; }; INVALID_RESPONSE_BODY: { severity: Severity; docUrl: string; }; INVALID_REQUEST_PARAMETER: { severity: Severity; docUrl: string; }; INVALID_TYPE: { severity: Severity; docUrl: string; }; INVALID_FORMAT: { severity: Severity; docUrl: string; }; ENUM_MISMATCH: { severity: Severity; docUrl: string; }; ENUM_CASE_MISMATCH: { severity: Severity; docUrl: string; }; PII_MISMATCH: { severity: Severity; docUrl: string; }; NOT_PASSED: { severity: Severity; docUrl: string; }; ARRAY_LENGTH_SHORT: { severity: Severity; docUrl: string; }; ARRAY_LENGTH_LONG: { severity: Severity; docUrl: string; }; ARRAY_UNIQUE: { severity: Severity; docUrl: string; }; ARRAY_ADDITIONAL_ITEMS: { severity: Severity; docUrl: string; }; MULTIPLE_OF: { severity: Severity; docUrl: string; }; MINIMUM: { severity: Severity; docUrl: string; }; MINIMUM_EXCLUSIVE: { severity: Severity; docUrl: string; }; MAXIMUM: { severity: Severity; docUrl: string; }; MAXIMUM_EXCLUSIVE: { severity: Severity; docUrl: string; }; READONLY_PROPERTY_NOT_ALLOWED_IN_REQUEST: { severity: Severity; docUrl: string; }; UNRESOLVABLE_REFERENCE: { severity: Severity; docUrl: string; }; SECRET_PROPERTY: { severity: Severity; docUrl: string; }; WRITEONLY_PROPERTY_NOT_ALLOWED_IN_RESPONSE: { severity: Severity; docUrl: string; }; OBJECT_PROPERTIES_MINIMUM: { severity: Severity; docUrl: string; }; OBJECT_PROPERTIES_MAXIMUM: { severity: Severity; docUrl: string; }; OBJECT_MISSING_REQUIRED_PROPERTY: { severity: Severity; docUrl: string; }; MISSING_REQUIRED_PARAMETER: { severity: Severity; docUrl: string; }; OBJECT_ADDITIONAL_PROPERTIES: { severity: Severity; docUrl: string; }; OBJECT_DEPENDENCY_KEY: { severity: Severity; docUrl: string; }; MIN_LENGTH: { severity: Severity; docUrl: string; }; MAX_LENGTH: { severity: Severity; docUrl: string; }; PATTERN: { severity: Severity; docUrl: string; }; INVALID_RESPONSE_CODE: { severity: Severity; docUrl: string; }; INVALID_CONTENT_TYPE: { severity: Severity; docUrl: string; }; DISCRIMINATOR_VALUE_NOT_FOUND: { severity: Severity; docUrl: string; }; MISSING_RESOURCE_ID: { severity: Severity; docUrl: string; }; LRO_RESPONSE_CODE: { severity: Severity; docUrl: string; }; LRO_RESPONSE_HEADER: { severity: Severity; docUrl: string; }; }; /** * Gets the validation error metadata from an error code. If the code is unknown assume critical. */ export declare const errorCodeToErrorMetadata: (code: ExtendedErrorCode) => ValidationErrorMetadata; export interface SourceLocation { readonly url: string; readonly jsonRef?: string; readonly jsonPath?: string; readonly position: { readonly column: number; readonly line: number; }; } export interface RuntimeException { code: string; readonly message: string; } export interface NodeError> { code?: string; message?: string; path?: string | string[]; jsonPath?: string; schemaPath?: string; similarPaths?: string[]; similarJsonPaths?: string[]; errors?: T[]; innerErrors?: T[]; in?: string; name?: string; params?: unknown[]; inner?: T[]; title?: string; position?: FilePosition; url?: string; jsonPosition?: FilePosition; jsonUrl?: string; directives?: StringMap; } export interface ValidationResult> { readonly requestValidationResult: T; readonly responseValidationResult: T; } /** * Serializes error tree */ export declare function serializeErrors>(node: T, path: string[]): T[]; export {}; //# sourceMappingURL=validationError.d.ts.map