foop
Version:
interfaces that describe their intentions.
18 lines (17 loc) • 1.59 kB
JavaScript
/**
* @example get className() {return classNames(this)}
* @memberOf string
* @param {Object} _c
* @return {string}
*/
module.exports = function classNames(_c) {
var className = _c.constructor.name
var c = _c
var l = 0
while ((c = Object.getPrototypeOf(c))) {
if (l++ > 11) { break }
className += '.' + c.constructor.name
}
return className
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3NOYW1lcy5qcyIsInNvdXJjZXMiOlsiY2xhc3NOYW1lcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBleGFtcGxlIGdldCBjbGFzc05hbWUoKSB7cmV0dXJuIGNsYXNzTmFtZXModGhpcyl9XG4gKiBAbWVtYmVyT2Ygc3RyaW5nXG4gKiBAcGFyYW0gIHtPYmplY3R9IF9jXG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gY2xhc3NOYW1lcyhfYykge1xuICBsZXQgY2xhc3NOYW1lID0gX2MuY29uc3RydWN0b3IubmFtZVxuICBsZXQgYyA9IF9jXG4gIGxldCBsID0gMFxuICB3aGlsZSAoKGMgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoYykpKSB7XG4gICAgaWYgKGwrKyA+IDExKSBicmVha1xuICAgIGNsYXNzTmFtZSArPSAnLicgKyBjLmNvbnN0cnVjdG9yLm5hbWVcbiAgfVxuICByZXR1cm4gY2xhc3NOYW1lXG59XG4iXSwibmFtZXMiOlsibGV0Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0FBTUEsTUFBTSxDQUFDLE9BQU8sR0FBRyxTQUFTLFVBQVUsQ0FBQyxFQUFFLEVBQUU7RUFDdkNBLEdBQUcsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJO0VBQ25DQSxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUU7RUFDVkEsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO0VBQ1QsT0FBTyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7SUFDckMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBQSxLQUFLLEVBQUE7SUFDbkIsU0FBUyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUk7R0FDdEM7RUFDRCxPQUFPLFNBQVM7Q0FDakI7In0=