@angular-devkit/schematics 16.0.0 → 16.0.1
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular-devkit/schematics",
|
|
3
|
-
"version": "16.0.
|
|
3
|
+
"version": "16.0.1",
|
|
4
4
|
"description": "Angular Schematics - Library",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"typings": "src/index.d.ts",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"tooling"
|
|
19
19
|
],
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@angular-devkit/core": "16.0.
|
|
21
|
+
"@angular-devkit/core": "16.0.1",
|
|
22
22
|
"jsonc-parser": "3.2.0",
|
|
23
23
|
"magic-string": "0.30.0",
|
|
24
24
|
"ora": "5.4.1",
|
package/src/sink/dryrun.js
CHANGED
|
@@ -68,14 +68,14 @@ class DryRunSink extends host_1.HostSink {
|
|
|
68
68
|
this._fileDoesNotExistExceptionSet.has(path)) {
|
|
69
69
|
return;
|
|
70
70
|
}
|
|
71
|
-
this._subject.next({ kind: 'create', path, content
|
|
71
|
+
this._subject.next({ kind: 'create', path, content });
|
|
72
72
|
});
|
|
73
73
|
this._filesToUpdate.forEach((content, path) => {
|
|
74
|
-
this._subject.next({ kind: 'update', path, content
|
|
74
|
+
this._subject.next({ kind: 'update', path, content });
|
|
75
75
|
});
|
|
76
76
|
this._subject.complete();
|
|
77
77
|
return (0, rxjs_1.of)(undefined);
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
exports.DryRunSink = DryRunSink;
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJ5cnVuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhcl9kZXZraXQvc2NoZW1hdGljcy9zcmMvc2luay9kcnlydW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsK0NBQTREO0FBQzVELG9EQUEyRDtBQUMzRCwrQkFBK0M7QUFDL0MsaUNBQWtDO0FBa0NsQyxNQUFhLFVBQVcsU0FBUSxlQUFRO0lBYXRDLFlBQVksSUFBNkIsRUFBRSxLQUFLLEdBQUcsS0FBSztRQUN0RCxLQUFLLENBQ0gsT0FBTyxJQUFJLElBQUksUUFBUTtZQUNyQixDQUFDLENBQUMsSUFBSSxnQkFBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLHFCQUFjLEVBQUUsRUFBRSxJQUFBLGdCQUFTLEVBQUMsSUFBSSxDQUFDLENBQUM7WUFDakUsQ0FBQyxDQUFDLElBQUksRUFDUixLQUFLLENBQ04sQ0FBQztRQWxCTSxhQUFRLEdBQUcsSUFBSSxjQUFPLEVBQWUsQ0FBQztRQUN0QyxrQ0FBNkIsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO1FBQ2xELGtDQUE2QixHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7UUFFbkQsYUFBUSxHQUE0QixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBZTFFLENBQUM7SUFFa0IsMEJBQTBCLENBQUMsSUFBWTtRQUN4RCxJQUFJLENBQUMsNkJBQTZCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDa0IsMEJBQTBCLENBQUMsSUFBWTtRQUN4RCxJQUFJLENBQUMsNkJBQTZCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFUSxLQUFLO1FBQ1osSUFBSSxDQUFDLDZCQUE2QixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2xELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO2dCQUNqQixJQUFJLEVBQUUsT0FBTztnQkFDYixXQUFXLEVBQUUsY0FBYztnQkFDM0IsSUFBSTthQUNMLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLDZCQUE2QixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2xELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO2dCQUNqQixJQUFJLEVBQUUsT0FBTztnQkFDYixXQUFXLEVBQUUsY0FBYztnQkFDM0IsSUFBSTthQUNMLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNuQywrQkFBK0I7WUFDL0IsS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDeEMsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFO29CQUNoQiw4QkFBOEI7b0JBQzlCLE9BQU87aUJBQ1I7YUFDRjtZQUVELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3pDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFO1lBQzVDLCtCQUErQjtZQUMvQixLQUFLLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3hDLElBQUksRUFBRSxJQUFJLElBQUksRUFBRTtvQkFDZCw4QkFBOEI7b0JBQzlCLE9BQU87aUJBQ1I7YUFDRjtZQUNELElBQ0UsSUFBSSxDQUFDLDZCQUE2QixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7Z0JBQzVDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQzVDO2dCQUNBLE9BQU87YUFDUjtZQUVELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFO1lBQzVDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFekIsT0FBTyxJQUFBLFNBQUUsRUFBTyxTQUFTLENBQUMsQ0FBQztJQUM3QixDQUFDO0NBQ0Y7QUFwRkQsZ0NBb0ZDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7IG5vcm1hbGl6ZSwgdmlydHVhbEZzIH0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L2NvcmUnO1xuaW1wb3J0IHsgTm9kZUpzU3luY0hvc3QgfSBmcm9tICdAYW5ndWxhci1kZXZraXQvY29yZS9ub2RlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBIb3N0U2luayB9IGZyb20gJy4vaG9zdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHJ5UnVuRXJyb3JFdmVudCB7XG4gIGtpbmQ6ICdlcnJvcic7XG4gIGRlc2NyaXB0aW9uOiAnYWxyZWFkeUV4aXN0JyB8ICdkb2VzTm90RXhpc3QnO1xuICBwYXRoOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIERyeVJ1bkRlbGV0ZUV2ZW50IHtcbiAga2luZDogJ2RlbGV0ZSc7XG4gIHBhdGg6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRHJ5UnVuQ3JlYXRlRXZlbnQge1xuICBraW5kOiAnY3JlYXRlJztcbiAgcGF0aDogc3RyaW5nO1xuICBjb250ZW50OiBCdWZmZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIERyeVJ1blVwZGF0ZUV2ZW50IHtcbiAga2luZDogJ3VwZGF0ZSc7XG4gIHBhdGg6IHN0cmluZztcbiAgY29udGVudDogQnVmZmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBEcnlSdW5SZW5hbWVFdmVudCB7XG4gIGtpbmQ6ICdyZW5hbWUnO1xuICBwYXRoOiBzdHJpbmc7XG4gIHRvOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIERyeVJ1bkV2ZW50ID1cbiAgfCBEcnlSdW5FcnJvckV2ZW50XG4gIHwgRHJ5UnVuRGVsZXRlRXZlbnRcbiAgfCBEcnlSdW5DcmVhdGVFdmVudFxuICB8IERyeVJ1blVwZGF0ZUV2ZW50XG4gIHwgRHJ5UnVuUmVuYW1lRXZlbnQ7XG5cbmV4cG9ydCBjbGFzcyBEcnlSdW5TaW5rIGV4dGVuZHMgSG9zdFNpbmsge1xuICBwcm90ZWN0ZWQgX3N1YmplY3QgPSBuZXcgU3ViamVjdDxEcnlSdW5FdmVudD4oKTtcbiAgcHJvdGVjdGVkIF9maWxlRG9lc05vdEV4aXN0RXhjZXB0aW9uU2V0ID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gIHByb3RlY3RlZCBfZmlsZUFscmVhZHlFeGlzdEV4Y2VwdGlvblNldCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gIHJlYWRvbmx5IHJlcG9ydGVyOiBPYnNlcnZhYmxlPERyeVJ1bkV2ZW50PiA9IHRoaXMuX3N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aG9zdH0gZGlyIFRoZSBob3N0IHRvIHVzZSB0byBvdXRwdXQuIFRoaXMgc2hvdWxkIGJlIHNjb3BlZC5cbiAgICogQHBhcmFtIHtib29sZWFufSBmb3JjZSBXaGV0aGVyIHRvIGZvcmNlIG92ZXJ3cml0aW5nIGZpbGVzIHRoYXQgYWxyZWFkeSBleGlzdC5cbiAgICovXG4gIGNvbnN0cnVjdG9yKGhvc3Q6IHZpcnR1YWxGcy5Ib3N0LCBmb3JjZT86IGJvb2xlYW4pO1xuXG4gIGNvbnN0cnVjdG9yKGhvc3Q6IHZpcnR1YWxGcy5Ib3N0IHwgc3RyaW5nLCBmb3JjZSA9IGZhbHNlKSB7XG4gICAgc3VwZXIoXG4gICAgICB0eXBlb2YgaG9zdCA9PSAnc3RyaW5nJ1xuICAgICAgICA/IG5ldyB2aXJ0dWFsRnMuU2NvcGVkSG9zdChuZXcgTm9kZUpzU3luY0hvc3QoKSwgbm9ybWFsaXplKGhvc3QpKVxuICAgICAgICA6IGhvc3QsXG4gICAgICBmb3JjZSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIF9maWxlQWxyZWFkeUV4aXN0RXhjZXB0aW9uKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuX2ZpbGVBbHJlYWR5RXhpc3RFeGNlcHRpb25TZXQuYWRkKHBhdGgpO1xuICB9XG4gIHByb3RlY3RlZCBvdmVycmlkZSBfZmlsZURvZXNOb3RFeGlzdEV4Y2VwdGlvbihwYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLl9maWxlRG9lc05vdEV4aXN0RXhjZXB0aW9uU2V0LmFkZChwYXRoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIF9kb25lKCkge1xuICAgIHRoaXMuX2ZpbGVBbHJlYWR5RXhpc3RFeGNlcHRpb25TZXQuZm9yRWFjaCgocGF0aCkgPT4ge1xuICAgICAgdGhpcy5fc3ViamVjdC5uZXh0KHtcbiAgICAgICAga2luZDogJ2Vycm9yJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdhbHJlYWR5RXhpc3QnLFxuICAgICAgICBwYXRoLFxuICAgICAgfSk7XG4gICAgfSk7XG4gICAgdGhpcy5fZmlsZURvZXNOb3RFeGlzdEV4Y2VwdGlvblNldC5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICB0aGlzLl9zdWJqZWN0Lm5leHQoe1xuICAgICAgICBraW5kOiAnZXJyb3InLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ2RvZXNOb3RFeGlzdCcsXG4gICAgICAgIHBhdGgsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHRoaXMuX2ZpbGVzVG9EZWxldGUuZm9yRWFjaCgocGF0aCkgPT4ge1xuICAgICAgLy8gQ2hlY2sgaWYgdGhpcyBpcyBhIHJlbmFtaW5nLlxuICAgICAgZm9yIChjb25zdCBbZnJvbV0gb2YgdGhpcy5fZmlsZXNUb1JlbmFtZSkge1xuICAgICAgICBpZiAoZnJvbSA9PSBwYXRoKSB7XG4gICAgICAgICAgLy8gVGhlIGV2ZW50IGlzIHNlbnQgbGF0ZXIgb24uXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX3N1YmplY3QubmV4dCh7IGtpbmQ6ICdkZWxldGUnLCBwYXRoIH0pO1xuICAgIH0pO1xuICAgIHRoaXMuX2ZpbGVzVG9SZW5hbWUuZm9yRWFjaCgoW3BhdGgsIHRvXSkgPT4ge1xuICAgICAgdGhpcy5fc3ViamVjdC5uZXh0KHsga2luZDogJ3JlbmFtZScsIHBhdGgsIHRvIH0pO1xuICAgIH0pO1xuICAgIHRoaXMuX2ZpbGVzVG9DcmVhdGUuZm9yRWFjaCgoY29udGVudCwgcGF0aCkgPT4ge1xuICAgICAgLy8gQ2hlY2sgaWYgdGhpcyBpcyBhIHJlbmFtaW5nLlxuICAgICAgZm9yIChjb25zdCBbLCB0b10gb2YgdGhpcy5fZmlsZXNUb1JlbmFtZSkge1xuICAgICAgICBpZiAodG8gPT0gcGF0aCkge1xuICAgICAgICAgIC8vIFRoZSBldmVudCBpcyBzZW50IGxhdGVyIG9uLlxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLl9maWxlQWxyZWFkeUV4aXN0RXhjZXB0aW9uU2V0LmhhcyhwYXRoKSB8fFxuICAgICAgICB0aGlzLl9maWxlRG9lc05vdEV4aXN0RXhjZXB0aW9uU2V0LmhhcyhwYXRoKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5fc3ViamVjdC5uZXh0KHsga2luZDogJ2NyZWF0ZScsIHBhdGgsIGNvbnRlbnQgfSk7XG4gICAgfSk7XG4gICAgdGhpcy5fZmlsZXNUb1VwZGF0ZS5mb3JFYWNoKChjb250ZW50LCBwYXRoKSA9PiB7XG4gICAgICB0aGlzLl9zdWJqZWN0Lm5leHQoeyBraW5kOiAndXBkYXRlJywgcGF0aCwgY29udGVudCB9KTtcbiAgICB9KTtcblxuICAgIHRoaXMuX3N1YmplY3QuY29tcGxldGUoKTtcblxuICAgIHJldHVybiBvZjx2b2lkPih1bmRlZmluZWQpO1xuICB9XG59XG4iXX0=
|
package/src/sink/host.d.ts
CHANGED
|
@@ -9,15 +9,14 @@
|
|
|
9
9
|
import { Path, virtualFs } from '@angular-devkit/core';
|
|
10
10
|
import { Observable } from 'rxjs';
|
|
11
11
|
import { CreateFileAction } from '../tree/action';
|
|
12
|
-
import { UpdateBufferBase } from '../utility/update-buffer';
|
|
13
12
|
import { SimpleSinkBase } from './sink';
|
|
14
13
|
export declare class HostSink extends SimpleSinkBase {
|
|
15
14
|
protected _host: virtualFs.Host;
|
|
16
15
|
protected _force: boolean;
|
|
17
16
|
protected _filesToDelete: Set<Path>;
|
|
18
17
|
protected _filesToRename: Set<[Path, Path]>;
|
|
19
|
-
protected _filesToCreate: Map<Path,
|
|
20
|
-
protected _filesToUpdate: Map<Path,
|
|
18
|
+
protected _filesToCreate: Map<Path, Buffer>;
|
|
19
|
+
protected _filesToUpdate: Map<Path, Buffer>;
|
|
21
20
|
constructor(_host: virtualFs.Host, _force?: boolean);
|
|
22
21
|
protected _validateCreateAction(action: CreateFileAction): Observable<void>;
|
|
23
22
|
protected _validateFileExists(p: Path): Observable<boolean>;
|
package/src/sink/host.js
CHANGED
|
@@ -9,7 +9,6 @@
|
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.HostSink = void 0;
|
|
11
11
|
const rxjs_1 = require("rxjs");
|
|
12
|
-
const update_buffer_1 = require("../utility/update-buffer");
|
|
13
12
|
const sink_1 = require("./sink");
|
|
14
13
|
class HostSink extends sink_1.SimpleSinkBase {
|
|
15
14
|
constructor(_host, _force = false) {
|
|
@@ -42,11 +41,11 @@ class HostSink extends sink_1.SimpleSinkBase {
|
|
|
42
41
|
return this._host.exists(p);
|
|
43
42
|
}
|
|
44
43
|
_overwriteFile(path, content) {
|
|
45
|
-
this._filesToUpdate.set(path,
|
|
44
|
+
this._filesToUpdate.set(path, content);
|
|
46
45
|
return rxjs_1.EMPTY;
|
|
47
46
|
}
|
|
48
47
|
_createFile(path, content) {
|
|
49
|
-
this._filesToCreate.set(path,
|
|
48
|
+
this._filesToCreate.set(path, content);
|
|
50
49
|
return rxjs_1.EMPTY;
|
|
51
50
|
}
|
|
52
51
|
_renameFile(from, to) {
|
|
@@ -65,12 +64,8 @@ class HostSink extends sink_1.SimpleSinkBase {
|
|
|
65
64
|
}
|
|
66
65
|
_done() {
|
|
67
66
|
// Really commit everything to the actual filesystem.
|
|
68
|
-
return (0, rxjs_1.concat)((0, rxjs_1.from)([...this._filesToDelete.values()]).pipe((0, rxjs_1.concatMap)((path) => this._host.delete(path))), (0, rxjs_1.from)([...this._filesToRename.entries()]).pipe((0, rxjs_1.concatMap)(([_, [path, to]]) => this._host.rename(path, to))), (0, rxjs_1.from)([...this._filesToCreate.entries()]).pipe((0, rxjs_1.concatMap)(([path, buffer]) => {
|
|
69
|
-
return this._host.write(path, buffer.generate());
|
|
70
|
-
})), (0, rxjs_1.from)([...this._filesToUpdate.entries()]).pipe((0, rxjs_1.concatMap)(([path, buffer]) => {
|
|
71
|
-
return this._host.write(path, buffer.generate());
|
|
72
|
-
}))).pipe((0, rxjs_1.reduce)(() => { }));
|
|
67
|
+
return (0, rxjs_1.concat)((0, rxjs_1.from)([...this._filesToDelete.values()]).pipe((0, rxjs_1.concatMap)((path) => this._host.delete(path))), (0, rxjs_1.from)([...this._filesToRename.entries()]).pipe((0, rxjs_1.concatMap)(([_, [path, to]]) => this._host.rename(path, to))), (0, rxjs_1.from)([...this._filesToCreate.entries()]).pipe((0, rxjs_1.concatMap)(([path, buffer]) => this._host.write(path, buffer))), (0, rxjs_1.from)([...this._filesToUpdate.entries()]).pipe((0, rxjs_1.concatMap)(([path, buffer]) => this._host.write(path, buffer)))).pipe((0, rxjs_1.reduce)(() => { }));
|
|
73
68
|
}
|
|
74
69
|
}
|
|
75
70
|
exports.HostSink = HostSink;
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXJfZGV2a2l0L3NjaGVtYXRpY3Mvc3JjL3NpbmsvaG9zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7QUFHSCwrQkFRYztBQUVkLGlDQUF3QztBQUV4QyxNQUFhLFFBQVMsU0FBUSxxQkFBYztJQU0xQyxZQUFzQixLQUFxQixFQUFZLFNBQVMsS0FBSztRQUNuRSxLQUFLLEVBQUUsQ0FBQztRQURZLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQVksV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUwzRCxtQkFBYyxHQUFHLElBQUksR0FBRyxFQUFRLENBQUM7UUFDakMsbUJBQWMsR0FBRyxJQUFJLEdBQUcsRUFBZ0IsQ0FBQztRQUN6QyxtQkFBYyxHQUFHLElBQUksR0FBRyxFQUFnQixDQUFDO1FBQ3pDLG1CQUFjLEdBQUcsSUFBSSxHQUFHLEVBQWdCLENBQUM7SUFJbkQsQ0FBQztJQUVrQixxQkFBcUIsQ0FBQyxNQUF3QjtRQUMvRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFlBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFUyxtQkFBbUIsQ0FBQyxDQUFPO1FBQ25DLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDNUQsT0FBTyxJQUFBLFNBQVksRUFBQyxJQUFJLENBQUMsQ0FBQztTQUMzQjtRQUVELElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDOUIsT0FBTyxJQUFBLFNBQVksRUFBQyxLQUFLLENBQUMsQ0FBQztTQUM1QjtR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QUFDLENBQzlELENBQ0YsQ0FBQyxJQUFJLENBQUMsSUFBQSxhQUFNLEVBQUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQixDQUFDO0NBQ0Y7QUFqRkQsNEJBaUZDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7IFBhdGgsIHZpcnR1YWxGcyB9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9jb3JlJztcbmltcG9ydCB7XG4gIEVNUFRZLFxuICBPYnNlcnZhYmxlLFxuICBjb25jYXRNYXAsXG4gIGNvbmNhdCBhcyBjb25jYXRPYnNlcnZhYmxlcyxcbiAgZnJvbSBhcyBvYnNlcnZhYmxlRnJvbSxcbiAgb2YgYXMgb2JzZXJ2YWJsZU9mLFxuICByZWR1Y2UsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ3JlYXRlRmlsZUFjdGlvbiB9IGZyb20gJy4uL3RyZWUvYWN0aW9uJztcbmltcG9ydCB7IFNpbXBsZVNpbmtCYXNlIH0gZnJvbSAnLi9zaW5rJztcblxuZXhwb3J0IGNsYXNzIEhvc3RTaW5rIGV4dGVuZHMgU2ltcGxlU2lua0Jhc2Uge1xuICBwcm90ZWN0ZWQgX2ZpbGVzVG9EZWxldGUgPSBuZXcgU2V0PFBhdGg+KCk7XG4gIHByb3RlY3RlZCBfZmlsZXNUb1JlbmFtZSA9IG5ldyBTZXQ8W1BhdGgsIFBhdGhdPigpO1xuICBwcm90ZWN0ZWQgX2ZpbGVzVG9DcmVhdGUgPSBuZXcgTWFwPFBhdGgsIEJ1ZmZlcj4oKTtcbiAgcHJvdGVjdGVkIF9maWxlc1RvVXBkYXRlID0gbmV3IE1hcDxQYXRoLCBCdWZmZXI+KCk7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9ob3N0OiB2aXJ0dWFsRnMuSG9zdCwgcHJvdGVjdGVkIF9mb3JjZSA9IGZhbHNlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBfdmFsaWRhdGVDcmVhdGVBY3Rpb24oYWN0aW9uOiBDcmVhdGVGaWxlQWN0aW9uKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZvcmNlID8gRU1QVFkgOiBzdXBlci5fdmFsaWRhdGVDcmVhdGVBY3Rpb24oYWN0aW9uKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfdmFsaWRhdGVGaWxlRXhpc3RzKHA6IFBhdGgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBpZiAodGhpcy5fZmlsZXNUb0NyZWF0ZS5oYXMocCkgfHwgdGhpcy5fZmlsZXNUb1VwZGF0ZS5oYXMocCkpIHtcbiAgICAgIHJldHVybiBvYnNlcnZhYmxlT2YodHJ1ZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2ZpbGVzVG9EZWxldGUuaGFzKHApKSB7XG4gICAgICByZXR1cm4gb2JzZXJ2YWJsZU9mKGZhbHNlKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IFtmcm9tLCB0b10gb2YgdGhpcy5fZmlsZXNUb1JlbmFtZS52YWx1ZXMoKSkge1xuICAgICAgc3dpdGNoIChwKSB7XG4gICAgICAgIGNhc2UgZnJvbTpcbiAgICAgICAgICByZXR1cm4gb2JzZXJ2YWJsZU9mKGZhbHNlKTtcbiAgICAgICAgY2FzZSB0bzpcbiAgICAgICAgICByZXR1cm4gb2JzZXJ2YWJsZU9mKHRydWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9ob3N0LmV4aXN0cyhwKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfb3ZlcndyaXRlRmlsZShwYXRoOiBQYXRoLCBjb250ZW50OiBCdWZmZXIpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICB0aGlzLl9maWxlc1RvVXBkYXRlLnNldChwYXRoLCBjb250ZW50KTtcblxuICAgIHJldHVybiBFTVBUWTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfY3JlYXRlRmlsZShwYXRoOiBQYXRoLCBjb250ZW50OiBCdWZmZXIpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICB0aGlzLl9maWxlc1RvQ3JlYXRlLnNldChwYXRoLCBjb250ZW50KTtcblxuICAgIHJldHVybiBFTVBUWTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfcmVuYW1lRmlsZShmcm9tOiBQYXRoLCB0bzogUGF0aCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHRoaXMuX2ZpbGVzVG9SZW5hbWUuYWRkKFtmcm9tLCB0b10pO1xuXG4gICAgcmV0dXJuIEVNUFRZO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9kZWxldGVGaWxlKHBhdGg6IFBhdGgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5fZmlsZXNUb0NyZWF0ZS5oYXMocGF0aCkpIHtcbiAgICAgIHRoaXMuX2ZpbGVzVG9DcmVhdGUuZGVsZXRlKHBhdGgpO1xuICAgICAgdGhpcy5fZmlsZXNUb1VwZGF0ZS5kZWxldGUocGF0aCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2ZpbGVzVG9EZWxldGUuYWRkKHBhdGgpO1xuICAgIH1cblxuICAgIHJldHVybiBFTVBUWTtcbiAgfVxuXG4gIF9kb25lKCkge1xuICAgIC8vIFJlYWxseSBjb21taXQgZXZlcnl0aGluZyB0byB0aGUgYWN0dWFsIGZpbGVzeXN0ZW0uXG4gICAgcmV0dXJuIGNvbmNhdE9ic2VydmFibGVzKFxuICAgICAgb2JzZXJ2YWJsZUZyb20oWy4uLnRoaXMuX2ZpbGVzVG9EZWxldGUudmFsdWVzKCldKS5waXBlKFxuICAgICAgICBjb25jYXRNYXAoKHBhdGgpID0+IHRoaXMuX2hvc3QuZGVsZXRlKHBhdGgpKSxcbiAgICAgICksXG4gICAgICBvYnNlcnZhYmxlRnJvbShbLi4udGhpcy5fZmlsZXNUb1JlbmFtZS5lbnRyaWVzKCldKS5waXBlKFxuICAgICAgICBjb25jYXRNYXAoKFtfLCBbcGF0aCwgdG9dXSkgPT4gdGhpcy5faG9zdC5yZW5hbWUocGF0aCwgdG8pKSxcbiAgICAgICksXG4gICAgICBvYnNlcnZhYmxlRnJvbShbLi4udGhpcy5fZmlsZXNUb0NyZWF0ZS5lbnRyaWVzKCldKS5waXBlKFxuICAgICAgICBjb25jYXRNYXAoKFtwYXRoLCBidWZmZXJdKSA9PiB0aGlzLl9ob3N0LndyaXRlKHBhdGgsIGJ1ZmZlcikpLFxuICAgICAgKSxcbiAgICAgIG9ic2VydmFibGVGcm9tKFsuLi50aGlzLl9maWxlc1RvVXBkYXRlLmVudHJpZXMoKV0pLnBpcGUoXG4gICAgICAgIGNvbmNhdE1hcCgoW3BhdGgsIGJ1ZmZlcl0pID0+IHRoaXMuX2hvc3Qud3JpdGUocGF0aCwgYnVmZmVyKSksXG4gICAgICApLFxuICAgICkucGlwZShyZWR1Y2UoKCkgPT4ge30pKTtcbiAgfVxufVxuIl19
|
package/src/tree/recorder.js
CHANGED
|
@@ -13,7 +13,7 @@ const update_buffer_1 = require("../utility/update-buffer");
|
|
|
13
13
|
class UpdateRecorderBase {
|
|
14
14
|
constructor(entry) {
|
|
15
15
|
this._original = Buffer.from(entry.content);
|
|
16
|
-
this._content = update_buffer_1.UpdateBufferBase.create(entry.content);
|
|
16
|
+
this._content = update_buffer_1.UpdateBufferBase.create(entry.path, entry.content);
|
|
17
17
|
this._path = entry.path;
|
|
18
18
|
}
|
|
19
19
|
static createFromFileEntry(entry) {
|
|
@@ -72,4 +72,4 @@ class UpdateRecorderBom extends UpdateRecorderBase {
|
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
exports.UpdateRecorderBom = UpdateRecorderBom;
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9zY2hlbWF0aWNzL3NyYy90cmVlL3JlY29yZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7OztBQUVILHNEQUFvRTtBQUNwRSw0REFBNEQ7QUFHNUQsTUFBYSxrQkFBa0I7SUFLN0IsWUFBWSxLQUFnQjtRQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxRQUFRLEdBQUcsZ0NBQWdCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRUQsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEtBQWdCO1FBQ3pDLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RSxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEUsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXRFLHNCQUFzQjtRQUN0QixJQUFJLEVBQUUsSUFBSSxJQUFJLElBQUksRUFBRSxJQUFJLElBQUksSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFO1lBQzFDLE9BQU8sSUFBSSxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNyQzthQUFNLElBQUksRUFBRSxLQUFLLElBQUksSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFO1lBQ3BDLE9BQU8sSUFBSSxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNyQzthQUFNLElBQUksRUFBRSxLQUFLLElBQUksSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFO1lBQ3BDLE9BQU8sSUFBSSxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNyQztRQUVELE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCw2QkFBNkI7SUFDN0IsVUFBVSxDQUFDLEtBQWEsRUFBRSxPQUF3QjtRQUNoRCxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxPQUFPLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU3RixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYSxFQUFFLE9BQXdCO1FBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxPQUFPLE9BQU8sSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTlGLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFhLEVBQUUsTUFBYztRQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFcEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQWU7UUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUMzQyxNQUFNLElBQUksc0NBQTBCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2pEO1FBRUQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7Q0FDRjtBQTFERCxnREEwREM7QUFFRCxNQUFhLGlCQUFrQixTQUFRLGtCQUFrQjtJQUN2RCxZQUFZLEtBQWdCLEVBQVUsU0FBUyxDQUFDO1FBQzlDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUR1QixXQUFNLEdBQU4sTUFBTSxDQUFJO0lBRWhELENBQUM7SUFFUSxVQUFVLENBQUMsS0FBYSxFQUFFLE9BQXdCO1FBQ3pELE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRVEsV0FBVyxDQUFDLEtBQWEsRUFBRSxPQUF3QjtRQUMxRCxPQUFPLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVRLE1BQU0sQ0FBQyxLQUFhLEVBQUUsTUFBYztRQUMzQyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbkQsQ0FBQztDQUNGO0FBaEJELDhDQWdCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBDb250ZW50SGFzTXV0YXRlZEV4Y2VwdGlvbiB9IGZyb20gJy4uL2V4Y2VwdGlvbi9leGNlcHRpb24nO1xuaW1wb3J0IHsgVXBkYXRlQnVmZmVyQmFzZSB9IGZyb20gJy4uL3V0aWxpdHkvdXBkYXRlLWJ1ZmZlcic7XG5pbXBvcnQgeyBGaWxlRW50cnksIFVwZGF0ZVJlY29yZGVyIH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuXG5leHBvcnQgY2xhc3MgVXBkYXRlUmVjb3JkZXJCYXNlIGltcGxlbWVudHMgVXBkYXRlUmVjb3JkZXIge1xuICBwcm90ZWN0ZWQgX3BhdGg6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9vcmlnaW5hbDogQnVmZmVyO1xuICBwcm90ZWN0ZWQgX2NvbnRlbnQ6IFVwZGF0ZUJ1ZmZlckJhc2U7XG5cbiAgY29uc3RydWN0b3IoZW50cnk6IEZpbGVFbnRyeSkge1xuICAgIHRoaXMuX29yaWdpbmFsID0gQnVmZmVyLmZyb20oZW50cnkuY29udGVudCk7XG4gICAgdGhpcy5fY29udGVudCA9IFVwZGF0ZUJ1ZmZlckJhc2UuY3JlYXRlKGVudHJ5LnBhdGgsIGVudHJ5LmNvbnRlbnQpO1xuICAgIHRoaXMuX3BhdGggPSBlbnRyeS5wYXRoO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUZyb21GaWxlRW50cnkoZW50cnk6IEZpbGVFbnRyeSk6IFVwZGF0ZVJlY29yZGVyQmFzZSB7XG4gICAgY29uc3QgYzAgPSBlbnRyeS5jb250ZW50LmJ5dGVMZW5ndGggPiAwICYmIGVudHJ5LmNvbnRlbnQucmVhZFVJbnQ4KDApO1xuICAgIGNvbnN0IGMxID0gZW50cnkuY29udGVudC5ieXRlTGVuZ3RoID4gMSAmJiBlbnRyeS5jb250ZW50LnJlYWRVSW50OCgxKTtcbiAgICBjb25zdCBjMiA9IGVudHJ5LmNvbnRlbnQuYnl0ZUxlbmd0aCA+IDIgJiYgZW50cnkuY29udGVudC5yZWFkVUludDgoMik7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSdyZSBCT00uXG4gICAgaWYgKGMwID09IDB4ZWYgJiYgYzEgPT0gMHhiYiAmJiBjMiA9PSAweGJmKSB7XG4gICAgICByZXR1cm4gbmV3IFVwZGF0ZVJlY29yZGVyQm9tKGVudHJ5KTtcbiAgICB9IGVsc2UgaWYgKGMwID09PSAweGZmICYmIGMxID09IDB4ZmUpIHtcbiAgICAgIHJldHVybiBuZXcgVXBkYXRlUmVjb3JkZXJCb20oZW50cnkpO1xuICAgIH0gZWxzZSBpZiAoYzAgPT09IDB4ZmUgJiYgYzEgPT0gMHhmZikge1xuICAgICAgcmV0dXJuIG5ldyBVcGRhdGVSZWNvcmRlckJvbShlbnRyeSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBVcGRhdGVSZWNvcmRlckJhc2UoZW50cnkpO1xuICB9XG5cbiAgZ2V0IHBhdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhdGg7XG4gIH1cblxuICAvLyBUaGVzZSBqdXN0IHJlY29yZCBjaGFuZ2VzLlxuICBpbnNlcnRMZWZ0KGluZGV4OiBudW1iZXIsIGNvbnRlbnQ6IEJ1ZmZlciB8IHN0cmluZyk6IFVwZGF0ZVJlY29yZGVyIHtcbiAgICB0aGlzLl9jb250ZW50Lmluc2VydExlZnQoaW5kZXgsIHR5cGVvZiBjb250ZW50ID09ICdzdHJpbmcnID8gQnVmZmVyLmZyb20oY29udGVudCkgOiBjb250ZW50KTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgaW5zZXJ0UmlnaHQoaW5kZXg6IG51bWJlciwgY29udGVudDogQnVmZmVyIHwgc3RyaW5nKTogVXBkYXRlUmVjb3JkZXIge1xuICAgIHRoaXMuX2NvbnRlbnQuaW5zZXJ0UmlnaHQoaW5kZXgsIHR5cGVvZiBjb250ZW50ID09ICdzdHJpbmcnID8gQnVmZmVyLmZyb20oY29udGVudCkgOiBjb250ZW50KTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcmVtb3ZlKGluZGV4OiBudW1iZXIsIGxlbmd0aDogbnVtYmVyKTogVXBkYXRlUmVjb3JkZXIge1xuICAgIHRoaXMuX2NvbnRlbnQucmVtb3ZlKGluZGV4LCBsZW5ndGgpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBhcHBseShjb250ZW50OiBCdWZmZXIpOiBCdWZmZXIge1xuICAgIGlmICghY29udGVudC5lcXVhbHModGhpcy5fY29udGVudC5vcmlnaW5hbCkpIHtcbiAgICAgIHRocm93IG5ldyBDb250ZW50SGFzTXV0YXRlZEV4Y2VwdGlvbih0aGlzLnBhdGgpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9jb250ZW50LmdlbmVyYXRlKCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFVwZGF0ZVJlY29yZGVyQm9tIGV4dGVuZHMgVXBkYXRlUmVjb3JkZXJCYXNlIHtcbiAgY29uc3RydWN0b3IoZW50cnk6IEZpbGVFbnRyeSwgcHJpdmF0ZSBfZGVsdGEgPSAxKSB7XG4gICAgc3VwZXIoZW50cnkpO1xuICB9XG5cbiAgb3ZlcnJpZGUgaW5zZXJ0TGVmdChpbmRleDogbnVtYmVyLCBjb250ZW50OiBCdWZmZXIgfCBzdHJpbmcpIHtcbiAgICByZXR1cm4gc3VwZXIuaW5zZXJ0TGVmdChpbmRleCArIHRoaXMuX2RlbHRhLCBjb250ZW50KTtcbiAgfVxuXG4gIG92ZXJyaWRlIGluc2VydFJpZ2h0KGluZGV4OiBudW1iZXIsIGNvbnRlbnQ6IEJ1ZmZlciB8IHN0cmluZykge1xuICAgIHJldHVybiBzdXBlci5pbnNlcnRSaWdodChpbmRleCArIHRoaXMuX2RlbHRhLCBjb250ZW50KTtcbiAgfVxuXG4gIG92ZXJyaWRlIHJlbW92ZShpbmRleDogbnVtYmVyLCBsZW5ndGg6IG51bWJlcikge1xuICAgIHJldHVybiBzdXBlci5yZW1vdmUoaW5kZXggKyB0aGlzLl9kZWx0YSwgbGVuZ3RoKTtcbiAgfVxufVxuIl19
|
|
@@ -28,10 +28,11 @@ export declare abstract class UpdateBufferBase {
|
|
|
28
28
|
/**
|
|
29
29
|
* Creates an UpdateBufferBase instance.
|
|
30
30
|
*
|
|
31
|
+
* @param contentPath The path of the update buffer instance.
|
|
31
32
|
* @param originalContent The original content of the update buffer instance.
|
|
32
33
|
* @returns An UpdateBufferBase instance.
|
|
33
34
|
*/
|
|
34
|
-
static create(originalContent: Buffer): UpdateBufferBase;
|
|
35
|
+
static create(contentPath: string, originalContent: Buffer): UpdateBufferBase;
|
|
35
36
|
}
|
|
36
37
|
/**
|
|
37
38
|
* An utility class that allows buffers to be inserted to the _right or _left, or deleted, while
|
|
@@ -13,6 +13,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
13
13
|
exports.UpdateBuffer = exports.UpdateBufferBase = exports.IndexOutOfBoundException = void 0;
|
|
14
14
|
const core_1 = require("@angular-devkit/core");
|
|
15
15
|
const magic_string_1 = __importDefault(require("magic-string"));
|
|
16
|
+
const node_util_1 = require("node:util");
|
|
16
17
|
class IndexOutOfBoundException extends core_1.BaseException {
|
|
17
18
|
constructor(index, min, max = Infinity) {
|
|
18
19
|
super(`Index ${index} outside of range [${min}, ${max}].`);
|
|
@@ -30,11 +31,22 @@ class UpdateBufferBase {
|
|
|
30
31
|
/**
|
|
31
32
|
* Creates an UpdateBufferBase instance.
|
|
32
33
|
*
|
|
34
|
+
* @param contentPath The path of the update buffer instance.
|
|
33
35
|
* @param originalContent The original content of the update buffer instance.
|
|
34
36
|
* @returns An UpdateBufferBase instance.
|
|
35
37
|
*/
|
|
36
|
-
static create(originalContent) {
|
|
37
|
-
|
|
38
|
+
static create(contentPath, originalContent) {
|
|
39
|
+
try {
|
|
40
|
+
// We only support utf8 encoding.
|
|
41
|
+
new node_util_1.TextDecoder('utf8', { fatal: true }).decode(originalContent);
|
|
42
|
+
return new UpdateBuffer(originalContent);
|
|
43
|
+
}
|
|
44
|
+
catch (e) {
|
|
45
|
+
if (e instanceof TypeError) {
|
|
46
|
+
throw new Error(`Failed to decode "${contentPath}" as UTF-8 text.`);
|
|
47
|
+
}
|
|
48
|
+
throw e;
|
|
49
|
+
}
|
|
38
50
|
}
|
|
39
51
|
}
|
|
40
52
|
exports.UpdateBufferBase = UpdateBufferBase;
|
|
@@ -78,4 +90,4 @@ class UpdateBuffer extends UpdateBufferBase {
|
|
|
78
90
|
}
|
|
79
91
|
}
|
|
80
92
|
exports.UpdateBuffer = UpdateBuffer;
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWJ1ZmZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXJfZGV2a2l0L3NjaGVtYXRpY3Mvc3JjL3V0aWxpdHkvdXBkYXRlLWJ1ZmZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7Ozs7QUFFSCwrQ0FBcUQ7QUFDckQsZ0VBQXVDO0FBQ3ZDLHlDQUF3QztBQUV4QyxNQUFhLHdCQUF5QixTQUFRLG9CQUFhO0lBQ3pELFlBQVksS0FBYSxFQUFFLEdBQVcsRUFBRSxHQUFHLEdBQUcsUUFBUTtRQUNwRCxLQUFLLENBQUMsU0FBUyxLQUFLLHNCQUFzQixHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQztJQUM3RCxDQUFDO0NBQ0Y7QUFKRCw0REFJQztBQUVEOzs7R0FHRztBQUNILE1BQXNCLGdCQUFnQjtJQUNwQyxZQUFzQixnQkFBd0I7UUFBeEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFRO0lBQUcsQ0FBQztJQVNsRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQW1CLEVBQUUsZUFBdUI7UUFDeEQsSUFBSTtZQUNGLGlDQUFpQztZQUNqQyxJQUFJLHVCQUFXLENBQUMsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBRWpFLE9BQU8sSUFBSSxZQUFZLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDMUM7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLElBQUksQ0FBQyxZQUFZLFNBQVMsRUFBRTtnQkFDMUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsV0FBVyxrQkFBa0IsQ0FBQyxDQUFDO2FBQ3JFO1lBRUQsTUFBTSxDQUFDLENBQUM7U0FDVDtJQUNILENBQUM7Q0FDRjtBQS9CRCw0Q0ErQkM7QUFFRDs7O0dBR0c7QUFDSCxNQUFhLFlBQWEsU0FBUSxnQkFBZ0I7SUFBbEQ7O1FBQ1ksc0JBQWlCLEdBQWdCLElBQUksc0JBQVcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQXFDL0YsQ0FBQztJQW5DVyxZQUFZLENBQUMsS0FBYTtRQUNsQyxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUU7WUFDckQsTUFBTSxJQUFJLHdCQUF3QixDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzVFO0lBQ0gsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFDRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYSxFQUFFLE9BQWU7UUFDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWEsRUFBRSxPQUFlO1FBQ3hDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFhLEVBQUUsTUFBYztRQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEtBQUssR0FBRyxNQUFNLENBQUMsQ0FBQztJQUN2RCxDQUFDO0NBQ0Y7QUF0Q0Qsb0NBc0NDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7IEJhc2VFeGNlcHRpb24gfSBmcm9tICdAYW5ndWxhci1kZXZraXQvY29yZSc7XG5pbXBvcnQgTWFnaWNTdHJpbmcgZnJvbSAnbWFnaWMtc3RyaW5nJztcbmltcG9ydCB7IFRleHREZWNvZGVyIH0gZnJvbSAnbm9kZTp1dGlsJztcblxuZXhwb3J0IGNsYXNzIEluZGV4T3V0T2ZCb3VuZEV4Y2VwdGlvbiBleHRlbmRzIEJhc2VFeGNlcHRpb24ge1xuICBjb25zdHJ1Y3RvcihpbmRleDogbnVtYmVyLCBtaW46IG51bWJlciwgbWF4ID0gSW5maW5pdHkpIHtcbiAgICBzdXBlcihgSW5kZXggJHtpbmRleH0gb3V0c2lkZSBvZiByYW5nZSBbJHttaW59LCAke21heH1dLmApO1xuICB9XG59XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgYW4gdXBkYXRlIGJ1ZmZlciBpbXBsZW1lbnRhdGlvbiB0aGF0IGFsbG93cyBidWZmZXJzIHRvIGJlIGluc2VydGVkIHRvIHRoZSBfcmlnaHRcbiAqIG9yIF9sZWZ0LCBvciBkZWxldGVkLCB3aGlsZSBrZWVwaW5nIGluZGljZXMgdG8gdGhlIG9yaWdpbmFsIGJ1ZmZlci5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFVwZGF0ZUJ1ZmZlckJhc2Uge1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX29yaWdpbmFsQ29udGVudDogQnVmZmVyKSB7fVxuICBhYnN0cmFjdCBnZXQgbGVuZ3RoKCk6IG51bWJlcjtcbiAgYWJzdHJhY3QgZ2V0IG9yaWdpbmFsKCk6IEJ1ZmZlcjtcbiAgYWJzdHJhY3QgdG9TdHJpbmcoZW5jb2Rpbmc/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGFic3RyYWN0IGdlbmVyYXRlKCk6IEJ1ZmZlcjtcbiAgYWJzdHJhY3QgaW5zZXJ0TGVmdChpbmRleDogbnVtYmVyLCBjb250ZW50OiBCdWZmZXIsIGFzc2VydD86IGJvb2xlYW4pOiB2b2lkO1xuICBhYnN0cmFjdCBpbnNlcnRSaWdodChpbmRleDogbnVtYmVyLCBjb250ZW50OiBCdWZmZXIsIGFzc2VydD86IGJvb2xlYW4pOiB2b2lkO1xuICBhYnN0cmFjdCByZW1vdmUoaW5kZXg6IG51bWJlciwgbGVuZ3RoOiBudW1iZXIpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIFVwZGF0ZUJ1ZmZlckJhc2UgaW5zdGFuY2UuXG4gICAqXG4gICAqIEBwYXJhbSBjb250ZW50UGF0aCBUaGUgcGF0aCBvZiB0aGUgdXBkYXRlIGJ1ZmZlciBpbnN0YW5jZS5cbiAgICogQHBhcmFtIG9yaWdpbmFsQ29udGVudCBUaGUgb3JpZ2luYWwgY29udGVudCBvZiB0aGUgdXBkYXRlIGJ1ZmZlciBpbnN0YW5jZS5cbiAgICogQHJldHVybnMgQW4gVXBkYXRlQnVmZmVyQmFzZSBpbnN0YW5jZS5cbiAgICovXG4gIHN0YXRpYyBjcmVhdGUoY29udGVudFBhdGg6IHN0cmluZywgb3JpZ2luYWxDb250ZW50OiBCdWZmZXIpOiBVcGRhdGVCdWZmZXJCYXNlIHtcbiAgICB0cnkge1xuICAgICAgLy8gV2Ugb25seSBzdXBwb3J0IHV0ZjggZW5jb2RpbmcuXG4gICAgICBuZXcgVGV4dERlY29kZXIoJ3V0ZjgnLCB7IGZhdGFsOiB0cnVlIH0pLmRlY29kZShvcmlnaW5hbENvbnRlbnQpO1xuXG4gICAgICByZXR1cm4gbmV3IFVwZGF0ZUJ1ZmZlcihvcmlnaW5hbENvbnRlbnQpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGRlY29kZSBcIiR7Y29udGVudFBhdGh9XCIgYXMgVVRGLTggdGV4dC5gKTtcbiAgICAgIH1cblxuICAgICAgdGhyb3cgZTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBBbiB1dGlsaXR5IGNsYXNzIHRoYXQgYWxsb3dzIGJ1ZmZlcnMgdG8gYmUgaW5zZXJ0ZWQgdG8gdGhlIF9yaWdodCBvciBfbGVmdCwgb3IgZGVsZXRlZCwgd2hpbGVcbiAqIGtlZXBpbmcgaW5kaWNlcyB0byB0aGUgb3JpZ2luYWwgYnVmZmVyLlxuICovXG5leHBvcnQgY2xhc3MgVXBkYXRlQnVmZmVyIGV4dGVuZHMgVXBkYXRlQnVmZmVyQmFzZSB7XG4gIHByb3RlY3RlZCBfbXV0YXRhYmxlQ29udGVudDogTWFnaWNTdHJpbmcgPSBuZXcgTWFnaWNTdHJpbmcodGhpcy5fb3JpZ2luYWxDb250ZW50LnRvU3RyaW5nKCkpO1xuXG4gIHByb3RlY3RlZCBfYXNzZXJ0SW5kZXgoaW5kZXg6IG51bWJlcikge1xuICAgIGlmIChpbmRleCA8IDAgfHwgaW5kZXggPiB0aGlzLl9vcmlnaW5hbENvbnRlbnQubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgSW5kZXhPdXRPZkJvdW5kRXhjZXB0aW9uKGluZGV4LCAwLCB0aGlzLl9vcmlnaW5hbENvbnRlbnQubGVuZ3RoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgbGVuZ3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX211dGF0YWJsZUNvbnRlbnQubGVuZ3RoKCk7XG4gIH1cbiAgZ2V0IG9yaWdpbmFsKCk6IEJ1ZmZlciB7XG4gICAgcmV0dXJuIHRoaXMuX29yaWdpbmFsQ29udGVudDtcbiAgfVxuXG4gIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX211dGF0YWJsZUNvbnRlbnQudG9TdHJpbmcoKTtcbiAgfVxuXG4gIGdlbmVyYXRlKCk6IEJ1ZmZlciB7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKHRoaXMudG9TdHJpbmcoKSk7XG4gIH1cblxuICBpbnNlcnRMZWZ0KGluZGV4OiBudW1iZXIsIGNvbnRlbnQ6IEJ1ZmZlcik6IHZvaWQge1xuICAgIHRoaXMuX2Fzc2VydEluZGV4KGluZGV4KTtcbiAgICB0aGlzLl9tdXRhdGFibGVDb250ZW50LmFwcGVuZExlZnQoaW5kZXgsIGNvbnRlbnQudG9TdHJpbmcoKSk7XG4gIH1cblxuICBpbnNlcnRSaWdodChpbmRleDogbnVtYmVyLCBjb250ZW50OiBCdWZmZXIpOiB2b2lkIHtcbiAgICB0aGlzLl9hc3NlcnRJbmRleChpbmRleCk7XG4gICAgdGhpcy5fbXV0YXRhYmxlQ29udGVudC5hcHBlbmRSaWdodChpbmRleCwgY29udGVudC50b1N0cmluZygpKTtcbiAgfVxuXG4gIHJlbW92ZShpbmRleDogbnVtYmVyLCBsZW5ndGg6IG51bWJlcikge1xuICAgIHRoaXMuX2Fzc2VydEluZGV4KGluZGV4KTtcbiAgICB0aGlzLl9tdXRhdGFibGVDb250ZW50LnJlbW92ZShpbmRleCwgaW5kZXggKyBsZW5ndGgpO1xuICB9XG59XG4iXX0=
|