From 16c97373b7c86519ab296659fb7d34fc5c533189 Mon Sep 17 00:00:00 2001 From: Ahmed Zamil Date: Sun, 2 Jul 2023 12:39:49 +0300 Subject: [PATCH] enum --- build/esiur.js | 8 ++++++-- package.json | 2 +- src/Data/DataSerializer.js | 4 ++-- src/Resource/Instance.js | 2 ++ src/Resource/Warehouse.js | 3 +++ 5 files changed, 14 insertions(+), 5 deletions(-) diff --git a/build/esiur.js b/build/esiur.js index 7b06ea5..5c7bd77 100644 --- a/build/esiur.js +++ b/build/esiur.js @@ -3783,10 +3783,10 @@ var DataSerializer = /*#__PURE__*/function () { if (template == null) return new DataSerializerComposeResults(_TransmissionType.TransmissionTypeIdentifier.Null, new _DC["default"](0)); var cts = template.constants.filter(function (x) { - return x.value == value; + return x.value == value.value; }); if (cts.length == 0) return new DataSerializerComposeResults(_TransmissionType.TransmissionTypeIdentifier.Null, new _DC["default"](0)); - var rt = (0, _BinaryList["default"])(); + var rt = new _BinaryList["default"](); rt.addGuid(template.classId); rt.addUint8(cts[0].index); return new DataSerializerComposeResults(_TransmissionType.TransmissionTypeIdentifier.Enum, rt.toDC()); @@ -11976,6 +11976,7 @@ var Instance = /*#__PURE__*/function (_IEventHandler) { var age = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0; (0, _classCallCheck2["default"])(this, Instance); _this = _super.call(this); + _this.isDestroyed = false; _this.store = store; _this.resource = new WeakRef(resource); _this.id = id; @@ -11999,6 +12000,8 @@ var Instance = /*#__PURE__*/function (_IEventHandler) { }); resource.on("destroy", function (sender) { + self.isDestroyed = true; + self._emit("ResourceDestroyed", sender); }); if (customTemplate != null) _this.template = customTemplate;else _this.template = _Warehouse["default"].getTemplateByType(resource.constructor); // set ages @@ -13811,6 +13814,7 @@ var WH = /*#__PURE__*/function (_IEventHandler) { if (resource.instance.store != null) resource.instance.store.remove(resource); resource.destroy(); + resource.instance = null; return true; } }, { diff --git a/package.json b/package.json index 4ed4e6a..7bb0568 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "esiur", - "version": "2.2.9", + "version": "2.2.10", "description": "Distributed Object Framework", "main": "esiur.js", "type": "module", diff --git a/src/Data/DataSerializer.js b/src/Data/DataSerializer.js index 782b6cf..6175b4f 100644 --- a/src/Data/DataSerializer.js +++ b/src/Data/DataSerializer.js @@ -135,13 +135,13 @@ export default class DataSerializer { return new DataSerializerComposeResults( TransmissionTypeIdentifier.Null, new DC(0)); - var cts = template.constants.filter((x) => x.value == value); + var cts = template.constants.filter((x) => x.value == value.value); if (cts.length == 0) return new DataSerializerComposeResults( TransmissionTypeIdentifier.Null, new DC(0)); - var rt = BinaryList(); + var rt = new BinaryList(); rt.addGuid(template.classId); rt.addUint8(cts[0].index); diff --git a/src/Resource/Instance.js b/src/Resource/Instance.js index 50b84cf..9347c68 100644 --- a/src/Resource/Instance.js +++ b/src/Resource/Instance.js @@ -216,6 +216,7 @@ export default class Instance extends IEventHandler { super(); + this.isDestroyed = false; this.store = store; this.resource = new WeakRef(resource); this.id = id; @@ -247,6 +248,7 @@ export default class Instance extends IEventHandler resource.on("destroy", function(sender){ + self.isDestroyed = true; self._emit("ResourceDestroyed", sender); }); diff --git a/src/Resource/Warehouse.js b/src/Resource/Warehouse.js index e79ea32..8068837 100644 --- a/src/Resource/Warehouse.js +++ b/src/Resource/Warehouse.js @@ -201,7 +201,10 @@ export class WH extends IEventHandler if (resource.instance.store != null) resource.instance.store.remove(resource); + resource.destroy(); + + resource.instance = null; return true; }