HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/shop.komma.nl/node_modules/inflected/src/parameterize.js
import transliterate from "./transliterate";

export default function parameterize(string, options = {}) {
  if (options.separator === undefined) {
    options.separator = "-";
  }

  if (options.separator === null) {
    options.separator = "";
  }

  // replace accented chars with their ascii equivalents
  let result = transliterate(string, options);

  result = result.replace(/[^a-z0-9\-_]+/ig, options.separator);

  if (options.separator.length) {
    const separatorRegex = new RegExp(options.separator);

    // no more than one of the separator in a row
    result = result.replace(
      new RegExp(separatorRegex.source + "{2,}"),
      options.separator
    );

    // remove leading/trailing separator
    result = result.replace(
      new RegExp(
        "^" + separatorRegex.source + "|" + separatorRegex.source + "$",
        "i"
      ),
      ""
    );
  }

  if (options.preserveCase) {
    return result;
  }

  return result.toLowerCase();
}