@typespec/compiler
Version:
TypeSpec compiler and standard library
45 lines • 1.45 kB
JavaScript
function createBaseErrorMsg(importSpecifier) {
return `Could not resolve import "${importSpecifier}" `;
}
function createErrorMsg(context, reason, isImports) {
const { specifier, packageUrl } = context;
const base = createBaseErrorMsg(specifier);
const field = isImports ? "imports" : "exports";
return `${base} using ${field} defined in ${packageUrl}.${reason ? ` ${reason}` : ""}`;
}
export class EsmResolveError extends Error {
}
export class InvalidConfigurationError extends EsmResolveError {
constructor(context, reason) {
super(createErrorMsg(context, `Invalid "exports" field. ${reason}`));
}
}
export class InvalidModuleSpecifierError extends EsmResolveError {
constructor(context, isImports, reason) {
super(createErrorMsg(context, reason, isImports));
}
}
export class InvalidPackageTargetError extends EsmResolveError {
constructor(context, reason) {
super(createErrorMsg(context, reason));
}
}
export class NoMatchingConditionsError extends InvalidPackageTargetError {
constructor(context) {
super(context, `No conditions matched`);
}
}
export class PackageImportNotDefinedError extends EsmResolveError {
constructor(context) {
super(createErrorMsg(context, undefined, true));
}
}
export function isUrl(str) {
try {
return !!new URL(str);
}
catch (_) {
return false;
}
}
//# sourceMappingURL=utils.js.map