Weitere Objekte
Der Host eines Skripts (hier enaio® server oder workflow engine) kann dem Skript weitere Eingabeobjekte übergeben. Diese werden im Skript als weitere Eigenschaften von rc
bereit gestellt. Für AppServer-Skripte (KDE, JDE, krn.RunScript) gibt es nur ein Objekt rc.apps
; s. rc.apps.
Für Workflow-Skripte können es u. a. Workflow-Variablen sein.
Die Namen von diesen Eigenschaften können beliebig sein, reservierte Namen (
com
,console
,settings
,require
,result
,custom
,sys
) sind aber ausgeschlossen.Es können einfache JS-Variablen sein, z. B. 1, 'a', COM-Objekte etc.
Es können JS-Arrays sein; Array-Elemente können nur einfache JS-Variablen beinhalten (also keine JS-Objekte bzw. JS-Arrays)
Es können JS-Objekte sein. Damit können komplexe Daten hierarchisch organisiert werden.
Code
function replacer(key, value) {
if (key == 'com' || key == 'custom' && key == 'console') {
return undefined;
}
if (typeof value == 'object' && key != '') {
const t = (Object.prototype.toString.call(value));
if (t == '[object BigInt64Array]' || t == '[object BigUint64Array]') {
return value.toString();
}
}
return value;
}
rc.console.log(JSON.stringify(rc,replacer,3));
Der Skriptaufrufer kann seine Daten auch in globalem Scope bereitstellen. In diesem Fall können sie als global.XX
oder direkt als XX
gelesen werden.