UNPKG

typed-ocpp

Version:

A library for type-aware parsing, serialization and validation of OCPP 1.6, OCPP 2.0 and OCPP 2.1 messages

61 lines 2.42 kB
import { assign, EMPTY_ARR } from '../common/utils.js'; import * as schemas_ from './schemas.js'; import { validateCall as validateCall_ } from './call.js'; import { validateCallError as validateCallError_ } from './callerror.js'; import { validateCallResult as validateCallResult_, checkCallResult as checkCallResult_ } from './callresult.js'; import { Action as Action_, MessageType as MessageType_, ErrorCode as ErrorCode_ } from './utils.js'; import { compile } from '../common/ajv.js'; Object.values(schemas_).forEach((schema) => { compile(schema); }); ; export var OCPP20; (function (OCPP20) { OCPP20.MessageType = MessageType_; OCPP20.Action = Action_; OCPP20.ErrorCode = ErrorCode_; OCPP20.schemas = schemas_; OCPP20.checkCallResult = checkCallResult_; OCPP20.validateCall = validateCall_; OCPP20.validateCallError = validateCallError_; OCPP20.validateCallResult = validateCallResult_; OCPP20.validate = assign((data) => { switch (Array.isArray(data) ? data[0] : null) { case MessageType_.CALL: if (!validateCall_(data)) { OCPP20.validate.errors = validateCall_.errors; return false; } OCPP20.validate.errors = EMPTY_ARR; return true; case MessageType_.CALLERROR: if (!validateCallError_(data)) { OCPP20.validate.errors = validateCallError_.errors; return false; } OCPP20.validate.errors = EMPTY_ARR; return true; case MessageType_.CALLRESULT: if (!validateCallResult_(data)) { OCPP20.validate.errors = validateCallResult_.errors; return false; } OCPP20.validate.errors = EMPTY_ARR; return true; default: OCPP20.validate.errors = ['Invalid OCPP message: invalid message type']; return false; } }, { errors: EMPTY_ARR }); OCPP20.isCall = (msg) => { return msg[0] === MessageType_.CALL; }; OCPP20.isCallError = (msg) => { return msg[0] === MessageType_.CALLERROR; }; OCPP20.isCallResult = (msg) => { return msg[0] === MessageType_.CALLRESULT; }; })(OCPP20 || (OCPP20 = {})); ; //# sourceMappingURL=index.js.map