Counter

a simple collaborative increment decrement counter

ts//... a small counter app

const context = colab.changeContext();
const clicks = context.counter("clicks");

// set handler
clicks.handler = {
   update(value, ctx) => {
     consoe.log(ctx.userId);
     console.log("updated counter", value );
     valEl.innerText = value;
   }
}

const incBtn = document.getElementById("inc");
const decBtn = document.getElementById("dec");
const valEl = document.getElementById("val");

incbtn.onclick = () => clicks.increment();
decBtn.onclick = () => clicks.decrement();

// ... your app logic

tsinterface Counter {
  handlers: { update?: (value: number, ctx: Ictx) => any };
  decrement(): void;
  increment(): void;
  value(): undefined | number;
}

index

properties

Properties

handlers

counter handlers

counter has only one handler update that is called on increment and decrement

to set handlers

tsclicks.handlers = {
 update(value, ctx) => {
   console.log(value,ctx)
 }
}
ts{ update?:  (value: number, ctx: Ictx) => any ; }

Methods

decrement

tsdecrement () : void ;

decrement counter

Returns
tsvoid

increment

tsincrement () : void ;

increment counter

Returns
tsvoid

value

tsvalue () : undefined | number ;

get counter value

Returns

counter value or undefined if counter has not been modified

tsundefined | number