"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.MemberBase = void 0;
const guard_1 = __importDefault(require("../../guard"));
const member_definition_type_1 = require("./member-definition-type");
class MemberBase {
    constructor(name, definitionType) {
        guard_1.default.stringNotNullOrEmpty(name);
        this.name = name;
        this.definitionType = definitionType;
    }
    /**
     * Returns a string representation of the current member instance.
     *
     * @remarks
     * Can not be used for serialization. Only useful during debugging or testing.
     * Returned format: \<member name\> ({@link MemberDefinitionType}) (\<constructor.name\>)
     */
    toString() {
        return `${this.name} (${member_definition_type_1.MemberDefinitionType[this.definitionType]}) (${this.constructor.name})`;
    }
}
exports.MemberBase = MemberBase;
//# sourceMappingURL=member.js.map