import { hyphenate } from '../string/string.mjs';

/**
 * 获取组件全称
 * @param name 组件名称
 * @param prefix 前缀
 * @returns 全称
 * @example
 * ```ts
 * getFullCompName('swiper-item', 'press-')
 * getFullCompName('press-swiper-item', 'press-')
 *
 * // press-swiper-item
 * ```
 */
function getFullCompName() {
  var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
  var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
  name = hyphenate(name);
  if (!name.startsWith(prefix)) {
    return "".concat(prefix).concat(name);
  }
  return name;
}
/**
 * 获取组件简称
 * @param name 组件名称
 * @param prefix 前缀
 * @returns 简称
 * @example
 * ```ts
 * getPureCompName('press-swiper-item', 'press-')
 * getPureCompName('swiper-item', 'press-') // swiper-item
 * ```
 */
function getPureCompName() {
  var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
  var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
  name = hyphenate(name);
  return name.replace(new RegExp("^".concat(prefix)), '');
}

export { getFullCompName, getPureCompName };
