Zum Inhalt springen

„Wikipedia:Lua/Modul/JSONutil/de“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
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, alien)
; 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
:* alien<br /> ''optional''<br /> ''string'' mit Leerzeichen-getrennter Liste gewünschter Sprachcodes.
:* 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, alien)
; 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.
:* alien<br /> ''optional''<br /> ''string'' mit Leerzeichen-getrennter Liste gewünschter Sprachcodes.
:* 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 oder wikidata
Rückgabewert:
  • Leer, falls Mindestversionsbezeichnung nicht erfüllt
  • Auf Wikidata registrierte Versionsbezeichnung (2020-11-08) bei wikidata, 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
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
Rückgabewerte:
  1. string mit Fehlerkennung, oder false wenn unbeanstandet.
  2. string mit Fehlerkontext, oder JSON-Code wenn unbeanstandet.
JSONutil.fault(alert, add, adapt)
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
    optionalAnpassung der Sprache der Meldung
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:
      1. table, mit Mapping: Sprachcode → Meldungstext
      2. 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

Siehe auch