Skip to content

Commit 67ee237

Browse files
committed
feat(types): expose explicit error fields
1 parent a5ea0fd commit 67ee237

File tree

2 files changed

+33
-7
lines changed

2 files changed

+33
-7
lines changed

src/evaluate/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ const evaluate = (
130130

131131
if (realm.isObject(current)) {
132132
if (!realm.has(current, referenceToken) && strictObjects) {
133-
throw new JSONPointerKeyError(
133+
const a = new JSONPointerKeyError(
134134
`Invalid object key "${referenceToken}" at position ${referenceTokenPosition} in "${jsonPointer}": key not found in object`,
135135
{
136136
jsonPointer,

types/index.d.ts

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -208,9 +208,35 @@ export interface JSONPointerErrorOptions {
208208
export declare class JSONPointerError extends Error {
209209
constructor(message?: string, options?: JSONPointerErrorOptions);
210210
}
211-
export declare class JSONPointerParseError extends JSONPointerError { }
212-
export declare class JSONPointerCompileError extends JSONPointerError { }
213-
export declare class JSONPointerEvaluateError extends JSONPointerError { }
214-
export declare class JSONPointerTypeError extends JSONPointerEvaluateError { }
215-
export declare class JSONPointerKeyError extends JSONPointerEvaluateError { }
216-
export declare class JSONPointerIndexError extends JSONPointerEvaluateError { }
211+
export declare class JSONPointerParseError extends JSONPointerError {
212+
jsonPointer?: JSONPointer;
213+
}
214+
export declare class JSONPointerCompileError extends JSONPointerError {
215+
referenceTokens: UnescapedReferenceToken[];
216+
}
217+
export declare class JSONPointerEvaluateError extends JSONPointerError {
218+
currentValue?: unknown;
219+
realm?: string;
220+
referenceTokens?: UnescapedReferenceToken[];
221+
}
222+
export declare class JSONPointerTypeError extends JSONPointerEvaluateError {
223+
jsonPointer: JSONPointer;
224+
referenceTokens: UnescapedReferenceToken[];
225+
referenceToken: UnescapedReferenceToken;
226+
referenceTokenPosition: number;
227+
currentValue: unknown;
228+
realm: string;
229+
}
230+
export declare class JSONPointerKeyError extends JSONPointerEvaluateError {
231+
currentValue: unknown;
232+
realm: string;
233+
referenceToken: UnescapedReferenceToken;
234+
}
235+
export declare class JSONPointerIndexError extends JSONPointerEvaluateError {
236+
jsonPointer?: JSONPointer;
237+
referenceTokens: UnescapedReferenceToken[];
238+
referenceTokenPosition?: number;
239+
currentValue: unknown;
240+
realm: string;
241+
referenceToken: UnescapedReferenceToken;
242+
}

0 commit comments

Comments
 (0)