Benutzer:PerfektesChaos/js/isbnLib
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
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
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()
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()
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()
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()
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
Die Stammseite ist en:User:PerfektesChaos/js/isbnLib mit:
Quellcode |
|
ResourceLoader |
|
mw.libs
|
isbnLib
|
mw.hook
|
isbnLib.ready
|