UNPKG

native-file-system-adapter-ts

Version:
61 lines 1.97 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FileSystemHandleImpl = void 0; const kAdapter = Symbol('adapter'); class FileSystemHandleImpl { constructor(adapter) { this.name = adapter.name; this[kAdapter] = adapter; } async queryPermission({ mode } = { mode: 'read' }) { const handle = this[kAdapter]; if (handle.queryPermission) { return handle.queryPermission({ mode }); } if (mode === 'read') { return 'granted'; } else if (mode === 'readwrite') { return handle.writable ? 'granted' : 'denied'; } else { throw new TypeError(`Mode ${mode} must be 'read' or 'readwrite'`); } } async requestPermission({ mode } = { mode: 'read' }) { const handle = this[kAdapter]; if (handle.requestPermission) { return handle.requestPermission({ mode }); } if (mode === 'read') { return 'granted'; } else if (mode === 'readwrite') { return handle.writable ? 'granted' : 'denied'; } else { throw new TypeError(`Mode ${mode} must be 'read' or 'readwrite'`); } } async remove(options = { recursive: false }) { await this[kAdapter].remove(options); } async isSameEntry(other) { if (this === other) return true; if (!(other instanceof FileSystemHandleImpl)) { return false; } if (this.kind !== other.kind || !other[kAdapter]) return false; return this[kAdapter].isSameEntry(other[kAdapter]); } } exports.FileSystemHandleImpl = FileSystemHandleImpl; Object.defineProperty(FileSystemHandleImpl.prototype, Symbol.toStringTag, { value: 'FileSystemHandle', writable: false, enumerable: false, configurable: true, }); //# sourceMappingURL=file-system-handle.js.map