Conditioning Knockout Observables: reject values
Wouldn’t it be nice if we could restrict the value written to a Knockout observable? Some values might mess up your model completely while others just don’t make sense. How would one create a conditioned observable that rejects invalid values? It turns out that conditioning an observable is not so hard.
Support both Node.js and browser JS in one TypeScript file
TypeScript allows for better JavaScript development. JavaScript is getting useful in more domains. But different systems require different ways of handling modules and exposing features. TypeScript solves this by compiling differently when a target is specified.
But what if you need a TypeScript script that supports both vanilla browser JS and Node.js? What if you need to expose 10+ classes?
Convert QUnit test to Mocha / Chai
Recently I’ve been playing around with NPM. I switched my unit tests from QUnit to Mocha. This was not as straight forward as one would hope. In this blog I’ll show some example code. At the end I’ll link to a side by side comparison of the entire test project. Hopefully it helps you to convert your code. I’ll be using the Chai BDD assertion engine.
Strongly Typed Events 0.3.0 – now with Signals
Turns out that I needed an even smaller type of event: the signal. It is an event that has no data; it just fires. The Strongly Typed Events project started with the IEvent
Strongly Typed Events 0.2.0 – now with Simple Events
A while ago I started a GitHub project for Strongly Typed Events in TypeScript. I’ve uploaded the second version (0.2) with support for ISimpleEvent
About the Author

Hi! I'm Kees. Thanks for checking out my Blog. I work as a .Net Engineer for one of the biggest web-shops in the Netherlands: wehkamp. I ❤️ C# and I like to solve nifty problems.
Learn moreCategories
- .NET (25)
- Automation (7)
- Chrome (2)
- Chrome Extensions (1)
- Hubot (4)
- JavaScript (17)
- jQuery (5)
- Node.js (5)
- Pi (1)
- PowerShell (7)
- Software picks (2)
- Synology (1)
- TypeScript (9)
- Video (2)
- Windows (5)
- WordPress (6)