OOjs (short for "Object-oriented JavaScript") is a JavaScript library for working with objects. Features include inheritance, mixins, static inheritance and additional utilities for working with objects and arrays. It also provides an EventEmitter mixin for event-driven programming, and a factory pattern for decoupling consumers of functionality from any particular class's implementation. This is a mirror – our actual code is hosted with Gerrit (please see https://www.mediawiki.org/wiki/Developer_access for contributing)