@theia/filesystem 1.48.1 → 1.48.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -30
- package/lib/browser/breadcrumbs/filepath-breadcrumb.d.ts +15 -15
- package/lib/browser/breadcrumbs/filepath-breadcrumb.js +41 -41
- package/lib/browser/breadcrumbs/filepath-breadcrumbs-container.d.ts +13 -13
- package/lib/browser/breadcrumbs/filepath-breadcrumbs-container.js +70 -70
- package/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution.d.ts +27 -27
- package/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution.js +118 -118
- package/lib/browser/download/file-download-command-contribution.d.ts +18 -18
- package/lib/browser/download/file-download-command-contribution.js +75 -75
- package/lib/browser/download/file-download-frontend-module.d.ts +3 -3
- package/lib/browser/download/file-download-frontend-module.js +25 -25
- package/lib/browser/download/file-download-service.d.ts +28 -28
- package/lib/browser/download/file-download-service.js +167 -167
- package/lib/browser/file-dialog/file-dialog-container.d.ts +5 -5
- package/lib/browser/file-dialog/file-dialog-container.js +60 -60
- package/lib/browser/file-dialog/file-dialog-hidden-files-renderer.d.ts +15 -15
- package/lib/browser/file-dialog/file-dialog-hidden-files-renderer.js +59 -59
- package/lib/browser/file-dialog/file-dialog-model.d.ts +25 -25
- package/lib/browser/file-dialog/file-dialog-model.js +100 -100
- package/lib/browser/file-dialog/file-dialog-module.d.ts +3 -3
- package/lib/browser/file-dialog/file-dialog-module.js +45 -45
- package/lib/browser/file-dialog/file-dialog-service.d.ts +32 -32
- package/lib/browser/file-dialog/file-dialog-service.js +101 -101
- package/lib/browser/file-dialog/file-dialog-tree-filters-renderer.d.ts +39 -39
- package/lib/browser/file-dialog/file-dialog-tree-filters-renderer.js +81 -81
- package/lib/browser/file-dialog/file-dialog-tree.d.ts +26 -26
- package/lib/browser/file-dialog/file-dialog-tree.js +83 -83
- package/lib/browser/file-dialog/file-dialog-widget.d.ts +15 -15
- package/lib/browser/file-dialog/file-dialog-widget.js +75 -75
- package/lib/browser/file-dialog/file-dialog.d.ts +129 -129
- package/lib/browser/file-dialog/file-dialog.js +351 -351
- package/lib/browser/file-dialog/index.d.ts +4 -4
- package/lib/browser/file-dialog/index.js +22 -22
- package/lib/browser/file-resource.d.ts +67 -67
- package/lib/browser/file-resource.js +369 -369
- package/lib/browser/file-selection.d.ts +14 -14
- package/lib/browser/file-selection.js +36 -36
- package/lib/browser/file-service.d.ts +425 -425
- package/lib/browser/file-service.js +1366 -1366
- package/lib/browser/file-tree/file-tree-container.d.ts +3 -3
- package/lib/browser/file-tree/file-tree-container.js +35 -35
- package/lib/browser/file-tree/file-tree-decorator-adapter.d.ts +30 -30
- package/lib/browser/file-tree/file-tree-decorator-adapter.js +169 -169
- package/lib/browser/file-tree/file-tree-label-provider.d.ts +12 -12
- package/lib/browser/file-tree/file-tree-label-provider.js +54 -54
- package/lib/browser/file-tree/file-tree-model.d.ts +37 -37
- package/lib/browser/file-tree/file-tree-model.js +217 -217
- package/lib/browser/file-tree/file-tree-widget.d.ts +44 -44
- package/lib/browser/file-tree/file-tree-widget.js +317 -317
- package/lib/browser/file-tree/file-tree.d.ts +46 -46
- package/lib/browser/file-tree/file-tree.js +176 -176
- package/lib/browser/file-tree/index.d.ts +6 -6
- package/lib/browser/file-tree/index.js +24 -24
- package/lib/browser/file-upload-service.d.ts +109 -109
- package/lib/browser/file-upload-service.js +434 -434
- package/lib/browser/filesystem-frontend-contribution.d.ts +74 -74
- package/lib/browser/filesystem-frontend-contribution.js +356 -356
- package/lib/browser/filesystem-frontend-module.d.ts +5 -5
- package/lib/browser/filesystem-frontend-module.js +64 -64
- package/lib/browser/filesystem-preferences.d.ts +29 -29
- package/lib/browser/filesystem-preferences.js +110 -110
- package/lib/browser/filesystem-save-resource-service.d.ts +29 -29
- package/lib/browser/filesystem-save-resource-service.js +135 -135
- package/lib/browser/filesystem-watcher-error-handler.d.ts +10 -10
- package/lib/browser/filesystem-watcher-error-handler.js +61 -61
- package/lib/browser/index.d.ts +5 -5
- package/lib/browser/index.js +23 -23
- package/lib/browser/location/index.d.ts +2 -2
- package/lib/browser/location/index.js +20 -20
- package/lib/browser/location/location-renderer.d.ts +100 -100
- package/lib/browser/location/location-renderer.js +343 -343
- package/lib/browser/location/location-service.d.ts +5 -5
- package/lib/browser/location/location-service.js +17 -17
- package/lib/browser/remote-file-service-contribution.d.ts +6 -6
- package/lib/browser/remote-file-service-contribution.js +39 -39
- package/lib/browser-only/browser-only-filesystem-frontend-module.d.ts +3 -3
- package/lib/browser-only/browser-only-filesystem-frontend-module.js +40 -40
- package/lib/browser-only/browser-only-filesystem-provider-server.d.ts +11 -11
- package/lib/browser-only/browser-only-filesystem-provider-server.js +39 -39
- package/lib/browser-only/browserfs-filesystem-initialization.d.ts +12 -12
- package/lib/browser-only/browserfs-filesystem-initialization.js +54 -54
- package/lib/browser-only/browserfs-filesystem-provider.d.ts +45 -45
- package/lib/browser-only/browserfs-filesystem-provider.js +439 -439
- package/lib/common/delegating-file-system-provider.d.ts +76 -76
- package/lib/common/delegating-file-system-provider.js +168 -168
- package/lib/common/download/file-download-data.d.ts +6 -6
- package/lib/common/download/file-download-data.js +26 -26
- package/lib/common/file-upload.d.ts +1 -1
- package/lib/common/file-upload.js +19 -19
- package/lib/common/files.d.ts +659 -659
- package/lib/common/files.js +355 -355
- package/lib/common/files.spec.d.ts +1 -1
- package/lib/common/files.spec.js +51 -51
- package/lib/common/filesystem-utils.d.ts +14 -14
- package/lib/common/filesystem-utils.js +63 -63
- package/lib/common/filesystem-utils.spec.d.ts +1 -1
- package/lib/common/filesystem-utils.spec.js +378 -378
- package/lib/common/filesystem-watcher-protocol.d.ts +71 -71
- package/lib/common/filesystem-watcher-protocol.js +20 -20
- package/lib/common/filesystem.d.ts +22 -22
- package/lib/common/filesystem.js +42 -42
- package/lib/common/index.d.ts +2 -2
- package/lib/common/index.js +20 -20
- package/lib/common/io.d.ts +19 -19
- package/lib/common/io.js +110 -110
- package/lib/common/remote-file-system-provider.d.ts +173 -173
- package/lib/common/remote-file-system-provider.js +435 -435
- package/lib/electron-browser/file-dialog/electron-file-dialog-module.d.ts +3 -3
- package/lib/electron-browser/file-dialog/electron-file-dialog-module.js +24 -24
- package/lib/electron-browser/file-dialog/electron-file-dialog-service.d.ts +19 -19
- package/lib/electron-browser/file-dialog/electron-file-dialog-service.js +148 -148
- package/lib/electron-browser/preload.d.ts +1 -1
- package/lib/electron-browser/preload.js +30 -30
- package/lib/electron-common/electron-api.d.ts +34 -34
- package/lib/electron-common/electron-api.js +20 -20
- package/lib/electron-main/electron-api-main.d.ts +5 -5
- package/lib/electron-main/electron-api-main.js +73 -73
- package/lib/electron-main/electron-main-module.d.ts +3 -3
- package/lib/electron-main/electron-main-module.js +24 -24
- package/lib/node/disk-file-system-provider.d.ts +72 -72
- package/lib/node/disk-file-system-provider.js +787 -787
- package/lib/node/disk-file-system-provider.spec.d.ts +1 -1
- package/lib/node/disk-file-system-provider.spec.js +122 -122
- package/lib/node/download/directory-archiver.d.ts +9 -9
- package/lib/node/download/directory-archiver.js +127 -127
- package/lib/node/download/directory-archiver.spec.d.ts +1 -1
- package/lib/node/download/directory-archiver.spec.js +97 -97
- package/lib/node/download/file-download-backend-module.d.ts +3 -3
- package/lib/node/download/file-download-backend-module.js +32 -32
- package/lib/node/download/file-download-cache.d.ts +21 -21
- package/lib/node/download/file-download-cache.js +82 -82
- package/lib/node/download/file-download-endpoint.d.ts +11 -11
- package/lib/node/download/file-download-endpoint.js +67 -67
- package/lib/node/download/file-download-handler.d.ts +50 -50
- package/lib/node/download/file-download-handler.js +307 -307
- package/lib/node/download/test/mock-directory-archiver.d.ts +7 -7
- package/lib/node/download/test/mock-directory-archiver.js +29 -29
- package/lib/node/file-change-collection.d.ts +22 -22
- package/lib/node/file-change-collection.js +77 -77
- package/lib/node/file-change-collection.spec.d.ts +1 -1
- package/lib/node/file-change-collection.spec.js +90 -90
- package/lib/node/filesystem-backend-module.d.ts +26 -26
- package/lib/node/filesystem-backend-module.js +120 -120
- package/lib/node/filesystem-watcher-client.d.ts +23 -23
- package/lib/node/filesystem-watcher-client.js +75 -75
- package/lib/node/filesystem-watcher-dispatcher.d.ts +23 -23
- package/lib/node/filesystem-watcher-dispatcher.js +80 -80
- package/lib/node/node-file-upload-service.d.ts +16 -16
- package/lib/node/node-file-upload-service.js +79 -79
- package/lib/node/nsfw-watcher/index.d.ts +3 -3
- package/lib/node/nsfw-watcher/index.js +39 -39
- package/lib/node/nsfw-watcher/nsfw-filesystem-service.d.ts +191 -191
- package/lib/node/nsfw-watcher/nsfw-filesystem-service.js +405 -405
- package/lib/node/nsfw-watcher/nsfw-filesystem-watcher.spec.d.ts +1 -1
- package/lib/node/nsfw-watcher/nsfw-filesystem-watcher.spec.js +151 -151
- package/lib/node/nsfw-watcher/nsfw-options.d.ts +6 -6
- package/lib/node/nsfw-watcher/nsfw-options.js +22 -22
- package/package.json +4 -4
- package/src/browser/breadcrumbs/filepath-breadcrumb.ts +43 -43
- package/src/browser/breadcrumbs/filepath-breadcrumbs-container.ts +65 -65
- package/src/browser/breadcrumbs/filepath-breadcrumbs-contribution.ts +129 -129
- package/src/browser/download/file-download-command-contribution.ts +83 -83
- package/src/browser/download/file-download-frontend-module.ts +25 -25
- package/src/browser/download/file-download-service.ts +179 -179
- package/src/browser/file-dialog/file-dialog-container.ts +67 -67
- package/src/browser/file-dialog/file-dialog-hidden-files-renderer.tsx +59 -59
- package/src/browser/file-dialog/file-dialog-model.ts +96 -96
- package/src/browser/file-dialog/file-dialog-module.ts +44 -44
- package/src/browser/file-dialog/file-dialog-service.ts +99 -99
- package/src/browser/file-dialog/file-dialog-tree-filters-renderer.tsx +100 -100
- package/src/browser/file-dialog/file-dialog-tree.ts +89 -89
- package/src/browser/file-dialog/file-dialog-widget.ts +75 -75
- package/src/browser/file-dialog/file-dialog.ts +434 -434
- package/src/browser/file-dialog/index.ts +20 -20
- package/src/browser/file-resource.ts +390 -390
- package/src/browser/file-selection.ts +44 -44
- package/src/browser/file-service.ts +1841 -1841
- package/src/browser/file-tree/file-tree-container.ts +36 -36
- package/src/browser/file-tree/file-tree-decorator-adapter.ts +159 -159
- package/src/browser/file-tree/file-tree-label-provider.ts +53 -53
- package/src/browser/file-tree/file-tree-model.ts +212 -212
- package/src/browser/file-tree/file-tree-widget.tsx +327 -327
- package/src/browser/file-tree/file-tree.ts +183 -183
- package/src/browser/file-tree/index.ts +22 -22
- package/src/browser/file-upload-service.ts +539 -539
- package/src/browser/filesystem-frontend-contribution.ts +381 -381
- package/src/browser/filesystem-frontend-module.ts +77 -77
- package/src/browser/filesystem-preferences.ts +139 -139
- package/src/browser/filesystem-save-resource-service.ts +125 -125
- package/src/browser/filesystem-watcher-error-handler.ts +60 -60
- package/src/browser/index.ts +21 -21
- package/src/browser/location/index.ts +18 -18
- package/src/browser/location/location-renderer.tsx +404 -404
- package/src/browser/location/location-service.ts +22 -22
- package/src/browser/remote-file-service-contribution.ts +38 -38
- package/src/browser/style/file-dialog.css +208 -208
- package/src/browser/style/file-icons.css +64 -64
- package/src/browser/style/filepath-breadcrumbs.css +20 -20
- package/src/browser/style/index.css +36 -36
- package/src/browser-only/browser-only-filesystem-frontend-module.ts +38 -38
- package/src/browser-only/browser-only-filesystem-provider-server.ts +32 -32
- package/src/browser-only/browserfs-filesystem-initialization.ts +61 -61
- package/src/browser-only/browserfs-filesystem-provider.ts +462 -462
- package/src/common/delegating-file-system-provider.ts +226 -226
- package/src/common/download/README.md +30 -30
- package/src/common/download/file-download-data.ts +27 -27
- package/src/common/file-upload.ts +17 -17
- package/src/common/files.spec.ts +51 -51
- package/src/common/files.ts +996 -996
- package/src/common/filesystem-utils.spec.ts +411 -411
- package/src/common/filesystem-utils.ts +64 -64
- package/src/common/filesystem-watcher-protocol.ts +96 -96
- package/src/common/filesystem.ts +43 -43
- package/src/common/index.ts +18 -18
- package/src/common/io.ts +150 -150
- package/src/common/remote-file-system-provider.ts +549 -549
- package/src/electron-browser/file-dialog/electron-file-dialog-module.ts +24 -24
- package/src/electron-browser/file-dialog/electron-file-dialog-service.ts +165 -165
- package/src/electron-browser/preload.ts +31 -31
- package/src/electron-common/electron-api.ts +55 -55
- package/src/electron-main/electron-api-main.ts +78 -78
- package/src/electron-main/electron-main-module.ts +23 -23
- package/src/node/disk-file-system-provider.spec.ts +142 -142
- package/src/node/disk-file-system-provider.ts +915 -915
- package/src/node/download/directory-archiver.spec.ts +104 -104
- package/src/node/download/directory-archiver.ts +126 -126
- package/src/node/download/file-download-backend-module.ts +32 -32
- package/src/node/download/file-download-cache.ts +88 -88
- package/src/node/download/file-download-endpoint.ts +63 -63
- package/src/node/download/file-download-handler.ts +304 -304
- package/src/node/download/test/mock-directory-archiver.ts +30 -30
- package/src/node/file-change-collection.spec.ts +110 -110
- package/src/node/file-change-collection.ts +78 -78
- package/src/node/filesystem-backend-module.ts +140 -140
- package/src/node/filesystem-watcher-client.ts +72 -72
- package/src/node/filesystem-watcher-dispatcher.ts +82 -82
- package/src/node/node-file-upload-service.ts +80 -80
- package/src/node/nsfw-watcher/index.ts +45 -45
- package/src/node/nsfw-watcher/nsfw-filesystem-service.ts +481 -481
- package/src/node/nsfw-watcher/nsfw-filesystem-watcher.spec.ts +182 -182
- package/src/node/nsfw-watcher/nsfw-options.ts +23 -23
- package/src/typings/dom.webkit.d.ts +77 -77
- package/src/typings/mv/index.d.ts +21 -21
- package/src/typings/nsfw/index.d.ts +18 -18
- package/src/typings/trash/index.d.ts +20 -20
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2018 TypeFox and others.
|
|
4
|
-
//
|
|
5
|
-
// This program and the accompanying materials are made available under the
|
|
6
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
-
//
|
|
9
|
-
// This Source Code may also be made available under the following Secondary
|
|
10
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
-
// with the GNU Classpath Exception which is available at
|
|
13
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
-
//
|
|
15
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
-
// *****************************************************************************
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.MockDirectoryArchiver = void 0;
|
|
19
|
-
const directory_archiver_1 = require("../directory-archiver");
|
|
20
|
-
class MockDirectoryArchiver extends directory_archiver_1.DirectoryArchiver {
|
|
21
|
-
constructor(folders) {
|
|
22
|
-
super();
|
|
23
|
-
this.folders = folders;
|
|
24
|
-
}
|
|
25
|
-
async isDir(uri) {
|
|
26
|
-
return !!this.folders && this.folders.map(u => u.toString()).indexOf(uri.toString()) !== -1;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
exports.MockDirectoryArchiver = MockDirectoryArchiver;
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2018 TypeFox and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.MockDirectoryArchiver = void 0;
|
|
19
|
+
const directory_archiver_1 = require("../directory-archiver");
|
|
20
|
+
class MockDirectoryArchiver extends directory_archiver_1.DirectoryArchiver {
|
|
21
|
+
constructor(folders) {
|
|
22
|
+
super();
|
|
23
|
+
this.folders = folders;
|
|
24
|
+
}
|
|
25
|
+
async isDir(uri) {
|
|
26
|
+
return !!this.folders && this.folders.map(u => u.toString()).indexOf(uri.toString()) !== -1;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.MockDirectoryArchiver = MockDirectoryArchiver;
|
|
30
30
|
//# sourceMappingURL=mock-directory-archiver.js.map
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { FileChange, FileChangeType } from '../common/filesystem-watcher-protocol';
|
|
2
|
-
/**
|
|
3
|
-
* A file change collection guarantees that only one change is reported for each URI.
|
|
4
|
-
*
|
|
5
|
-
* Changes are normalized according following rules:
|
|
6
|
-
* - ADDED + ADDED => ADDED
|
|
7
|
-
* - ADDED + UPDATED => ADDED
|
|
8
|
-
* - ADDED + DELETED => [ADDED, DELETED]
|
|
9
|
-
* - UPDATED + ADDED => UPDATED
|
|
10
|
-
* - UPDATED + UPDATED => UPDATED
|
|
11
|
-
* - UPDATED + DELETED => DELETED
|
|
12
|
-
* - DELETED + ADDED => UPDATED
|
|
13
|
-
* - DELETED + UPDATED => UPDATED
|
|
14
|
-
* - DELETED + DELETED => DELETED
|
|
15
|
-
*/
|
|
16
|
-
export declare class FileChangeCollection {
|
|
17
|
-
protected readonly changes: Map<string, FileChange[]>;
|
|
18
|
-
push(change: FileChange): void;
|
|
19
|
-
protected normalize(changes: FileChange[], change: FileChange): void;
|
|
20
|
-
protected reduce(current: FileChangeType | undefined, change: FileChangeType): FileChangeType | [FileChangeType, FileChangeType];
|
|
21
|
-
values(): FileChange[];
|
|
22
|
-
}
|
|
1
|
+
import { FileChange, FileChangeType } from '../common/filesystem-watcher-protocol';
|
|
2
|
+
/**
|
|
3
|
+
* A file change collection guarantees that only one change is reported for each URI.
|
|
4
|
+
*
|
|
5
|
+
* Changes are normalized according following rules:
|
|
6
|
+
* - ADDED + ADDED => ADDED
|
|
7
|
+
* - ADDED + UPDATED => ADDED
|
|
8
|
+
* - ADDED + DELETED => [ADDED, DELETED]
|
|
9
|
+
* - UPDATED + ADDED => UPDATED
|
|
10
|
+
* - UPDATED + UPDATED => UPDATED
|
|
11
|
+
* - UPDATED + DELETED => DELETED
|
|
12
|
+
* - DELETED + ADDED => UPDATED
|
|
13
|
+
* - DELETED + UPDATED => UPDATED
|
|
14
|
+
* - DELETED + DELETED => DELETED
|
|
15
|
+
*/
|
|
16
|
+
export declare class FileChangeCollection {
|
|
17
|
+
protected readonly changes: Map<string, FileChange[]>;
|
|
18
|
+
push(change: FileChange): void;
|
|
19
|
+
protected normalize(changes: FileChange[], change: FileChange): void;
|
|
20
|
+
protected reduce(current: FileChangeType | undefined, change: FileChangeType): FileChangeType | [FileChangeType, FileChangeType];
|
|
21
|
+
values(): FileChange[];
|
|
22
|
+
}
|
|
23
23
|
//# sourceMappingURL=file-change-collection.d.ts.map
|
|
@@ -1,78 +1,78 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2018 TypeFox and others.
|
|
4
|
-
//
|
|
5
|
-
// This program and the accompanying materials are made available under the
|
|
6
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
-
//
|
|
9
|
-
// This Source Code may also be made available under the following Secondary
|
|
10
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
-
// with the GNU Classpath Exception which is available at
|
|
13
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
-
//
|
|
15
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
-
// *****************************************************************************
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.FileChangeCollection = void 0;
|
|
19
|
-
/**
|
|
20
|
-
* A file change collection guarantees that only one change is reported for each URI.
|
|
21
|
-
*
|
|
22
|
-
* Changes are normalized according following rules:
|
|
23
|
-
* - ADDED + ADDED => ADDED
|
|
24
|
-
* - ADDED + UPDATED => ADDED
|
|
25
|
-
* - ADDED + DELETED => [ADDED, DELETED]
|
|
26
|
-
* - UPDATED + ADDED => UPDATED
|
|
27
|
-
* - UPDATED + UPDATED => UPDATED
|
|
28
|
-
* - UPDATED + DELETED => DELETED
|
|
29
|
-
* - DELETED + ADDED => UPDATED
|
|
30
|
-
* - DELETED + UPDATED => UPDATED
|
|
31
|
-
* - DELETED + DELETED => DELETED
|
|
32
|
-
*/
|
|
33
|
-
class FileChangeCollection {
|
|
34
|
-
constructor() {
|
|
35
|
-
this.changes = new Map();
|
|
36
|
-
}
|
|
37
|
-
push(change) {
|
|
38
|
-
const changes = this.changes.get(change.uri) || [];
|
|
39
|
-
this.normalize(changes, change);
|
|
40
|
-
this.changes.set(change.uri, changes);
|
|
41
|
-
}
|
|
42
|
-
normalize(changes, change) {
|
|
43
|
-
let currentType;
|
|
44
|
-
let nextType = change.type;
|
|
45
|
-
do {
|
|
46
|
-
const current = changes.pop();
|
|
47
|
-
currentType = current && current.type;
|
|
48
|
-
nextType = this.reduce(currentType, nextType);
|
|
49
|
-
} while (!Array.isArray(nextType) && currentType !== undefined && currentType !== nextType);
|
|
50
|
-
const uri = change.uri;
|
|
51
|
-
if (Array.isArray(nextType)) {
|
|
52
|
-
changes.push(...nextType.map(type => ({ uri, type })));
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
changes.push({ uri, type: nextType });
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
reduce(current, change) {
|
|
59
|
-
if (current === undefined) {
|
|
60
|
-
return change;
|
|
61
|
-
}
|
|
62
|
-
if (current === 1 /* ADDED */) {
|
|
63
|
-
if (change === 2 /* DELETED */) {
|
|
64
|
-
return [1 /* ADDED */, 2 /* DELETED */];
|
|
65
|
-
}
|
|
66
|
-
return 1 /* ADDED */;
|
|
67
|
-
}
|
|
68
|
-
if (change === 2 /* DELETED */) {
|
|
69
|
-
return 2 /* DELETED */;
|
|
70
|
-
}
|
|
71
|
-
return 0 /* UPDATED */;
|
|
72
|
-
}
|
|
73
|
-
values() {
|
|
74
|
-
return Array.from(this.changes.values()).reduce((acc, val) => acc.concat(val), []);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
exports.FileChangeCollection = FileChangeCollection;
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2018 TypeFox and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.FileChangeCollection = void 0;
|
|
19
|
+
/**
|
|
20
|
+
* A file change collection guarantees that only one change is reported for each URI.
|
|
21
|
+
*
|
|
22
|
+
* Changes are normalized according following rules:
|
|
23
|
+
* - ADDED + ADDED => ADDED
|
|
24
|
+
* - ADDED + UPDATED => ADDED
|
|
25
|
+
* - ADDED + DELETED => [ADDED, DELETED]
|
|
26
|
+
* - UPDATED + ADDED => UPDATED
|
|
27
|
+
* - UPDATED + UPDATED => UPDATED
|
|
28
|
+
* - UPDATED + DELETED => DELETED
|
|
29
|
+
* - DELETED + ADDED => UPDATED
|
|
30
|
+
* - DELETED + UPDATED => UPDATED
|
|
31
|
+
* - DELETED + DELETED => DELETED
|
|
32
|
+
*/
|
|
33
|
+
class FileChangeCollection {
|
|
34
|
+
constructor() {
|
|
35
|
+
this.changes = new Map();
|
|
36
|
+
}
|
|
37
|
+
push(change) {
|
|
38
|
+
const changes = this.changes.get(change.uri) || [];
|
|
39
|
+
this.normalize(changes, change);
|
|
40
|
+
this.changes.set(change.uri, changes);
|
|
41
|
+
}
|
|
42
|
+
normalize(changes, change) {
|
|
43
|
+
let currentType;
|
|
44
|
+
let nextType = change.type;
|
|
45
|
+
do {
|
|
46
|
+
const current = changes.pop();
|
|
47
|
+
currentType = current && current.type;
|
|
48
|
+
nextType = this.reduce(currentType, nextType);
|
|
49
|
+
} while (!Array.isArray(nextType) && currentType !== undefined && currentType !== nextType);
|
|
50
|
+
const uri = change.uri;
|
|
51
|
+
if (Array.isArray(nextType)) {
|
|
52
|
+
changes.push(...nextType.map(type => ({ uri, type })));
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
changes.push({ uri, type: nextType });
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
reduce(current, change) {
|
|
59
|
+
if (current === undefined) {
|
|
60
|
+
return change;
|
|
61
|
+
}
|
|
62
|
+
if (current === 1 /* ADDED */) {
|
|
63
|
+
if (change === 2 /* DELETED */) {
|
|
64
|
+
return [1 /* ADDED */, 2 /* DELETED */];
|
|
65
|
+
}
|
|
66
|
+
return 1 /* ADDED */;
|
|
67
|
+
}
|
|
68
|
+
if (change === 2 /* DELETED */) {
|
|
69
|
+
return 2 /* DELETED */;
|
|
70
|
+
}
|
|
71
|
+
return 0 /* UPDATED */;
|
|
72
|
+
}
|
|
73
|
+
values() {
|
|
74
|
+
return Array.from(this.changes.values()).reduce((acc, val) => acc.concat(val), []);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
exports.FileChangeCollection = FileChangeCollection;
|
|
78
78
|
//# sourceMappingURL=file-change-collection.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=file-change-collection.spec.d.ts.map
|
|
@@ -1,91 +1,91 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2018 TypeFox and others.
|
|
4
|
-
//
|
|
5
|
-
// This program and the accompanying materials are made available under the
|
|
6
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
-
//
|
|
9
|
-
// This Source Code may also be made available under the following Secondary
|
|
10
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
-
// with the GNU Classpath Exception which is available at
|
|
13
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
-
//
|
|
15
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
-
// *****************************************************************************
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
const assert = require("assert");
|
|
19
|
-
const file_uri_1 = require("@theia/core/lib/common/file-uri");
|
|
20
|
-
const file_change_collection_1 = require("./file-change-collection");
|
|
21
|
-
describe('FileChangeCollection', () => {
|
|
22
|
-
assertChanges({
|
|
23
|
-
changes: [1 /* ADDED */, 1 /* ADDED */],
|
|
24
|
-
expected: 1 /* ADDED */
|
|
25
|
-
});
|
|
26
|
-
assertChanges({
|
|
27
|
-
changes: [1 /* ADDED */, 0 /* UPDATED */],
|
|
28
|
-
expected: 1 /* ADDED */
|
|
29
|
-
});
|
|
30
|
-
assertChanges({
|
|
31
|
-
changes: [1 /* ADDED */, 2 /* DELETED */],
|
|
32
|
-
expected: [1 /* ADDED */, 2 /* DELETED */]
|
|
33
|
-
});
|
|
34
|
-
assertChanges({
|
|
35
|
-
changes: [0 /* UPDATED */, 1 /* ADDED */],
|
|
36
|
-
expected: 0 /* UPDATED */
|
|
37
|
-
});
|
|
38
|
-
assertChanges({
|
|
39
|
-
changes: [0 /* UPDATED */, 0 /* UPDATED */],
|
|
40
|
-
expected: 0 /* UPDATED */
|
|
41
|
-
});
|
|
42
|
-
assertChanges({
|
|
43
|
-
changes: [0 /* UPDATED */, 2 /* DELETED */],
|
|
44
|
-
expected: 2 /* DELETED */
|
|
45
|
-
});
|
|
46
|
-
assertChanges({
|
|
47
|
-
changes: [2 /* DELETED */, 1 /* ADDED */],
|
|
48
|
-
expected: 0 /* UPDATED */
|
|
49
|
-
});
|
|
50
|
-
assertChanges({
|
|
51
|
-
changes: [2 /* DELETED */, 0 /* UPDATED */],
|
|
52
|
-
expected: 0 /* UPDATED */
|
|
53
|
-
});
|
|
54
|
-
assertChanges({
|
|
55
|
-
changes: [2 /* DELETED */, 2 /* DELETED */],
|
|
56
|
-
expected: 2 /* DELETED */
|
|
57
|
-
});
|
|
58
|
-
assertChanges({
|
|
59
|
-
changes: [1 /* ADDED */, 0 /* UPDATED */, 2 /* DELETED */],
|
|
60
|
-
expected: [1 /* ADDED */, 2 /* DELETED */]
|
|
61
|
-
});
|
|
62
|
-
assertChanges({
|
|
63
|
-
changes: [1 /* ADDED */, 0 /* UPDATED */, 2 /* DELETED */, 1 /* ADDED */],
|
|
64
|
-
expected: [1 /* ADDED */]
|
|
65
|
-
});
|
|
66
|
-
assertChanges({
|
|
67
|
-
changes: [1 /* ADDED */, 0 /* UPDATED */, 2 /* DELETED */, 0 /* UPDATED */],
|
|
68
|
-
expected: [1 /* ADDED */]
|
|
69
|
-
});
|
|
70
|
-
assertChanges({
|
|
71
|
-
changes: [1 /* ADDED */, 0 /* UPDATED */, 2 /* DELETED */, 2 /* DELETED */],
|
|
72
|
-
expected: [1 /* ADDED */, 2 /* DELETED */]
|
|
73
|
-
});
|
|
74
|
-
function assertChanges({ changes, expected }) {
|
|
75
|
-
const expectedTypes = Array.isArray(expected) ? expected : [expected];
|
|
76
|
-
const expectation = expectedTypes.map(type => typeAsString(type)).join(' + ');
|
|
77
|
-
it(`${changes.map(type => typeAsString(type)).join(' + ')} => ${expectation}`, () => {
|
|
78
|
-
const collection = new file_change_collection_1.FileChangeCollection();
|
|
79
|
-
const uri = file_uri_1.FileUri.create('/root/foo/bar.txt').toString();
|
|
80
|
-
for (const type of changes) {
|
|
81
|
-
collection.push({ uri, type });
|
|
82
|
-
}
|
|
83
|
-
const actual = collection.values().map(({ type }) => typeAsString(type)).join(' + ');
|
|
84
|
-
assert.deepStrictEqual(expectation, actual);
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
function typeAsString(type) {
|
|
88
|
-
return type === 0 /* UPDATED */ ? 'UPDATED' : type === 1 /* ADDED */ ? 'ADDED' : 'DELETED';
|
|
89
|
-
}
|
|
90
|
-
});
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2018 TypeFox and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const assert = require("assert");
|
|
19
|
+
const file_uri_1 = require("@theia/core/lib/common/file-uri");
|
|
20
|
+
const file_change_collection_1 = require("./file-change-collection");
|
|
21
|
+
describe('FileChangeCollection', () => {
|
|
22
|
+
assertChanges({
|
|
23
|
+
changes: [1 /* ADDED */, 1 /* ADDED */],
|
|
24
|
+
expected: 1 /* ADDED */
|
|
25
|
+
});
|
|
26
|
+
assertChanges({
|
|
27
|
+
changes: [1 /* ADDED */, 0 /* UPDATED */],
|
|
28
|
+
expected: 1 /* ADDED */
|
|
29
|
+
});
|
|
30
|
+
assertChanges({
|
|
31
|
+
changes: [1 /* ADDED */, 2 /* DELETED */],
|
|
32
|
+
expected: [1 /* ADDED */, 2 /* DELETED */]
|
|
33
|
+
});
|
|
34
|
+
assertChanges({
|
|
35
|
+
changes: [0 /* UPDATED */, 1 /* ADDED */],
|
|
36
|
+
expected: 0 /* UPDATED */
|
|
37
|
+
});
|
|
38
|
+
assertChanges({
|
|
39
|
+
changes: [0 /* UPDATED */, 0 /* UPDATED */],
|
|
40
|
+
expected: 0 /* UPDATED */
|
|
41
|
+
});
|
|
42
|
+
assertChanges({
|
|
43
|
+
changes: [0 /* UPDATED */, 2 /* DELETED */],
|
|
44
|
+
expected: 2 /* DELETED */
|
|
45
|
+
});
|
|
46
|
+
assertChanges({
|
|
47
|
+
changes: [2 /* DELETED */, 1 /* ADDED */],
|
|
48
|
+
expected: 0 /* UPDATED */
|
|
49
|
+
});
|
|
50
|
+
assertChanges({
|
|
51
|
+
changes: [2 /* DELETED */, 0 /* UPDATED */],
|
|
52
|
+
expected: 0 /* UPDATED */
|
|
53
|
+
});
|
|
54
|
+
assertChanges({
|
|
55
|
+
changes: [2 /* DELETED */, 2 /* DELETED */],
|
|
56
|
+
expected: 2 /* DELETED */
|
|
57
|
+
});
|
|
58
|
+
assertChanges({
|
|
59
|
+
changes: [1 /* ADDED */, 0 /* UPDATED */, 2 /* DELETED */],
|
|
60
|
+
expected: [1 /* ADDED */, 2 /* DELETED */]
|
|
61
|
+
});
|
|
62
|
+
assertChanges({
|
|
63
|
+
changes: [1 /* ADDED */, 0 /* UPDATED */, 2 /* DELETED */, 1 /* ADDED */],
|
|
64
|
+
expected: [1 /* ADDED */]
|
|
65
|
+
});
|
|
66
|
+
assertChanges({
|
|
67
|
+
changes: [1 /* ADDED */, 0 /* UPDATED */, 2 /* DELETED */, 0 /* UPDATED */],
|
|
68
|
+
expected: [1 /* ADDED */]
|
|
69
|
+
});
|
|
70
|
+
assertChanges({
|
|
71
|
+
changes: [1 /* ADDED */, 0 /* UPDATED */, 2 /* DELETED */, 2 /* DELETED */],
|
|
72
|
+
expected: [1 /* ADDED */, 2 /* DELETED */]
|
|
73
|
+
});
|
|
74
|
+
function assertChanges({ changes, expected }) {
|
|
75
|
+
const expectedTypes = Array.isArray(expected) ? expected : [expected];
|
|
76
|
+
const expectation = expectedTypes.map(type => typeAsString(type)).join(' + ');
|
|
77
|
+
it(`${changes.map(type => typeAsString(type)).join(' + ')} => ${expectation}`, () => {
|
|
78
|
+
const collection = new file_change_collection_1.FileChangeCollection();
|
|
79
|
+
const uri = file_uri_1.FileUri.create('/root/foo/bar.txt').toString();
|
|
80
|
+
for (const type of changes) {
|
|
81
|
+
collection.push({ uri, type });
|
|
82
|
+
}
|
|
83
|
+
const actual = collection.values().map(({ type }) => typeAsString(type)).join(' + ');
|
|
84
|
+
assert.deepStrictEqual(expectation, actual);
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
function typeAsString(type) {
|
|
88
|
+
return type === 0 /* UPDATED */ ? 'UPDATED' : type === 1 /* ADDED */ ? 'ADDED' : 'DELETED';
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
91
|
//# sourceMappingURL=file-change-collection.spec.js.map
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import { ContainerModule, interfaces } from '@theia/core/shared/inversify';
|
|
2
|
-
import { FileSystemWatcherService } from '../common/filesystem-watcher-protocol';
|
|
3
|
-
export declare const NSFW_SINGLE_THREADED: boolean;
|
|
4
|
-
export declare const NSFW_WATCHER_VERBOSE: boolean;
|
|
5
|
-
export declare const NsfwFileSystemWatcherServiceProcessOptions: unique symbol;
|
|
6
|
-
/**
|
|
7
|
-
* Options to control the way the `NsfwFileSystemWatcherService` process is spawned.
|
|
8
|
-
*/
|
|
9
|
-
export interface NsfwFileSystemWatcherServiceProcessOptions {
|
|
10
|
-
/**
|
|
11
|
-
* Path to the script that will run the `NsfwFileSystemWatcherService` in a new process.
|
|
12
|
-
*/
|
|
13
|
-
entryPoint: string;
|
|
14
|
-
}
|
|
15
|
-
declare const _default: ContainerModule;
|
|
16
|
-
export default _default;
|
|
17
|
-
export declare function bindFileSystemWatcherServer(bind: interfaces.Bind): void;
|
|
18
|
-
/**
|
|
19
|
-
* Run the watch server in the current process.
|
|
20
|
-
*/
|
|
21
|
-
export declare function createNsfwFileSystemWatcherService(ctx: interfaces.Context): FileSystemWatcherService;
|
|
22
|
-
/**
|
|
23
|
-
* Run the watch server in a child process.
|
|
24
|
-
* Return a proxy forwarding calls to the child process.
|
|
25
|
-
*/
|
|
26
|
-
export declare function spawnNsfwFileSystemWatcherServiceProcess(ctx: interfaces.Context): FileSystemWatcherService;
|
|
1
|
+
import { ContainerModule, interfaces } from '@theia/core/shared/inversify';
|
|
2
|
+
import { FileSystemWatcherService } from '../common/filesystem-watcher-protocol';
|
|
3
|
+
export declare const NSFW_SINGLE_THREADED: boolean;
|
|
4
|
+
export declare const NSFW_WATCHER_VERBOSE: boolean;
|
|
5
|
+
export declare const NsfwFileSystemWatcherServiceProcessOptions: unique symbol;
|
|
6
|
+
/**
|
|
7
|
+
* Options to control the way the `NsfwFileSystemWatcherService` process is spawned.
|
|
8
|
+
*/
|
|
9
|
+
export interface NsfwFileSystemWatcherServiceProcessOptions {
|
|
10
|
+
/**
|
|
11
|
+
* Path to the script that will run the `NsfwFileSystemWatcherService` in a new process.
|
|
12
|
+
*/
|
|
13
|
+
entryPoint: string;
|
|
14
|
+
}
|
|
15
|
+
declare const _default: ContainerModule;
|
|
16
|
+
export default _default;
|
|
17
|
+
export declare function bindFileSystemWatcherServer(bind: interfaces.Bind): void;
|
|
18
|
+
/**
|
|
19
|
+
* Run the watch server in the current process.
|
|
20
|
+
*/
|
|
21
|
+
export declare function createNsfwFileSystemWatcherService(ctx: interfaces.Context): FileSystemWatcherService;
|
|
22
|
+
/**
|
|
23
|
+
* Run the watch server in a child process.
|
|
24
|
+
* Return a proxy forwarding calls to the child process.
|
|
25
|
+
*/
|
|
26
|
+
export declare function spawnNsfwFileSystemWatcherServiceProcess(ctx: interfaces.Context): FileSystemWatcherService;
|
|
27
27
|
//# sourceMappingURL=filesystem-backend-module.d.ts.map
|