Forwarding marker and installer.
npm i forwardit
Basic usage in JavaScript:
const{ forward, installForwards, uninstallForwards }=require('forwardit');classData{
@forwardvalue=0;
@forwardinc(){this.value++;}}constdata=newData();constbroker={};installForwards(broker,data);console.log(broker.value,data.value);// 0, 0broker.inc();console.log(broker.value,data.value);// 1, 1data.inc();console.log(broker.value,data.value);// 2, 2uninstallForwards(broker,data);console.log(broker.value,data.value);// undefined, 2For TypeScript, we need to argument broker's type information to avoid compiler errors and make code completion working correctly:
// declare Broker as usualclassBroker{// Broker's own properties}// argument Broker with selected properties from DatainterfaceBrokerextendsPick<Data,'value'|'inc'>{}// create instances, install forwards...// now code completion works for "value" and "inc", no more compiler errorsbroker.value;broker.inc;