Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@filerobot/utils / lib / adaptMetadataFilter.js
Size: Mime:
/**
 * Adapt the metadata filter values to send to BE
 * @param {Array} metadataFilter - The applied metadata filters
 * @param {Array} filtersMetadataFields - The metadata fields
 * @returns {string}
 */

var METADATA_FIELDS_TYPES = {
  MULTI_SELECT: 'multi-select',
  TEXT: 'text',
  TEXT_AREA: 'textarea'
};
var TEXT_FIELDS = [METADATA_FIELDS_TYPES.TEXT, METADATA_FIELDS_TYPES.TEXT_AREA];
export var adaptMetadataFilter = function adaptMetadataFilter() {
  var metadataFilter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
  var filtersMetadataFields = arguments.length > 1 ? arguments[1] : undefined;
  return metadataFilter.map(function (value, index) {
    var fieldType = filtersMetadataFields[index].inputType || filtersMetadataFields[index].type;
    if (fieldType === METADATA_FIELDS_TYPES.MULTI_SELECT) {
      return "".concat(filtersMetadataFields[index].key, ":").concat(value.join(','));
    }
    if (TEXT_FIELDS.includes(fieldType)) {
      return "".concat(filtersMetadataFields[index].key, "~").concat(value);
    }
    return "".concat(filtersMetadataFields[index].key, ":").concat(value);
  });
};