/** @import * as TYPES from "./types" */ /** @type {TYPES.DeskBuilder} */ function Desk(parts, ...desks) { for(let id in parts) { const name = parts[id]; parts[id] = {name, work:[], time:0, need:[], make:[]} } for(let i=0; i { const part = parts[p] part.make.push(desk); return part; } ) desks[i] = desk; } console.log(parts, desks); } Desk ( { p1:"hey", p2:"sup" }, ["Desk 2", "all", {p1:1, p2:6}, "p2"], ["Desk 1", "all", {p1:1, p2:6}, "p2"] )