const { EOL } = require('os') | |
const getFirstRegexpMatchOrDefault = (text, regexp, defaultValue) => { | |
regexp.lastIndex = 0 // https://stackoverflow.com/a/11477448/4536543 | |
let match = regexp.exec(text) | |
if (match !== null) { | |
return match[1] | |
} else { | |
return defaultValue | |
} | |
} | |
const DEFAULT_INDENT = ' ' | |
const INDENT_REGEXP = /^([ \t]+)[^\s]/m | |
module.exports.detectIndent = text => | |
getFirstRegexpMatchOrDefault(text, INDENT_REGEXP, DEFAULT_INDENT) | |
module.exports.DEFAULT_INDENT = DEFAULT_INDENT | |
const DEFAULT_EOL = EOL | |
const EOL_REGEXP = /(\r\n|\n|\r)/g | |
module.exports.detectEOL = text => | |
getFirstRegexpMatchOrDefault(text, EOL_REGEXP, DEFAULT_EOL) | |
module.exports.DEFAULT_EOL = DEFAULT_EOL | |