„Wikipedia:Lua/Modul/JSONutil/de“ – Versionsunterschied
Erscheinungsbild
Inhalt gelöscht Inhalt hinzugefügt
K k |
update |
||
Zeile 9: | Zeile 9: | ||
; failsafe {{Anker|failsafe}} |
; failsafe {{Anker|failsafe}} |
||
: Versionsbezeichnung: <code>{{#invoke:JSONutil|failsafe}}</code> |
: Versionsbezeichnung: <code>{{#invoke:JSONutil|failsafe}}</code> |
||
: Optionaler Zusatzparameter <code>1</code> – Mindestversionsbezeichnung oder <code>wikidata</code> |
: Optionaler Zusatzparameter <code>1</code> – Mindestversionsbezeichnung oder <code>wikidata</code> oder <code>~</code> |
||
: ''Rückgabewert:'' |
: ''Rückgabewert:'' |
||
:* Leer, falls Mindestversionsbezeichnung nicht erfüllt |
:* ''Leer'', falls Mindestversionsbezeichnung nicht erfüllt |
||
:* Auf Wikidata registrierte Versionsbezeichnung (<code>{{#invoke:JSONutil|failsafe|wikidata}}</code>) bei <code>wikidata</code>, oder lokal falls dort keine gefunden |
:* Auf Wikidata registrierte Versionsbezeichnung (<code>{{#invoke:JSONutil|failsafe|wikidata}}</code>) bei <code>wikidata</code>, oder lokal falls dort keine gefunden |
||
:* ''Leer'', falls Übereinstimmung der lokalen mit der auf Wikidata registrierten Versionsbezeichnung bei <code>~</code>, oder nicht ''leer'' falls nicht gleich (<code>{{#invoke:JSONutil|failsafe|~}}</code>) |
|||
</onlyinclude> |
</onlyinclude> |
||
Zeile 29: | Zeile 30: | ||
; JSONutil.[[#failsafe|failsafe]](atleast) |
; JSONutil.[[#failsafe|failsafe]](atleast) |
||
: Versionsbezeichnung |
: Versionsbezeichnung |
||
:* atleast<br /> ''optional''<br /> ''nil'' oder Mindestversion |
:* atleast<br /> ''optional''<br /> ''nil'' oder Mindestversion oder <code>~</code> |
||
: Rückgabewert: ''string'' oder <code>false</code> |
: Rückgabewert: ''string'' oder <code>false</code> |
||
; JSONutil.fair(apply) |
; JSONutil.fair(apply) |
Version vom 22. Juli 2019, 11:52 Uhr
Vorlagenprogrammierung | Diskussionen | Lua | Test | Unterseiten | |||
Modul | Deutsch | English
|
Modul: | Dokumentation |
JSONutil
– Modul zur Vorbereitung und Analyse von JSON-Daten, die als Parameterwerte an Lua-Module übergeben werden.
Zeilenumbrüche und Tabulatoren in Zeichenketten werden toleriert.
Statt eines pauschalen „Invalid“ wird versucht, einige typische Fehler zu detektieren und mit auffindbarem Kontext zu melden.
Funktionen für Vorlagen
- failsafe
- Versionsbezeichnung:
2020-11-08
- Optionaler Zusatzparameter
1
– Mindestversionsbezeichnung oderwikidata
oder~
- Rückgabewert:
- Leer, falls Mindestversionsbezeichnung nicht erfüllt
- Auf Wikidata registrierte Versionsbezeichnung (
2020-11-08
) beiwikidata
, oder lokal falls dort keine gefunden - Leer, falls Übereinstimmung der lokalen mit der auf Wikidata registrierten Versionsbezeichnung bei
~
, oder nicht leer falls nicht gleich ()
Funktionen für Lua-Module
Einbindung in andere Module:
local lucky, JSONutil = pcall( require, "Module:JSONutil" )
if type( JSONutil ) == "table" then
JSONutil = JSONutil.JSONutil()
else
-- Fehlerfall; JSONutil enthält Fehlermeldung
return "<span class=\"error\">" .. JSONutil .. "</span>"
end
Danach stehen zur Verfügung:
- JSONutil.failsafe(atleast)
- Versionsbezeichnung
- atleast
optional
nil oder Mindestversion oder~
- atleast
- Rückgabewert: string oder
false
- JSONutil.fair(apply)
- Reduziere freies JSON-Zeilenformat auf strikten JSON-Code und analysiere auf Fehler.
- apply
string mit JSON-Code
- apply
- Rückgabewerte:
- string mit Fehlerkennung, oder
false
wenn unbeanstandet. - string mit Fehlerkontext, oder JSON-Code wenn unbeanstandet.
- string mit Fehlerkennung, oder
- JSONutil.fault(alert, add, adapt)
- Stelle Fehlermeldung formatiert und in angepasster Sprache dar.
- alert
string mit Fehlerkennung - add
optional
string mit Fehlerkontext - adapt
optional – Anpassung der Sprache der Meldung
- alert
- Rückgabewert:
- string mit HTML-Fehlermeldung.
- JSONutil.fetch(apply, always, adapt)
- Konvertiere JSON robust in Lua
- apply
string mit JSON-Code - always
optional
true
, wenn immer vorbeugend auf freies Zeilenformat und strikten JSON-Code geprüft werden soll
Sinnvoll für die Migration HHVM→PHP7 2019. - adapt
optional – Anpassung der Sprache der Meldung
- apply
- Rückgabewert:
- string mit HTML-Fehlermeldung in angepasster Sprache.
- table mit JSON-Inhalt.
Sprachpräferenzen
Das Argument adapt
erlaubt eine Anpassung der Sprache der Meldung und kann folgende Datentypen annehmen:
function
– Callback- Rückgabewert ist der bestmögliche Meldungstext
- Zwei Argumente:
- table, mit Mapping: Sprachcode → Meldungstext
- string, optional, mit Meldungstext falls table versagt
- i18n@Multilingual wäre geeignet
string
– Leerzeichen-getrennte Liste bevorzugter Sprachcodes- false/nil – Projektsprache oder sonst Englisch
Abhängigkeiten
Keine.
Verwendung
Ausschließlich in Lua-Programmierung.
Internationalisierung
- commons:Data:I18n/Module:JSONutil.tab – Textbausteine
- Fehlermeldungen werden in Benutzer-/Projektsprache gezeigt.
Siehe auch
- jsonDebug@PerfektesChaos – Benutzerskript zur detaillierteren Analyse fataler Fehler