'use strict';

"use strict";
const _bem = (prefixedName, blockSuffix, element, modifier) => {
  if (blockSuffix) {
    prefixedName += `-${blockSuffix}`;
  }
  if (element) {
    prefixedName += `__${element}`;
  }
  if (modifier) {
    prefixedName += `--${modifier}`;
  }
  return prefixedName;
};
function createBEM(prefixedName) {
  const b = (blockSuffix = "") => _bem(prefixedName, blockSuffix, "", "");
  const e = (element = "") => element ? _bem(prefixedName, "", element, "") : "";
  const m = (modifier = "") => modifier ? _bem(prefixedName, "", "", modifier) : "";
  const be = (blockSuffix = "", element = "") => blockSuffix && element ? _bem(prefixedName, blockSuffix, element, "") : "";
  const em = (element, modifier) => element && modifier ? _bem(prefixedName, "", element, modifier) : "";
  const bm = (blockSuffix, modifier) => blockSuffix && modifier ? _bem(prefixedName, blockSuffix, "", modifier) : "";
  const bem = (blockSuffix, element, modifier) => blockSuffix && element && modifier ? _bem(prefixedName, blockSuffix, element, modifier) : "";
  const is = (name = "") => name ? `is-${name}` : "";
  return {
    b,
    e,
    m,
    be,
    em,
    bm,
    bem,
    is
  };
}
function createNamespace(name) {
  const prefixedName = `ll-${name}`;
  return createBEM(prefixedName);
}

exports.createNamespace = createNamespace;
//# sourceMappingURL=create-namespace.js.map
