code: async function getRelativeOutput(include, output, filePath, options, callback) {
    var options = options || {};
    var relativeOutput;
    if (!Array.isArray(include)) {
      var inPattern = await exports.isInPattern(filePath, include, null);    
      if (inPattern || options.deleted) {
        var rootFromPattern = await exports.getRootFromPattern(include);
        // Relative output is where the template will be saved after parse
        relativeOutput = path.dirname(path.relative(rootFromPattern, filePath));
        relativeOutput = path.join(output, relativeOutput);
      }
    } else {
      for (const incl of include) {
        var inPattern = await exports.isInPattern(filePath, incl, null);
        if (inPattern || options.deleted) {
          var rootFromPattern = await exports.getRootFromPattern(incl);
          // Relative output is where the template will be saved after parse
          relativeOutput = path.dirname(path.relative(rootFromPattern, filePath));
          relativeOutput = path.join(output, relativeOutput);
        }
      }
    }
    callback(null, relativeOutput);
  }
docs: /*
  @function getRelativeOutput (private) [Get path relative to output from a file and its include pattern]
  @param include [Include patterns]
  @param output
  @param filePath
  @param options [delete: Flag to know if the file was deleted so it skips files in pattern check]