//verify input (must be a number >=0, and >settings.from)
if(typeofvalue!=='number'){thrownewError(`release must be a number but it's a "${typeofvalue}".`);}
if((value|0)!==value){thrownewError(`release must be an integer but it's ${value}.`);}
if(value<0){thrownewError(`release must be a non-negative integer but it's ${value}.`);}
if(settings.from!==undefined&&value<=settings.from){thrownewError(`release must be bigger than from but ${value} is not bigger than ${settings.from}.`);}
settings.release=value;
break;
case'from':
//TODO: need to verify input (it's a number >=-1 and <setting.release)
if(typeofvalue!=='number'){thrownewError(`from must be a number but it's a "${typeofvalue}".`);}
if((value|0)!==value){thrownewError(`from must be an integer but it's ${value}.`);}
if(value<-1){thrownewError(`from must be a non-negative integer or -1, but it's ${value}.`);}
if(settings.release!==undefined&&value>=settings.release){thrownewError(`from must be smaller than release but ${value} is not smaller than ${settings.release}.`);}
settings.from=value;
break;
case'outputType':
//need to verify input (it's info or file)
if(typeofvalue!=='string'){thrownewError(`outputType must be a string but it's a "${typeofvalue}".`);}
if(value!=='info'&&value!=='file'){thrownewError(`outputType must be "info" or "file" but it's "${value}".`);}
settings.outputType=value;
break;
default:
thrownewError(`The configuration setting ${key} does not exist.`);
}
};
/** Verify that all required settings were set. Throws an error if not. */