/** @import * as TYPES from "./types.ts" */ /** @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" }, ["d1", "all", {p2:3}, "p1"] ) /** @type {TYPES.UserBuilder} */ function User(users, roles) { } User( { u1:"seth" }, { r1:["Dev", "u155"] } )