An implementation of WebIDL in ECMAScript