@web-std/file
Version:
Web API compatible File implementation for node
1 lines • 2.48 kB
Source Map (JSON)
{"version":3,"file":"file.cjs","sources":["../../src/file.js"],"sourcesContent":["import { Blob } from \"./package.js\"\n\n/**\n * @implements {globalThis.File}\n */\nexport class File extends Blob {\n /**\n *\n * @param {BlobPart[]} init\n * @param {string} name - A USVString representing the file name or the path\n * to the file.\n * @param {FilePropertyBag} [options]\n */\n constructor(\n init,\n name = panic(new TypeError(\"File constructor requires name argument\")),\n options = {}\n ) {\n super(init, options)\n // Per File API spec https://w3c.github.io/FileAPI/#file-constructor\n // Every \"/\" character of file name must be replaced with a \":\".\n /** @private */\n this._name = name\n // It appears that browser do not follow the spec here.\n // String(name).replace(/\\//g, \":\")\n /** @private */\n this._lastModified = options.lastModified || Date.now()\n }\n\n /**\n * The name of the file referenced by the File object.\n * @type {string}\n */\n get name() {\n return this._name\n }\n\n /**\n * The path the URL of the File is relative to.\n * @type {string}\n */\n get webkitRelativePath() {\n return \"\"\n }\n\n /**\n * Returns the last modified time of the file, in millisecond since the UNIX\n * epoch (January 1st, 1970 at Midnight).\n * @returns {number}\n */\n get lastModified() {\n return this._lastModified\n }\n\n get [Symbol.toStringTag]() {\n return \"File\"\n }\n}\n\n/**\n * @param {*} error\n * @returns {never}\n */\nconst panic = error => {\n throw error\n}\n"],"names":["Blob"],"mappings":";;;;;;AAEA;AACA;AACA;AACO,MAAM,IAAI,SAASA,SAAI,CAAC;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,WAAW;AACb,IAAI,IAAI;AACR,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,SAAS,CAAC,yCAAyC,CAAC,CAAC;AAC1E,IAAI,OAAO,GAAG,EAAE;AAChB,IAAI;AACJ,IAAI,KAAK,CAAC,IAAI,EAAE,OAAO,EAAC;AACxB;AACA;AACA;AACA,IAAI,IAAI,CAAC,KAAK,GAAG,KAAI;AACrB;AACA;AACA;AACA,IAAI,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,GAAG,GAAE;AAC3D,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,IAAI,GAAG;AACb,IAAI,OAAO,IAAI,CAAC,KAAK;AACrB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,kBAAkB,GAAG;AAC3B,IAAI,OAAO,EAAE;AACb,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,YAAY,GAAG;AACrB,IAAI,OAAO,IAAI,CAAC,aAAa;AAC7B,GAAG;AACH;AACA,EAAE,KAAK,MAAM,CAAC,WAAW,CAAC,GAAG;AAC7B,IAAI,OAAO,MAAM;AACjB,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,MAAM,KAAK,GAAG,KAAK,IAAI;AACvB,EAAE,MAAM,KAAK;AACb;;;;"}