oclif-plugin-completion
Version:
oclif plugin for generating shell completions
29 lines (28 loc) • 952 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getFirstLine = exports.escapeString = exports.template = void 0;
function template(literals, ...keys) {
return (values) => {
const dict = Array.isArray(values)
? values.reduce((dict, value, index) => {
dict[index] = value;
return dict;
}, {})
: values;
const parts = keys.reduce((parts, key, index) => {
const value = `${dict[key]}`;
parts.push(literals[index], value);
return parts;
}, []);
parts.push(literals[literals.length - 1]);
return parts.join('');
};
}
exports.template = template;
exports.escapeString = (string, chars) => {
const pattern = new RegExp(`([${chars}])`, 'g');
return string.replace(pattern, '\\$1');
};
exports.getFirstLine = (string = '') => {
return string.split('\n')[0];
};