chain-able
Version:
interfaces that describe their intentions.
17 lines (16 loc) • 1.54 kB
JavaScript
/**
* @example get className() {return classNames(this)}
* @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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MtbmFtZXMuanMiLCJzb3VyY2VzIjpbImNsYXNzLW5hbWVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGV4YW1wbGUgZ2V0IGNsYXNzTmFtZSgpIHtyZXR1cm4gY2xhc3NOYW1lcyh0aGlzKX1cbiAqIEBwYXJhbSAge09iamVjdH0gX2NcbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBjbGFzc05hbWVzKF9jKSB7XG4gIGxldCBjbGFzc05hbWUgPSBfYy5jb25zdHJ1Y3Rvci5uYW1lXG4gIGxldCBjID0gX2NcbiAgbGV0IGwgPSAwXG4gIHdoaWxlICgoYyA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihjKSkpIHtcbiAgICBpZiAobCsrID4gMTEpIGJyZWFrXG4gICAgY2xhc3NOYW1lICs9ICcuJyArIGMuY29uc3RydWN0b3IubmFtZVxuICB9XG4gIHJldHVybiBjbGFzc05hbWVcbn1cbiJdLCJuYW1lcyI6WyJsZXQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OztBQUtBLE1BQU0sQ0FBQyxPQUFPLEdBQUcsU0FBUyxVQUFVLENBQUMsRUFBRSxFQUFFO0VBQ3ZDQSxHQUFHLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSTtFQUNuQ0EsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFO0VBQ1ZBLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztFQUNULE9BQU8sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO0lBQ3JDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUEsS0FBSyxFQUFBO0lBQ25CLFNBQVMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJO0dBQ3RDO0VBQ0QsT0FBTyxTQUFTO0NBQ2pCOyJ9