Open Source Dokumentenmanagement
Dokumentation

Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > agorum core JavaScript-API


JavaScript-Bibliothek agorum.dev/js/lib/delta

Die Bibliothek lib/delta bietet Funktionen für das Vergleichen von Objekt-Strukturen. Mithilfe dieser JavaScript-Bibliothek vergleichen SIe Objekt-Strukturen mit der Funktion diff oder fügen die Werte der Funktion patch und dort aus dem Parameter delta mit den Werten aus dem Parameter source zusammen, um ein neues JavaScript-Objekt zu erhalten. Sie können dadurch, Änderungen zwischen Versionen von Daten verfolgen und Änderungen gezielt durchführen.

Verwendung


Diese Bibliothek binden Sie stets am Anfang eines Skripts ein:

let delta = require('/agorum/roi/customers/agorum.dev/js/lib/delta');

Funktionen


diff

Die Funktion diff wird verwendet, um die Unterschiede (Deltas) zwischen zwei Objekte zu ermitteln. Sie können die Funktion etwa verwenden, um Änderungen von Variablen innerhalb eines Log-Eintrags zu protokollieren.

Syntax

diff(source, target);

Parameter

Parameter Beschreibung Pflicht
source Definiert ein JavaScript-Objekt mit den Quelldaten. ja
target Definiert ein JavaScript-Objekt mit den Zieldaten, die das System mit der source vergleicht. ja

Beispiel

let delta = require('/agorum/roi/customers/agorum.dev/js/lib/delta');

delta.diff(
  {
    name: 'Felix',
    age: 30,
    address: {
      city: 'Stuttgart',
      zip: '70374',
    },
  },
  {
    name: 'Felix',
    age: 31,
    address: {
      city: 'Hamburg',
      zip: '20148',
    },
  }
);

Rückgabewert

diff gibt ein Delta-Objekt zurück, das die Unterschiede zwischen dem Quell- und dem Zielobjekt darstellt. Identische Werte sind nicht im Zielobjekt enthalten.

In diesem Beispiel ist der Name daher nicht in den zurückgegebenen Daten enthalten.

{
  "address" : {
    "zip" : "20148",
    "city" : "Hamburg"
  },
  "age" : 31
}

patch

Fügt die Werte aus dem Parameter delta mit den Werten aus dem Parameter source zusammen und liefert ein neues JavaScript-Objekt zurück.


Syntax

patch(source, delta);


Parameter

Parameter Beschreibung Pflicht
source Definiert ein JavaScript-Objekt mit den Quelldaten. ja
delta Definiert ein JavaScript-Objekt mit den Daten, die das System mit der source zusammengeführt. ja


Beispiel

let delta = require('/agorum/roi/customers/agorum.dev/js/lib/delta');

delta.patch(
  {
    name: 'Felix',
    age: 30,
    address: {
      city: 'Stuttgart',
      zip: '70374',
    },
  },
  {
    name: 'Felix',
    age: 31,
    address: {
      city: 'Hamburg',
      zip: '20148',
    },
  }
);


Rückgabewerte

Sie erhalten ein JavaScript-Objekt mit den zusammengeführten Werten:

{
  "address" : {
    "zip" : "20148",
    "city" : "Hamburg"
  },
  "name" : "Felix",
  "age" : 31
}


Verwendung

Diese Funktion verwenden Sie, wenn Sie die Werte von zwei JavaScript-Objekten zusammenführen möchten und bei Unterstrukturen nicht das gesamte Unterobjekt überschreiben, sondern die Werte aus delta einmischen möchten.


Exceptions

Zu dieser Funktion existieren keine Exceptions.