OOjs
OOjs is a JavaScript library for working with objects.
Key features include inheritance, mixins and utilities for working with objects.
/* Example */
function Animal() {}
function Magic() {}
function Unicorn() {
Animal.call( this );
Magic.call( this );
}
OO.inheritClass( Unicorn, Animal );
OO.mixinClass( Unicorn, Magic );
Quick start
This library is available as an npm package! Install it right away:
npm install oojs
Or clone the repo, git clone https://gerrit.wikimedia.org/r/oojs/core
.
Browser support
We officially support these browsers, aligned with MediaWiki's compatibility guideline:
- Firefox: last three years (Firefox 78+, 2020)
- Chrome: last three years (Chrome 80+, 2020)
- Edge: last three years (Edge 80+, 2020)
- Opera: last thee years (Opera 67+, 2020)
- iOS: 11.3+
OOjs requires a modern ES2015 (ECMAScript 6) environment. To support older browsers with ECMAScript 5 engines (such as IE 11), use the last OOjs 6.x release.
Bug tracker
Found a bug? Please report it in the issue tracker!