Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/identifier / dist / toComponentName.js
Size: Mime:
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const exotic_1 = require("exotic");
// else if (component.identifier) {
//   // @todo or @@identifier
//   return component.identifier
// }
function toReactInstanceName(component) {
    // react instance
    let type = component;
    let name = toComponentName(component.type);
    // console.warn('______________')
    // console.log({ component, name })
    // console.warn('______________')
    // ' ^ ' + type.displayName
    // while (type._owner) {
    // type = type._owner
    // recursion yay!
    name += ' ^ ' + toComponentName(type._owner);
    // }
    // console.debug('______________')
    // console.log({ component, name })
    // return toComponentName(component.type)
    return name;
}
// eslint-disable-next-line
function toComponentName(component, fallback = 'no-name') {
    if (exotic_1.isNil(component)) {
        // @@nil
        return '';
    }
    else if (!exotic_1.isObj(component)) {
        return component;
    }
    else if (!Object.isExtensible(component) && exotic_1.isObj(component.type)) {
        return toReactInstanceName(component);
    }
    else if (exotic_1.isArray(component)) {
        return component.map(toComponentName).join('-');
    }
    else if (exotic_1.isString(component.displayName)) {
        return component.displayName;
    }
    else if (component.constructor.name === 'Function' ||
        component.constructor.name === 'Object') {
        return component.name || fallback;
    }
    else {
        return component.constructor.name || fallback;
    }
}
exports.toComponentName = toComponentName;
exports.getDisplayName = toComponentName;
exports.getClassName = toComponentName;
exports.getName = toComponentName;
exports.default = toComponentName;
//# sourceMappingURL=toComponentName.js.map