@worker-tools/structured-json
Version:
Stringify and parse JavaScript values according to Structured Clone Algorithm.
59 lines • 2.71 kB
JavaScript
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
if (kind === "m") throw new TypeError("Private method is not writable");
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
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");
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
};
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
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");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
};
var _FileList_files, _FileList_length, _a;
import typeson from './typeson.js';
const { toStringTag } = typeson;
import file from './file.js';
const filelist = {
file: file.file,
filelist: {
test(x) { return toStringTag(x) === 'FileList'; },
replace(fl) {
const arr = [];
for (let i = 0; i < fl.length; i++) {
arr[i] = fl.item(i);
}
return arr;
},
revive(o) {
return new FileList(o);
}
}
};
// Even if native impl is available, ctor can't be invoked from userland...
/** `FileList` polyfill */
export class FileList {
/** Set private properties and length */
constructor() {
_FileList_files.set(this, void 0);
_FileList_length.set(this, void 0);
/** @readonly @type {"FileList"} */
Object.defineProperty(this, _a, {
enumerable: true,
configurable: true,
writable: true,
value: 'FileList'
});
__classPrivateFieldSet(this, _FileList_files, arguments[0], "f");
__classPrivateFieldSet(this, _FileList_length, __classPrivateFieldGet(this, _FileList_files, "f").length, "f");
}
/**
* @param {number} index
* @returns {File}
*/
item(index) { return __classPrivateFieldGet(this, _FileList_files, "f")[index]; }
/** @returns {number} */
get length() { return __classPrivateFieldGet(this, _FileList_length, "f"); }
}
_FileList_files = new WeakMap(), _FileList_length = new WeakMap(), _a = Symbol.toStringTag;
export default filelist;
//# sourceMappingURL=filelist.js.map