Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/build/lib/bundle.js
3520 views
1
"use strict";
2
Object.defineProperty(exports, "__esModule", { value: true });
3
exports.removeAllTSBoilerplate = removeAllTSBoilerplate;
4
function removeAllTSBoilerplate(source) {
5
const seen = new Array(BOILERPLATE.length).fill(true, 0, BOILERPLATE.length);
6
return removeDuplicateTSBoilerplate(source, seen);
7
}
8
// Taken from typescript compiler => emitFiles
9
const BOILERPLATE = [
10
{ start: /^var __extends/, end: /^}\)\(\);$/ },
11
{ start: /^var __assign/, end: /^};$/ },
12
{ start: /^var __decorate/, end: /^};$/ },
13
{ start: /^var __metadata/, end: /^};$/ },
14
{ start: /^var __param/, end: /^};$/ },
15
{ start: /^var __awaiter/, end: /^};$/ },
16
{ start: /^var __generator/, end: /^};$/ },
17
{ start: /^var __createBinding/, end: /^}\)\);$/ },
18
{ start: /^var __setModuleDefault/, end: /^}\);$/ },
19
{ start: /^var __importStar/, end: /^};$/ },
20
{ start: /^var __addDisposableResource/, end: /^};$/ },
21
{ start: /^var __disposeResources/, end: /^}\);$/ },
22
];
23
function removeDuplicateTSBoilerplate(source, SEEN_BOILERPLATE = []) {
24
const lines = source.split(/\r\n|\n|\r/);
25
const newLines = [];
26
let IS_REMOVING_BOILERPLATE = false, END_BOILERPLATE;
27
for (let i = 0; i < lines.length; i++) {
28
const line = lines[i];
29
if (IS_REMOVING_BOILERPLATE) {
30
newLines.push('');
31
if (END_BOILERPLATE.test(line)) {
32
IS_REMOVING_BOILERPLATE = false;
33
}
34
}
35
else {
36
for (let j = 0; j < BOILERPLATE.length; j++) {
37
const boilerplate = BOILERPLATE[j];
38
if (boilerplate.start.test(line)) {
39
if (SEEN_BOILERPLATE[j]) {
40
IS_REMOVING_BOILERPLATE = true;
41
END_BOILERPLATE = boilerplate.end;
42
}
43
else {
44
SEEN_BOILERPLATE[j] = true;
45
}
46
}
47
}
48
if (IS_REMOVING_BOILERPLATE) {
49
newLines.push('');
50
}
51
else {
52
newLines.push(line);
53
}
54
}
55
}
56
return newLines.join('\n');
57
}
58
//# sourceMappingURL=bundle.js.map
59