14 lines
513 B
TypeScript
14 lines
513 B
TypeScript
|
import {resolveUrl, normalizeId, getFullPath} from "./resolve"
|
||
|
import type {UriResolver} from "../types"
|
||
|
|
||
|
export default class MissingRefError extends Error {
|
||
|
readonly missingRef: string
|
||
|
readonly missingSchema: string
|
||
|
|
||
|
constructor(resolver: UriResolver, baseId: string, ref: string, msg?: string) {
|
||
|
super(msg || `can't resolve reference ${ref} from id ${baseId}`)
|
||
|
this.missingRef = resolveUrl(resolver, baseId, ref)
|
||
|
this.missingSchema = normalizeId(getFullPath(resolver, this.missingRef))
|
||
|
}
|
||
|
}
|