UNPKG

2.71 kBJavaScriptView Raw
1var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2 if (kind === "m") throw new TypeError("Private method is not writable");
3 if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4 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");
5 return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6};
7var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8 if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9 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");
10 return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11};
12var _FileList_files, _FileList_length, _a;
13import typeson from './typeson.js';
14const { toStringTag } = typeson;
15import file from './file.js';
16const filelist = {
17 file: file.file,
18 filelist: {
19 test(x) { return toStringTag(x) === 'FileList'; },
20 replace(fl) {
21 const arr = [];
22 for (let i = 0; i < fl.length; i++) {
23 arr[i] = fl.item(i);
24 }
25 return arr;
26 },
27 revive(o) {
28 return new FileList(o);
29 }
30 }
31};
32// Even if native impl is available, ctor can't be invoked from userland...
33/** `FileList` polyfill */
34export class FileList {
35 /** Set private properties and length */
36 constructor() {
37 _FileList_files.set(this, void 0);
38 _FileList_length.set(this, void 0);
39 /** @readonly @type {"FileList"} */
40 Object.defineProperty(this, _a, {
41 enumerable: true,
42 configurable: true,
43 writable: true,
44 value: 'FileList'
45 });
46 __classPrivateFieldSet(this, _FileList_files, arguments[0], "f");
47 __classPrivateFieldSet(this, _FileList_length, __classPrivateFieldGet(this, _FileList_files, "f").length, "f");
48 }
49 /**
50 * @param {number} index
51 * @returns {File}
52 */
53 item(index) { return __classPrivateFieldGet(this, _FileList_files, "f")[index]; }
54 /** @returns {number} */
55 get length() { return __classPrivateFieldGet(this, _FileList_length, "f"); }
56}
57_FileList_files = new WeakMap(), _FileList_length = new WeakMap(), _a = Symbol.toStringTag;
58export default filelist;
59//# sourceMappingURL=filelist.js.map
\No newline at end of file