|
123456789101112131415161718192021 |
- 'use strict';
-
- const detectNewline = string => {
- if (typeof string !== 'string') {
- throw new TypeError('Expected a string');
- }
-
- const newlines = string.match(/(?:\r?\n)/g) || [];
-
- if (newlines.length === 0) {
- return;
- }
-
- const crlf = newlines.filter(newline => newline === '\r\n').length;
- const lf = newlines.length - crlf;
-
- return crlf > lf ? '\r\n' : '\n';
- };
-
- module.exports = detectNewline;
- module.exports.graceful = string => (typeof string === 'string' && detectNewline(string)) || '\n';
|