Tell us what’s happening:
My code seems to mostly be working, honestly the tests it says are wrong seem to be right when I log them. I dont really know whats wrong ![]()
Your code so far
const container1 = {
containerId: 1,
destination: "Monterey, California, USA",
weight: 831,
unit: "lb",
hazmat: false
}
const container0 = { destination: "Watsonville", hazmat: true }
function normalizeUnits (manifest){
let normalizedManifest = {
containerId: manifest.containerId,
destination: manifest.destination,
weight: manifest.unit == "lb"? manifest.weight * 0.45: manifest.weight,
unit: "kg",
hazmat: manifest.hazmat
}
return normalizedManifest;
}
function validateManifest (manifest){
let validatedManifest = {}
if (manifest.containerId === undefined){
validatedManifest.containerId = "Missing";
}else if(typeof(manifest.containerId) !== "number" ||
manifest.containerId <= 0 || !Number.isInteger(manifest.containerId) ){
validatedManifest.containerId = "Invalid";
}
if (manifest.destination === undefined){
validatedManifest.destination = "Missing";
}else if(typeof(manifest.destination) !== "string" || manifest.destination.trim() == ""){
validatedManifest.destination = "Invalid";
}
if (manifest.weight === undefined){
validatedManifest.weight = "Missing";
}else if(typeof(manifest.weight) !== "number" || manifest.weight <= 0 || Number.isNaN(manifest.weight)){
validatedManifest.weight = "Invalid";
}
if (manifest.unit === undefined){
validatedManifest.unit = "Missing";
}else if(manifest.unit !== "kg"){
if(manifest.unit !== "lb"){
validatedManifest.unit = "Invalid";
}
}
if (manifest.hazmat === undefined){
validatedManifest.hazmat = "Missing";
}else if(typeof(manifest.hazmat) !== "boolean"){
validatedManifest.hazmat = "Invalid";
}
return validatedManifest;
}
function processManifest(manifest){
let processedManifest = normalizeUnits(manifest);
if (Object.keys(validateManifest(processedManifest)).length == 0){
console.log(`Validation success: ${processedManifest.containerId}`);
console.log(`Total weight: ${processedManifest.weight} kg`);
}else {
console.log(`Validation error: ${processedManifest.containerId}`);
console.log(validateManifest(processedManifest));
}
}
processManifest(container0);
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36
Challenge Information:
Build a Cargo Manifest Validator - Build a Cargo Manifest Validator