Weitere Objekte

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 (comconsolesettingsrequireresultcustomsys) 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));
{    "i": {       "j": {          "k": 4711,          "l": 4711       },       "m": {          "n": 4711       },       "o": 4711,    } }

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.