From 15365cfbfeb887a647f6f25e5a491c995bfa4ced Mon Sep 17 00:00:00 2001 From: tom Date: Fri, 2 Aug 2024 07:07:44 +0200 Subject: [PATCH] CHNAGE: added size comparism --- src/app/_models/mqtt_base.ts | 6 ++++++ src/app/_services/output.service.ts | 19 +++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 src/app/_services/output.service.ts diff --git a/src/app/_models/mqtt_base.ts b/src/app/_models/mqtt_base.ts index 4c79368..9bc4aad 100644 --- a/src/app/_models/mqtt_base.ts +++ b/src/app/_models/mqtt_base.ts @@ -56,6 +56,12 @@ export class MQTTEntity implements iMQTTEntityBase { } return jsonObject; } + + get size(): number { + this._size = JSON.stringify(this.toJSON()).length; + return this._size; + } + getProperty(name: string): any { if (!this.attrs.has(name)) return; return this[name as keyof this]; diff --git a/src/app/_services/output.service.ts b/src/app/_services/output.service.ts new file mode 100644 index 0000000..761ee31 --- /dev/null +++ b/src/app/_services/output.service.ts @@ -0,0 +1,19 @@ + get device_entity(): MQTTEntity { + if ( + this._device_entity_cached.listlen === + this.generatorService.created_entity_num + ) + return this._device_entity_cached.entity; + let entites = Array.from(this.generatorService.created_enteties).sort( + (a, b) => { + return a.size - b.size; + } + ); + this._device_entity_cached = { + entity: entites[0], + listlen: this.generatorService.created_entity_num, + }; + console.log('sizing'); + console.log(this._device_entity_cached); + return entites[0]; + }