@stackbit/sdk
Version:
80 lines • 3.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ContentValidationError = exports.IllegalModelFieldError = exports.ModelNotFoundError = exports.FileForModelNotFoundError = exports.FolderReadError = exports.FileReadError = exports.FileMatchedMultipleModelsError = exports.FileNotMatchedModelError = exports.CustomError = void 0;
class CustomError extends Error {
constructor(message) {
super(message);
Error.captureStackTrace(this, CustomError);
}
}
exports.CustomError = CustomError;
class FileNotMatchedModelError extends Error {
constructor({ filePath }) {
super(`file '${filePath}' does not match any model`);
this.filePath = filePath;
}
}
exports.FileNotMatchedModelError = FileNotMatchedModelError;
class FileMatchedMultipleModelsError extends Error {
constructor({ filePath, modelNames }) {
super(`file '${filePath}' matches several models '${modelNames.join(', ')}'`);
this.filePath = filePath;
this.modelNames = modelNames;
}
}
exports.FileMatchedMultipleModelsError = FileMatchedMultipleModelsError;
class FileReadError extends Error {
constructor({ filePath, error }) {
super(`file '${filePath}' could not be loaded: ${error.message}`);
this.filePath = filePath;
this.error = error;
}
}
exports.FileReadError = FileReadError;
class FolderReadError extends Error {
constructor({ folderPath, error }) {
super(`folder '${folderPath}' could not be loaded: ${error.message}`);
this.folderPath = folderPath;
this.error = error;
}
}
exports.FolderReadError = FolderReadError;
class FileForModelNotFoundError extends Error {
constructor({ modelName }) {
super(`file for model '${modelName}' not found`);
this.modelName = modelName;
}
}
exports.FileForModelNotFoundError = FileForModelNotFoundError;
class ModelNotFoundError extends Error {
constructor({ modelName, fieldPath }) {
super(`model '${modelName}' referenced in '${fieldPath.join('.')}' not found`);
this.modelName = modelName;
this.fieldPath = fieldPath;
}
}
exports.ModelNotFoundError = ModelNotFoundError;
class IllegalModelFieldError extends Error {
constructor({ modelName, modelType, fieldPath }) {
super(`field of type 'model' cannot reference model of type other than 'object', field '${fieldPath.join('.')}' referenced model '${modelName}' of type '${modelType}'`);
this.modelName = modelName;
this.modelType = modelType;
this.fieldPath = fieldPath;
}
}
exports.IllegalModelFieldError = IllegalModelFieldError;
class ContentValidationError extends Error {
constructor({ type, message, modelName, filePath, value, fieldPath }) {
super(message);
this.name = 'ContentValidationError';
this.type = type;
this.modelName = modelName;
this.filePath = filePath;
this.fieldPath = fieldPath;
this.value = value;
// redefine "message" as enumerable, this helps seeing the provided and the expected message in failed Jest's toMatchObject calls
Object.defineProperty(this, 'message', { value: message, writable: true, enumerable: true, configurable: true });
}
}
exports.ContentValidationError = ContentValidationError;
//# sourceMappingURL=content-errors.js.map