return"@media (min-width:".concat(typeofvalues[start]==='number'?values[start]:start).concat(unit,") and ")+"(max-width:".concat((endIndex!==-1&&typeofvalues[keys[endIndex]]==='number'?values[keys[endIndex]]:end)-step/100).concat(unit,")");
}
functiononly(key){
if(keys.indexOf(key)+1<keys.length){
returnbetween(key,keys[keys.indexOf(key)+1]);
}
returnup(key);
}
functionnot(key){
// handle first and last key separately, for better readability
varkeyIndex=keys.indexOf(key);
if(keyIndex===0){
returnup(keys[1]);
}
if(keyIndex===keys.length-1){
returndown(keys[keyIndex]);
}
returnbetween(key,keys[keys.indexOf(key)+1]).replace('@media','@media not all and');