UNPKG

kontainer-js

Version:

A media file format generator/parser that exposes a React-like API.

98 lines (84 loc) 2.75 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = undefined; var _iterator = require('babel-runtime/core-js/symbol/iterator'); var _iterator2 = _interopRequireDefault(_iterator); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Buffer = function () { function Buffer() { (0, _classCallCheck3.default)(this, Buffer); for (var _len = arguments.length, params = Array(_len), _key = 0; _key < _len; _key++) { params[_key] = arguments[_key]; } if (global && global.Buffer) { this.buffer = new (Function.prototype.bind.apply(global.Buffer, [null].concat(params)))(); } else { if (params.length === 1 && params[0] && typeof params[0][_iterator2.default] === 'function') { this.buffer = Uint8Array.from(params[0]); } else { this.buffer = new (Function.prototype.bind.apply(Uint8Array, [null].concat(params)))(); } } } (0, _createClass3.default)(Buffer, [{ key: 'getView', value: function getView() { return this.buffer; } }, { key: 'getData', value: function getData() { var buf = this.buffer; if (global && global.Buffer && buf instanceof global.Buffer) { return buf; } else { return buf.buffer; } } }, { key: 'getLength', value: function getLength() { if (global && global.Buffer) { return this.buffer.length; } else { return this.buffer.byteLength; } } }, { key: 'copy', value: function copy(start, length) { if (global && global.Buffer) { var buf = new global.Buffer(length); this.buffer.copy(buf, 0, start, start + length); return Buffer.wrap(buf); } else { return Buffer.wrap(this.buffer.slice(start, start + length)); } } }, { key: 'copyFrom', value: function copyFrom(src, srcOffset, length) { var thisOffset = arguments.length <= 3 || arguments[3] === undefined ? 0 : arguments[3]; if (global && global.Buffer) { src.copy(this.buffer, thisOffset, srcOffset, srcOffset + length); } else { this.buffer.subarray(thisOffset, thisOffset + length).set(src, srcOffset); } } }], [{ key: 'wrap', value: function wrap(buffer) { var buf = new Buffer(0); buf.buffer = buffer; return buf; } }]); return Buffer; }(); exports.default = Buffer;