14
15
constructor(
17
>
private readonly _bom: string,
18
>
private readonly _cr: number,
19
>
private readonly _lf: number,
20
>
private readonly _crlf: number,
21
>
private readonly _containsRTL: boolean,
22
>
private readonly _containsUnusualLineTerminators: boolean,
23
>
private readonly _isBasicASCII: boolean,
24
>
private readonly _normalizeEOL: boolean
25
>
) { }
26
27
private _getEOL(defaultEOL: DefaultEndOfLine): '\r\n' | '\n' {
29
>
const totalCRCount = this._cr + this._crlf;
30
>
if (totalEOLCount === 0) {
31
// This is an empty file or a file with precisely one line
32
return (defaultEOL === DefaultEndOfLine.LF ? '\n' : '\r\n');