UNPKG

xiot-core-spec-ts

Version:
39 lines (38 loc) 1.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ApplicationWithLifecycleCodec = void 0; const ObjectWithLifecycle_1 = require("../../../typedef/lifecycle/ObjectWithLifecycle"); const ApplicationCodec_1 = require("../../app/ApplicationCodec"); const Lifecycle_1 = require("../../../typedef/lifecycle/Lifecycle"); class ApplicationWithLifecycleCodec { static encode(obj) { return { lifecycle: obj.lifecycle.toString(), application: ApplicationCodec_1.ApplicationCodec.encode(obj.value) }; } static encodeArray(resource) { const arr = []; resource.forEach(item => { arr.push(this.encode(item)); }); return arr; } static decode(o) { const lifecycle = (0, Lifecycle_1.LifeCycleFromString)(o.lifecycle || ''); const application = o.application; return new ObjectWithLifecycle_1.ObjectWithLifecycle(lifecycle, ApplicationCodec_1.ApplicationCodec.decode(application)); } static decodeArray(arr) { const list = []; if (arr === null || arr === void 0 ? void 0 : arr.length) { for (const o of arr) { if (typeof o === 'object') { list.push(this.decode(o)); } } } return list; } } exports.ApplicationWithLifecycleCodec = ApplicationWithLifecycleCodec;