UNPKG

lwm2m

Version:

Library for developing servers and client of OMA Lightweight M2M

50 lines (42 loc) 1.57 kB
/* * Copyright 2017 Alexandre Moreno <alex_moreno@tutk.com> * * This file is part of node-lwm2m * * node-lwm2m is free software: you can redistribute it and/or * modify it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the License, * or (at your option) any later version. * * node-lwm2m is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public * License along with node-lwm2m. * If not, seehttp://www.gnu.org/licenses/. * * For those usages not covered by the GNU Affero General Public License * please contact with::[contacto@tid.es] */ 'use strict'; var utils = require('../utils'); var Transform = require('readable-stream').Transform; function DecodeStream(contentType, schema) { this.contentType = contentType; this.schema = schema; Transform.call(this, { readableObjectMode: true }); } DecodeStream.prototype = Object.create(Transform.prototype); DecodeStream.prototype.constructor = DecodeStream; DecodeStream.prototype._transform = function(chunk, encoding, callback) { var data = utils.parsePayload(chunk, this.contentType, this.schema); this.push(data); callback(); }; DecodeStream.prototype.close = function() { this.push(null); this.emit('close'); }; module.exports = DecodeStream;