UNPKG

xiot-core-spec-ts

Version:
48 lines (47 loc) 1.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.OwnerRuleExecutedCodec = void 0; const OwnerRuleExecuted_1 = require("../../../typedef/notice/owner/impl/OwnerRuleExecuted"); const OperationParser_1 = require("../../../typedef/rule/parser/operation/OperationParser"); class OwnerRuleExecutedCodec { static encode(x) { const operations = [x.operations.length]; for (let i = 0; i < x.operations.length; i++) { operations[i] = { operation: x.operations[i].toString(), status: x.operations[i].status }; if (x.operations[i].status !== 0) { operations[i].description = x.operations[i].description; } } return { appId: x.appId, ownerId: x.ownerId, ruleId: x.ruleId, operations: operations, timestamp: x.timestamp }; } static decode(x) { const timestamp = x.timestamp | 0; const appId = x.appId; const ownerId = x.ownerId; const userId = x.userId; const ruleId = x.ruleId; const operations = [x.operations.length]; if (x.operations instanceof Array) { const parser = new OperationParser_1.OperationParser(); for (let i = 0; i < x.operations.length; i++) { const list = parser.parseExpression(x.operations[i].operation); if (list.length === 1) { operations[i] = list[0]; operations[i].status = x.operations[i].status; operations[i].description = x.operations[i].description; } } } return new OwnerRuleExecuted_1.OwnerRuleExecuted(timestamp, appId, ownerId, userId, ruleId, operations); } } exports.OwnerRuleExecutedCodec = OwnerRuleExecutedCodec;