1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.CoreFileSystemHandle = void 0;
- const CorePermissionStatus_1 = require("./CorePermissionStatus");
- /**
- * Represents a File System Access API file handle `FileSystemHandle` object,
- * which was created from a core `Superblock`.
- *
- * @see [MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle)
- */
- class CoreFileSystemHandle {
- constructor(kind, name, ctx) {
- this.kind = kind;
- this.name = name;
- this.ctx = ctx;
- }
- /**
- * Compares two handles to see if the associated entries (either a file or directory) match.
- *
- * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle/isSameEntry
- */
- isSameEntry(fileSystemHandle) {
- return (this.constructor === fileSystemHandle.constructor && this.__path === fileSystemHandle.__path);
- }
- /**
- * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle/queryPermission
- */
- queryPermission(fileSystemHandlePermissionDescriptor) {
- // Check if the requested mode is compatible with the context mode
- const requestedMode = fileSystemHandlePermissionDescriptor.mode;
- const contextMode = this.ctx.mode;
- // If requesting readwrite but context only allows read, deny
- if (requestedMode === 'readwrite' && contextMode === 'read') {
- return new CorePermissionStatus_1.CorePermissionStatus('denied', requestedMode);
- }
- // Otherwise grant the permission
- return new CorePermissionStatus_1.CorePermissionStatus('granted', requestedMode);
- }
- /**
- * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle/remove
- */
- async remove({ recursive } = { recursive: false }) {
- throw new Error('Not implemented');
- }
- /**
- * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle/requestPermission
- */
- requestPermission(fileSystemHandlePermissionDescriptor) {
- throw new Error('Not implemented');
- }
- }
- exports.CoreFileSystemHandle = CoreFileSystemHandle;
- //# sourceMappingURL=CoreFileSystemHandle.js.map
|