UNPKG

chrome-devtools-frontend

Version:
126 lines (99 loc) 3.93 kB
// Copyright 2018 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import type * as Common from '../../core/common/common.js'; import type * as Platform from '../../core/platform/platform.js'; import * as i18n from '../../core/i18n/i18n.js'; import type * as TextUtils from '../text_utils/text_utils.js'; const UIStrings = { /** * @description Assertion error message when failing to load a file. */ unableToReadFilesWithThis: '`PlatformFileSystem` cannot read files.', }; const str_ = i18n.i18n.registerUIStrings('models/persistence/PlatformFileSystem.ts', UIStrings); const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_); export class PlatformFileSystem { private readonly pathInternal: Platform.DevToolsPath.UrlString; private readonly typeInternal: string; constructor(path: Platform.DevToolsPath.UrlString, type: string) { this.pathInternal = path; this.typeInternal = type; } getMetadata(_path: Platform.DevToolsPath.EncodedPathString): Promise<{modificationTime: Date, size: number}|null> { return Promise.resolve(null); } initialFilePaths(): Platform.DevToolsPath.EncodedPathString[] { return []; } initialGitFolders(): Platform.DevToolsPath.EncodedPathString[] { return []; } path(): Platform.DevToolsPath.UrlString { return this.pathInternal; } embedderPath(): Platform.DevToolsPath.RawPathString { throw new Error('Not implemented'); } type(): string { // TODO(kozyatinskiy): remove type, overrides should implement this interface. return this.typeInternal; } async createFile(_path: Platform.DevToolsPath.EncodedPathString, _name: Platform.DevToolsPath.RawPathString|null): Promise<Platform.DevToolsPath.EncodedPathString|null> { return Promise.resolve(null); } deleteFile(_path: Platform.DevToolsPath.EncodedPathString): Promise<boolean> { return Promise.resolve(false); } requestFileBlob(_path: Platform.DevToolsPath.EncodedPathString): Promise<Blob|null> { return Promise.resolve(null as Blob | null); } async requestFileContent(_path: Platform.DevToolsPath.EncodedPathString): Promise<TextUtils.ContentProvider.DeferredContent> { return {content: null, error: i18nString(UIStrings.unableToReadFilesWithThis), isEncoded: false}; } setFileContent(_path: Platform.DevToolsPath.EncodedPathString, _content: string, _isBase64: boolean): void { throw new Error('Not implemented'); } renameFile( _path: Platform.DevToolsPath.EncodedPathString, _newName: Platform.DevToolsPath.RawPathString, callback: (arg0: boolean, arg1?: string|undefined) => void): void { callback(false); } addExcludedFolder(_path: Platform.DevToolsPath.EncodedPathString): void { } removeExcludedFolder(_path: Platform.DevToolsPath.EncodedPathString): void { } fileSystemRemoved(): void { } isFileExcluded(_folderPath: Platform.DevToolsPath.EncodedPathString): boolean { return false; } excludedFolders(): Set<Platform.DevToolsPath.EncodedPathString> { return new Set(); } searchInPath(_query: string, _progress: Common.Progress.Progress): Promise<string[]> { return Promise.resolve([]); } indexContent(progress: Common.Progress.Progress): void { queueMicrotask(() => { progress.done(); }); } mimeFromPath(_path: Platform.DevToolsPath.UrlString): string { throw new Error('Not implemented'); } canExcludeFolder(_path: Platform.DevToolsPath.EncodedPathString): boolean { return false; } contentType(_path: string): Common.ResourceType.ResourceType { throw new Error('Not implemented'); } tooltipForURL(_url: Platform.DevToolsPath.UrlString): string { throw new Error('Not implemented'); } supportsAutomapping(): boolean { throw new Error('Not implemented'); } }