UNPKG

webgme

Version:

Web-based Generic Modeling Environment

53 lines (50 loc) 1.8 kB
'use strict'; module.exports = { /** * True if this is running in Nodejs, will be undefined in a browser. * In a browser, browserify won't include this file and the whole module * will be resolved an empty object. */ isNode : typeof Buffer !== "undefined", /** * Create a new nodejs Buffer from an existing content. * @param {Object} data the data to pass to the constructor. * @param {String} encoding the encoding to use. * @return {Buffer} a new Buffer. */ newBufferFrom: function(data, encoding) { // XXX We can't use `Buffer.from` which comes from `Uint8Array.from` // in nodejs v4 (< v.4.5). It's not the expected implementation (and // has a different signature). // see https://github.com/nodejs/node/issues/8053 // A condition on nodejs' version won't solve the issue as we don't // control the Buffer polyfills that may or may not be used. return new Buffer(data, encoding); }, /** * Create a new nodejs Buffer with the specified size. * @param {Integer} size the size of the buffer. * @return {Buffer} a new Buffer. */ allocBuffer: function (size) { if (Buffer.alloc) { return Buffer.alloc(size); } else { return new Buffer(size); } }, /** * Find out if an object is a Buffer. * @param {Object} b the object to test. * @return {Boolean} true if the object is a Buffer, false otherwise. */ isBuffer : function(b){ return Buffer.isBuffer(b); }, isStream : function (obj) { return obj && typeof obj.on === "function" && typeof obj.pause === "function" && typeof obj.resume === "function"; } };