| 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 | |