npm package diff

Package: @forge/cache

Versions: 1.0.3-next.0 - 1.0.3-next.0-experimental-ab129b0

File: package/out/kvs/transaction-api.js

Index: package/out/kvs/transaction-api.js
===================================================================
--- package/out/kvs/transaction-api.js
+++ package/out/kvs/transaction-api.js
@@ -0,0 +1,66 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.TransactionBuilderImpl = void 0;
+const transaction_request_builder_1 = require("./utils/transaction-request-builder");
+class TransactionBuilderImpl {
+    storageApi;
+    sets;
+    deletes;
+    checks;
+    constructor(storageApi, sets = [], deletes = [], checks = []) {
+        this.storageApi = storageApi;
+        this.sets = sets;
+        this.deletes = deletes;
+        this.checks = checks;
+    }
+    set(key, value, entity) {
+        const transactSet = {
+            key,
+            value
+        };
+        if (entity) {
+            transactSet.entity = {
+                entityName: entity.entityName,
+                conditions: entity.conditions
+            };
+        }
+        this.sets.push(transactSet);
+        return this;
+    }
+    delete(key, entity) {
+        const transactDelete = {
+            key
+        };
+        if (entity) {
+            transactDelete.entity = {
+                entityName: entity.entityName,
+                conditions: entity.conditions
+            };
+        }
+        this.deletes.push(transactDelete);
+        return this;
+    }
+    check(key, { entityName, conditions }) {
+        const transactCheck = {
+            key,
+            entity: {
+                entityName,
+                conditions
+            }
+        };
+        this.checks.push(transactCheck);
+        return this;
+    }
+    async execute() {
+        const undefineEmptyArray = (arr) => {
+            return arr.length === 0 ? undefined : arr;
+        };
+        const request = {
+            set: undefineEmptyArray(this.sets.map(transaction_request_builder_1.buildRequestSet)),
+            delete: undefineEmptyArray(this.deletes.map(transaction_request_builder_1.buildRequestDeletes)),
+            check: undefineEmptyArray(this.checks.map(transaction_request_builder_1.buildRequestChecks))
+        };
+        await this.storageApi.transact(request);
+    }
+}
+exports.TransactionBuilderImpl = TransactionBuilderImpl;