@egodigital/nef
Version:
Managed Extensibility Framework like library written for Node.js
46 lines • 1.58 kB
JavaScript
;
/**
* This file is part of the @egodigital/nef distribution.
* Copyright (c) e.GO Digital GmbH, Aachen, Germany (https://www.e-go-digital.com/)
*
* @egodigital/nef is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation, version 3.
*
* @egodigital/nef is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.ClassCatalog = void 0;
const _ = require("lodash");
const CatalogBase_1 = require("./CatalogBase");
/**
* A catalog for a single class.
*/
class ClassCatalog extends CatalogBase_1.CatalogBase {
/**
* Initializes a new instance of that class.
*
* @param {any} cls The class.
*
* @throws {Error} 'cls' is no constructor.
*/
constructor(cls) {
super();
if (!_.isFunction(cls) || !_.isFunction(cls.constructor)) {
throw new Error('cls must be a constructor function');
}
this._CLASS = cls;
}
/** @inheritdoc */
getClassesSync() {
return [this._CLASS];
}
}
exports.ClassCatalog = ClassCatalog;
//# sourceMappingURL=ClassCatalog.js.map