@gkalpak/ng-maintain-utils
Version:
A private collection of utilities for developing tools to help maintain (AngularJS-related) GitHub repositories.
32 lines (25 loc) • 654 B
JavaScript
;
// Imports
let util = require('util');
// Classes
class AbstractValidatable {
// Constructor
constructor() {
if (this.constructor === AbstractValidatable) {
throw new Error('Trying to instantiate abstract class `AbstractValidatable`.');
}
}
// Methods - Protected
_missingOrInvalidField(field) {
throw new Error(`Missing or invalid field \`${field}\` on: ${this}`);
}
_validateFields() {
throw new Error('Missing implementation for abstract method `_validateFields()`.');
}
// Methods - Public
toString() {
return util.format(this);
}
}
// Exports
module.exports = AbstractValidatable;