kontainer-js
Version:
A media file format generator/parser that exposes a React-like API.
98 lines (84 loc) • 2.75 kB
JavaScript
;
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;