wiki.techinc.nl/resources/lib/oojs
Timo Tijhof 34875dec1f ResourceLoader: Upgrade OOjs from 6.0.0 to 7.0.1
https://gerrit.wikimedia.org/g/oojs/core/+/v7.0.1/History.md

* [BREAKING CHANGE] Remove support for ES5 browsers such as IE11 (Timo Tijhof)
* Factory: Add support to register and create objects from ES6 classes (Timo Tijhof) T284935
* Factory: Add support to register by Class.key (Timo Tijhof) T96640
* core: Make OO.unique() faster by using ES6 Set methods (Bartosz Dziewoński)

Change-Id: I2697531e2963d784a2cb9390a65cc9e959b55a05
2023-05-11 00:52:46 +00:00
..
AUTHORS.txt
LICENSE-MIT
oojs.js
README.md

npm

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!