Skriptbibliothek mit JavaScript-Funktionen, um Analyse und Formatierung von ISBN zu unterstützen.
Es werden die Bibliotheken von WikiSyntaxTextMod (WSTM) mitbenutzt und verfügbar gemacht.
Installation Bearbeiten
Programmierer müssen auf die ordnungsgemäße Installation dieses Skripts warten, bevor irgendeine Funktion benutzt werden kann. Das erfordert zwei Schritte.
if ( ! mw.loader.getState( "ext.gadget.isbnLib" ) ) {
mw.loader.state( { "ext.gadget.isbnLib": "loading" } );
mw.loader.load( "https://en.wikipedia.org/w/index.php?"
+ "title=User:PerfektesChaos/js/"
+ "isbnLib/r.js"
+ "&bcache=1&maxage=604800"
+ "&action=raw&ctype=text/javascript" );
}
mw.hook( "isbnLib.ready" ).add( mainTask );
Dieser Vorgang wäre nicht sinnvoll, wenn er bereits anderswo erfolgt war. Deshalb wird zunächst der state (Status) überprüft. Ein anderes Gadget, das ebenfalls die Skriptbibliothek verwendet, könnte das bereits vorgenommen haben. Um unnötige Parallelarbeit zu vermeiden, wird der state sofort auf "loading"
gesetzt.
Eine Callback-Funktion (hier mainTask
) wird aufgerufen, sobald nicht nur die Skriptbibliothek selbst geladen worden ist, sondern auch alle Komponenten bereit sind.
function mainTask(application)
kann einen Parameter auswerten. Das ist das Anwendungsobjekt für die Skriptbibliothek. Es müsste mit mw.libs.isbnLib
identisch sein, solange derartige Strukturen unterstützt werden.
API Bearbeiten
Nach Auslösen des mw.hook
isbnLib.ready
können Funktionen aufgerufen werden. Dabei ist der von mw.hook übergebene Parameter das Anwendungsobjekt und müsste mit mw.libs.isbnLib
identisch sein.
Die Funktionen sind Komponenten des Anwendungsobjekts.
.factory() Bearbeiten
Schaffe eine Zeichenkette, mit der sich ein RegExp zum Auffinden auch mangelhaft formatierter ISBN bilden lässt.
Aufruf | .factory(attribute)
| ||
---|---|---|---|
Parameter | Type | Bedeutung | |
attribute
|
boolean
|
true : URL von der Suche ausnehmen
| |
Rückgabewert |
|
.flip() Bearbeiten
Ermittle zur ISBN-10 das Gegenstück ISBN-13, oder die ISBN-13 zur ISBN-10.
Aufruf | .flip(adjust)
| ||
---|---|---|---|
Parameter | Type | Bedeutung | |
adjust
|
string
|
ISBN, formatiert oder nicht, auch mit Nicht-ASCII-Zeichen | |
Rückgabewert |
|
.focus() Bearbeiten
Ermittle die mutmaßliche Sprache zur ISBN.
Aufruf | .focus(about)
| ||
---|---|---|---|
Parameter | Type | Bedeutung | |
about
|
string
|
ISBN, formatiert oder nicht, auch mit Nicht-ASCII-Zeichen | |
Rückgabewert |
|
.format() Bearbeiten
Formatiere ISBN.
Aufruf | .format(adjust,additional)
| ||
---|---|---|---|
Parameter | Type | Bedeutung | |
adjust
|
string
|
ISBN, auch mit Nicht-ASCII-Zeichen | |
additional
|
boolean optional |
true – Array statt string zurückgeben
| |
Rückgabewert |
|
Code und Stammseite Bearbeiten
Die Stammseite ist en:User:PerfektesChaos/js/isbnLib mit:
Quellcode |
|
ResourceLoader |
|
mw.libs
|
isbnLib
|
mw.hook
|
isbnLib.ready
|