UNPKG

@worker-tools/structured-json

Version:

Stringify and parse JavaScript values according to Structured Clone Algorithm.

59 lines 2.71 kB
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