// fs-join
// --------------------------
/// Join two parts of a path.
/// @access public
/// @group File System utilities
/// @type String
/// @output String
/// @parameter String

@function fs-join($partials...) {
  $list: ();
  $startWithSlash: false;

  @for $i from 1 through length($partials) {
    $partial: nth($partials, $i);
    @if first-character($partial) == "/" {
      $partial: remove-first-character($partial);
      @if $i == 1 {
        $startWithSlash: true;
      }
    }
    @if last-character($partial) == "/" {
      $partial: remove-last-character($partial);
    }
    $parts: str-split($partial, "/");

    @each $part in $parts {
      $list: append($list, $part);
    }
  }

  $path: simple-to-string($list, "/");
  @if $startWithSlash {
    @return unquote("/#{$path}");
  } @else {
    @return $path;
  }
}
