Skip to content

Commit ade9021

Browse files
authored
Merge pull request #65 from CodinGame/do-not-use-custom-monaco
update to monaco 0.34
2 parents 6b37402 + e3674c4 commit ade9021

File tree

5 files changed

+523
-659
lines changed

5 files changed

+523
-659
lines changed

browserMock.js

Lines changed: 77 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,83 @@ Object.defineProperty(window, 'ResizeObserver', {
5151
}
5252
})
5353

54+
// These 2 classes come from https://gist.github.com/Yaffle/5458286
5455
Object.defineProperty(window, 'TextEncoder', {
55-
value: class TextObserver {
56-
constructor(stringUrl) {}
57-
encode(src) { return src }
56+
value: class TextEncoder {
57+
encode (string) {
58+
var octets = [];
59+
var length = string.length;
60+
var i = 0;
61+
while (i < length) {
62+
var codePoint = string.codePointAt(i);
63+
var c = 0;
64+
var bits = 0;
65+
if (codePoint <= 0x0000007F) {
66+
c = 0;
67+
bits = 0x00;
68+
} else if (codePoint <= 0x000007FF) {
69+
c = 6;
70+
bits = 0xC0;
71+
} else if (codePoint <= 0x0000FFFF) {
72+
c = 12;
73+
bits = 0xE0;
74+
} else if (codePoint <= 0x001FFFFF) {
75+
c = 18;
76+
bits = 0xF0;
77+
}
78+
octets.push(bits | (codePoint >> c));
79+
c -= 6;
80+
while (c >= 0) {
81+
octets.push(0x80 | ((codePoint >> c) & 0x3F));
82+
c -= 6;
83+
}
84+
i += codePoint >= 0x10000 ? 2 : 1;
85+
}
86+
return Uint8Array.from(octets);
87+
}
5888
}
89+
})
90+
Object.defineProperty(window, 'TextDecoder', {
91+
value: class TextDecoder {
92+
decode (octets) {
93+
var string = "";
94+
var i = 0;
95+
while (i < octets.length) {
96+
var octet = octets[i];
97+
var bytesNeeded = 0;
98+
var codePoint = 0;
99+
if (octet <= 0x7F) {
100+
bytesNeeded = 0;
101+
codePoint = octet & 0xFF;
102+
} else if (octet <= 0xDF) {
103+
bytesNeeded = 1;
104+
codePoint = octet & 0x1F;
105+
} else if (octet <= 0xEF) {
106+
bytesNeeded = 2;
107+
codePoint = octet & 0x0F;
108+
} else if (octet <= 0xF4) {
109+
bytesNeeded = 3;
110+
codePoint = octet & 0x07;
111+
}
112+
if (octets.length - i - bytesNeeded > 0) {
113+
var k = 0;
114+
while (k < bytesNeeded) {
115+
octet = octets[i + k + 1];
116+
codePoint = (codePoint << 6) | (octet & 0x3F);
117+
k += 1;
118+
}
119+
} else {
120+
codePoint = 0xFFFD;
121+
bytesNeeded = octets.length - i;
122+
}
123+
string += String.fromCodePoint(codePoint);
124+
i += bytesNeeded + 1;
125+
}
126+
return string
127+
}
128+
}
129+
})
130+
131+
Object.defineProperty(window, 'Buffer', {
132+
value: undefined
59133
})

0 commit comments

Comments
 (0)