„Wikipedia:Lua/Modul/JSONutil/de“ – Versionsunterschied
Erscheinungsbild
Inhalt gelöscht Inhalt hinzugefügt
Setup |
+ |
||
Zeile 33: | Zeile 33: | ||
; JSONutil.fair(apply) |
; JSONutil.fair(apply) |
||
: Reduziere freies JSON-Zeilenformat auf strikten JSON-Code und analysiere auf Fehler. |
: Reduziere freies JSON-Zeilenformat auf strikten JSON-Code und analysiere auf Fehler. |
||
:* apply<br /> JSON-Code |
:* apply<br /> ''string'' mit JSON-Code |
||
: Rückgabewerte: |
: Rückgabewerte: |
||
:# ''string'' mit Fehlerkennung, oder <code>false</code> wenn unbeanstandet. |
:# ''string'' mit Fehlerkennung, oder <code>false</code> wenn unbeanstandet. |
||
:# ''string'' mit Fehlerkontext, oder JSON-Code wenn unbeanstandet. |
:# ''string'' mit Fehlerkontext, oder JSON-Code wenn unbeanstandet. |
||
; JSONutil.fault(alert, add, |
; JSONutil.fault(alert, add, adapt) |
||
:* alert<br /> ''string'' mit Fehlerkennung |
:* alert<br /> ''string'' mit Fehlerkennung |
||
:* add<br /> ''optional''<br /> ''string'' mit Fehlerkontext |
:* add<br /> ''optional''<br /> ''string'' mit Fehlerkontext |
||
:* |
:* adapt<br /> ''optional'' – [[#adapt|Anpassung der Sprache der Meldung]] |
||
: Stelle Fehlermeldung formatiert und in angepasster Sprache dar. |
: Stelle Fehlermeldung formatiert und in angepasster Sprache dar. |
||
: Rückgabewert: |
: Rückgabewert: |
||
:* ''string'' mit HTML-Fehlermeldung. |
:* ''string'' mit HTML-Fehlermeldung. |
||
; JSONutil.fetch(apply, always, |
; JSONutil.fetch(apply, always, adapt) |
||
: Konvertiere JSON robust in Lua |
: Konvertiere JSON robust in Lua |
||
:* apply<br /> JSON-Code |
:* apply<br /> ''string'' mit JSON-Code |
||
:* always<br /> ''optional''<br /> <code>true</code>, wenn immer vorbeugend auf freies Zeilenformat und strikten JSON-Code geprüft werden soll<br /> Sinnvoll für die Migration HHVM→PHP7 2019. |
:* always<br /> ''optional''<br /> <code>true</code>, wenn immer vorbeugend auf freies Zeilenformat und strikten JSON-Code geprüft werden soll<br /> Sinnvoll für die Migration HHVM→PHP7 2019. |
||
:* |
:* adapt<br /> ''optional'' – [[#adapt|Anpassung der Sprache der Meldung]] |
||
: Rückgabewert: |
: Rückgabewert: |
||
:* ''string'' mit HTML-Fehlermeldung in angepasster Sprache. |
:* ''string'' mit HTML-Fehlermeldung in angepasster Sprache. |
||
:* ''table'' mit JSON-Inhalt. |
:* ''table'' mit JSON-Inhalt. |
||
== {{Anker|adapt}} Sprachpräferenzen == |
|||
Das Argument <code>adapt</code> erlaubt eine Anpassung der Sprache der Meldung und kann folgende Datentypen annehmen: |
|||
* <code>function</code> – Callback |
|||
** Rückgabewert ist der bestmögliche Meldungstext |
|||
** Zwei Argumente: |
|||
**# ''table'', mit Mapping: Sprachcode → Meldungstext |
|||
**# ''string'', optional, mit Meldungstext falls ''table'' versagt |
|||
** [[../../Multilingual/de#i18n()|i18n@Multilingual]] wäre geeignet |
|||
* <code>string</code> – Leerzeichen-getrennte Liste bevorzugter Sprachcodes |
|||
* false/nil – Projektsprache oder sonst Englisch |
|||
== Abhängigkeiten == |
== Abhängigkeiten == |
||
Zeile 60: | Zeile 71: | ||
== Internationalisierung == |
== Internationalisierung == |
||
[[commons:Data:I18n/Module:JSONutil.tab]] |
* [[commons:Data:I18n/Module:JSONutil.tab]] – Textbausteine |
||
* Fehlermeldungen werden in Benutzer-/Projektsprache gezeigt. |
|||
== Siehe auch == |
== Siehe auch == |
Version vom 30. Mai 2019, 18:44 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
- Rückgabewert:
- Leer, falls Mindestversionsbezeichnung nicht erfüllt
- Auf Wikidata registrierte Versionsbezeichnung (
2020-11-08
) beiwikidata
, oder lokal falls dort keine gefunden
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
- 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)
-
- alert
string mit Fehlerkennung - add
optional
string mit Fehlerkontext - adapt
optional – Anpassung der Sprache der Meldung
- alert
- Stelle Fehlermeldung formatiert und in angepasster Sprache dar.
- 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