Files
discord-decomp/_bundle/Blob.js
T
2026-11-01 12:12:55 +02:00

70 lines
1.6 KiB
JavaScript

// Metro module 203 (f204).
import _classCallCheck from "./_classCallCheck";
import _createClass from "./_createClass";
import * as _BlobManager from "./BlobManager";
let env220 = {};
const Blob2 = function(r5 = []) {
_classCallCheck(this, Blob2);
this.data = _BlobManager.default.createFromParts(r5, arguments[1]).data;
};
export default _createClass(Blob2, [{
key: "data",
get: function get() {
if (this._data) {
return this._data;
}
throw new Error("Blob has been closed and is no longer available");
},
set: function set(a0) {
this._data = a0;
}
}, {
key: "slice",
value: function slice(a0, a1, type = "") {
let r10 = a0;
const data = this.data;
const { offset, size } = data;
let size2 = size;
let offset2 = offset;
if (typeof a0 === "number") {
if (a0 > size) {
r10 = size;
}
const r19 = offset + r10;
let r20 = size - r10;
if (typeof a1 === "number") {
let r9 = a1 < 0 ? this.size + a1 : a1;
if (r9 > this.size) {
r9 = this.size;
}
r20 = r9 - r10;
}
size2 = r20;
offset2 = r19;
}
return _BlobManager.default.createFromOptions({
blobId: this.data.blobId,
offset: offset2,
size: size2,
type,
__collector: this.data.__collector
});
}
}, {
key: "close",
value: function close() {
_BlobManager.default.release(this.data.blobId);
this.data = null;
}
}, {
key: "size",
get: function get() {
return this.data.size;
}
}, {
key: "type",
get: function get() {
return this.data.type || "";
}
}]);