import { PrintObject } from "./PrintObject";
import { String } from "../dataType/String";

/**
 * @class gve.Blob
 * @since gve
 */
export class Blob extends PrintObject {
  url: string;

  /**
   * 从云存储URL加载Blob
   * @hideconstructor
   * @param {String} [url] 云存储URL
   * @returns gve.Blob
   */
  constructor(url?: string) {
    super();
    if (url) {
      this.url = url;
    }

    if (!(this instanceof Blob)) {
      return new Blob(url);
    }
  }

  /**
   * 以字符串形式返回blob的内容
   * @param {Blob} [blob] 可选参数,要转换的Blob
   * @returns String
   */
  blobString(blob?: Blob) {
    return new String();
  }

  /**
   * 将Blob对象转换为URL字符串
   * @param {String} [blob] 可选参数,将Blob对象转换为URL
   * @returns String
   */
  blobUrl(blob?: Blob) {
    return new String();
  }
}