Reactive demand programming for TypeScript