You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
constbridge=newBridgy({role: 'parent',origins: ['*']});// These work immediately - queued until connectedbridge.send('event',{data: 'value'});bridge.on('response',handler);// Optional: handle connection statusbridge.ready().then(...).catch(...);
// DON'T - duplicates codeclassParent{ ... }classChild{ ... }// DO - single class with roleclassBridgy{constructor({ role }){ ... }}
2. ❌ Callback Hell
// DON'Tbridge.onReady(()=>{bridge.send(...);bridge.on(...,()=>{// nested...});});// DO - message queueing handles thisbridge.send(...);// Works immediately, queued if not connectedbridge.on(...);
3. ❌ Over-Engineering
// DON'T - too many abstractionsinterfaceLogger{ ... }interfaceHandshakeController{ ... }interfacePacketFactory{ ... }classSynPacketextendsBasePacket{ ... }classSynAckPacketextendsBasePacket{ ... }// DO - simple, directfunctioncreatePacket(type){return{__bridgy: true, type, ... };}
4. ❌ Multiple Type Definitions
// DON'T - 7 separate packet interfacesinterfaceSynPacket{type: 'SYN'; ... }interfaceSynAckPacket{type: 'SYN_ACK'; ... }// ...// DO - single flexible interfaceinterfaceBridgePacket{type: PacketType;command?: string;payload?: unknown;// ...}