UNPKG

xiot-core-spec-ts

Version:
39 lines (38 loc) 1.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EventDefinitionWithLifecycleCodec = void 0; const ObjectWithLifecycle_1 = require("../../../typedef/lifecycle/ObjectWithLifecycle"); const EventDefinitionCodec_1 = require("../../definition/EventDefinitionCodec"); const Lifecycle_1 = require("../../../typedef/lifecycle/Lifecycle"); class EventDefinitionWithLifecycleCodec { static encode(obj) { return { lifecycle: obj.lifecycle.toString(), definition: EventDefinitionCodec_1.EventDefinitionCodec.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 definition = o.definition; return new ObjectWithLifecycle_1.ObjectWithLifecycle(lifecycle, EventDefinitionCodec_1.EventDefinitionCodec.decode(definition)); } 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.EventDefinitionWithLifecycleCodec = EventDefinitionWithLifecycleCodec;