mirror of https://github.com/ghostfolio/ghostfolio
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
2.2 KiB
53 lines
2.2 KiB
"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
|
|
*/
|
|
async 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
|