// Master list of all physical wire sizes from 0.05mm to 3.00mm // Mapped to exact industry-standard SWG and AWG equivalents const wireSizeMasterList = [ { metric: 0.050, swg: 47, awg: 44, basePricePerKg: 78.40 }, { metric: 0.071, swg: 44, awg: 41, basePricePerKg: 68.00 }, { metric: 0.080, swg: 43, awg: 40, basePricePerKg: 58.00 }, { metric: 0.090, swg: 42, awg: 39, basePricePerKg: 52.00 }, { metric: 0.100, swg: 42, awg: 38, basePricePerKg: 49.60 }, { metric: 0.125, swg: 40, awg: 36, basePricePerKg: 46.40 }, { metric: 0.150, swg: 38, awg: 34, basePricePerKg: 43.20 }, { metric: 0.180, swg: 37, awg: 33, basePricePerKg: 38.00 }, { metric: 0.200, swg: 36, awg: 32, basePricePerKg: 33.60 }, { metric: 0.224, swg: 35, awg: 31, basePricePerKg: 33.20 }, { metric: 0.250, swg: 33, awg: 30, basePricePerKg: 32.80 }, { metric: 0.280, swg: 32, awg: 29, basePricePerKg: 32.80 }, { metric: 0.315, swg: 30, awg: 28, basePricePerKg: 32.00 }, { metric: 0.355, swg: 29, awg: 27, basePricePerKg: 32.00 }, { metric: 0.400, swg: 27, awg: 26, basePricePerKg: 32.00 }, { metric: 0.450, swg: 26, awg: 25, basePricePerKg: 31.50 }, { metric: 0.500, swg: 25, awg: 24, basePricePerKg: 30.50 }, { metric: 0.560, swg: 24, awg: 23, basePricePerKg: 30.00 }, { metric: 0.630, swg: 22, awg: 22, basePricePerKg: 29.50 }, { metric: 0.710, swg: 22, awg: 21, basePricePerKg: 29.50 }, { metric: 0.800, swg: 21, awg: 20, basePricePerKg: 28.50 }, { metric: 0.900, swg: 20, awg: 19, basePricePerKg: 28.50 }, { metric: 1.000, swg: 19, awg: 18, basePricePerKg: 28.00 }, { metric: 1.120, swg: 18, awg: 17, basePricePerKg: 28.00 }, { metric: 1.250, swg: 18, awg: 16, basePricePerKg: 28.00 }, { metric: 1.400, swg: 17, awg: 15, basePricePerKg: 28.00 }, { metric: 1.600, swg: 16, awg: 14, basePricePerKg: 28.00 }, { metric: 1.800, swg: 15, awg: 13, basePricePerKg: 28.00 }, { metric: 2.000, swg: 14, awg: 12, basePricePerKg: 27.50 }, { metric: 2.240, swg: 13, awg: 11, basePricePerKg: 27.50 }, { metric: 2.500, swg: 12, awg: 10, basePricePerKg: 27.50 }, { metric: 2.800, swg: 11, awg: 9, basePricePerKg: 27.50 }, { metric: 3.000, swg: 10, awg: 9, basePricePerKg: 27.50 } ]; // Spool configuration containing retail multipliers & packaging overhead fees const spoolConfigs = [ { name: "125g", weightKg: 0.125, priceMultiplier: 1.55, fee: 1.80 }, { name: "250g", weightKg: 0.250, priceMultiplier: 1.35, fee: 2.20 }, { name: "500g", weightKg: 0.500, priceMultiplier: 1.15, fee: 2.80 }, { name: "1kg", weightKg: 1.000, priceMultiplier: 1.00, fee: 3.50 }, { name: "2.5kg", weightKg: 2.500, priceMultiplier: 0.90, fee: 5.00 } ]; // Automatically generate the entire inventory database dynamically const wireDatabase = []; wireSizeMasterList.forEach(item => { spoolConfigs.forEach(spool => { // Skip very fine wire on massive 2.5kg spools (rarely requested/stocked) if (item.metric < 0.315 && spool.name === "2.5kg") return; // Skip heavy wire on tiny 125g hobby spools (not enough wire to be useful) if (item.metric > 1.600 && spool.name === "125g") return; // Price math: (Base Kg rate * spool weight * wholesale scale multiplier) + spooling handling fee const rawPrice = (item.basePricePerKg * spool.weightKg * spool.priceMultiplier) + spool.fee; const formattedPrice = Math.round(rawPrice * 100) / 100; // Generate clean SKU: e.g. "ECW-0500-250G" const cleanMetricString = item.metric.toFixed(3).replace(".", ""); const formattedSku = `ECW-${cleanMetricString}-${spool.name.toUpperCase()}`;