CoolFace
Datasetpublic

basant307/AI_Governance_Project

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes48downloads
Blob.js123 linesDownload Raw Back to cjs
1"use strict";2/*! Based on fetch-blob. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> & David Frank */3var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {4    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");5    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");6    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);7};8var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {9    if (kind === "m") throw new TypeError("Private method is not writable");10    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");11    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");12    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;13};14var _Blob_parts, _Blob_type, _Blob_size;15Object.defineProperty(exports, "__esModule", { value: true });16exports.Blob = void 0;17const web_streams_polyfill_1 = require("web-streams-polyfill");18const isFunction_1 = require("./isFunction");19const blobHelpers_1 = require("./blobHelpers");20class Blob {21    constructor(blobParts = [], options = {}) {22        _Blob_parts.set(this, []);23        _Blob_type.set(this, "");24        _Blob_size.set(this, 0);25        options !== null && options !== void 0 ? options : (options = {});26        if (typeof blobParts !== "object" || blobParts === null) {27            throw new TypeError("Failed to construct 'Blob': "28                + "The provided value cannot be converted to a sequence.");29        }30        if (!(0, isFunction_1.isFunction)(blobParts[Symbol.iterator])) {31            throw new TypeError("Failed to construct 'Blob': "32                + "The object must have a callable @@iterator property.");33        }34        if (typeof options !== "object" && !(0, isFunction_1.isFunction)(options)) {35            throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary.");36        }37        const encoder = new TextEncoder();38        for (const raw of blobParts) {39            let part;40            if (ArrayBuffer.isView(raw)) {41                part = new Uint8Array(raw.buffer.slice(raw.byteOffset, raw.byteOffset + raw.byteLength));42            }43            else if (raw instanceof ArrayBuffer) {44                part = new Uint8Array(raw.slice(0));45            }46            else if (raw instanceof Blob) {47                part = raw;48            }49            else {50                part = encoder.encode(String(raw));51            }52            __classPrivateFieldSet(this, _Blob_size, __classPrivateFieldGet(this, _Blob_size, "f") + (ArrayBuffer.isView(part) ? part.byteLength : part.size), "f");53            __classPrivateFieldGet(this, _Blob_parts, "f").push(part);54        }55        const type = options.type === undefined ? "" : String(options.type);56        __classPrivateFieldSet(this, _Blob_type, /^[\x20-\x7E]*$/.test(type) ? type : "", "f");57    }58    static [(_Blob_parts = new WeakMap(), _Blob_type = new WeakMap(), _Blob_size = new WeakMap(), Symbol.hasInstance)](value) {59        return Boolean(value60            && typeof value === "object"61            && (0, isFunction_1.isFunction)(value.constructor)62            && ((0, isFunction_1.isFunction)(value.stream)63                || (0, isFunction_1.isFunction)(value.arrayBuffer))64            && /^(Blob|File)$/.test(value[Symbol.toStringTag]));65    }66    get type() {67        return __classPrivateFieldGet(this, _Blob_type, "f");68    }69    get size() {70        return __classPrivateFieldGet(this, _Blob_size, "f");71    }72    slice(start, end, contentType) {73        return new Blob((0, blobHelpers_1.sliceBlob)(__classPrivateFieldGet(this, _Blob_parts, "f"), this.size, start, end), {74            type: contentType75        });76    }77    async text() {78        const decoder = new TextDecoder();79        let result = "";80        for await (const chunk of (0, blobHelpers_1.consumeBlobParts)(__classPrivateFieldGet(this, _Blob_parts, "f"))) {81            result += decoder.decode(chunk, { stream: true });82        }83        result += decoder.decode();84        return result;85    }86    async arrayBuffer() {87        const view = new Uint8Array(this.size);88        let offset = 0;89        for await (const chunk of (0, blobHelpers_1.consumeBlobParts)(__classPrivateFieldGet(this, _Blob_parts, "f"))) {90            view.set(chunk, offset);91            offset += chunk.length;92        }93        return view.buffer;94    }95    stream() {96        const iterator = (0, blobHelpers_1.consumeBlobParts)(__classPrivateFieldGet(this, _Blob_parts, "f"), true);97        return new web_streams_polyfill_1.ReadableStream({98            async pull(controller) {99                const { value, done } = await iterator.next();100                if (done) {101                    return queueMicrotask(() => controller.close());102                }103                controller.enqueue(value);104            },105            async cancel() {106                await iterator.return();107            }108        });109    }110    get [Symbol.toStringTag]() {111        return "Blob";112    }113}114exports.Blob = Blob;115Object.defineProperties(Blob.prototype, {116    type: { enumerable: true },117    size: { enumerable: true },118    slice: { enumerable: true },119    stream: { enumerable: true },120    text: { enumerable: true },121    arrayBuffer: { enumerable: true }122});123 
basant307/AI_Governance_Project · CoolFace