本文整理汇总了TypeScript中detect-newline.default函数的典型用法代码示例。如果您正苦于以下问题:TypeScript default函数的具体用法?TypeScript default怎么用?TypeScript default使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了default函数的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: print
export function print({
comments = '',
pragmas = {},
}: {
comments?: string;
pragmas?: Pragmas;
}): string {
const line = detectNewline(comments) || EOL;
const head = '/**';
const start = ' *';
const tail = ' */';
const keys = Object.keys(pragmas);
const printedObject = keys
.map(key => printKeyValues(key, pragmas[key]))
.reduce((arr, next) => arr.concat(next), [])
.map(keyValue => start + ' ' + keyValue + line)
.join('');
if (!comments) {
if (keys.length === 0) {
return '';
}
if (keys.length === 1 && !Array.isArray(pragmas[keys[0]])) {
const value = pragmas[keys[0]];
return `${head} ${printKeyValues(keys[0], value)[0]}${tail}`;
}
}
const printedComments =
comments
.split(line)
.map(textLine => `${start} ${textLine}`)
.join(line) + line;
return (
head +
line +
(comments ? printedComments : '') +
(comments && keys.length ? start + line : '') +
printedObject +
tail
);
}
示例2: parseWithComments
export function parseWithComments(
docblock: string,
): {comments: string; pragmas: Pragmas} {
const line = detectNewline(docblock) || EOL;
docblock = docblock
.replace(commentStartRe, '')
.replace(commentEndRe, '')
.replace(stringStartRe, '$1');
// Normalize multi-line directives
let prev = '';
while (prev !== docblock) {
prev = docblock;
docblock = docblock.replace(multilineRe, `${line}$1 $2${line}`);
}
docblock = docblock.replace(ltrimNewlineRe, '').trimRight();
const result = Object.create(null);
const comments = docblock
.replace(propertyRe, '')
.replace(ltrimNewlineRe, '')
.trimRight();
let match;
while ((match = propertyRe.exec(docblock))) {
// strip linecomments from pragmas
const nextPragma = match[2].replace(lineCommentRe, '');
if (
typeof result[match[1]] === 'string' ||
Array.isArray(result[match[1]])
) {
result[match[1]] = ([] as Array<string>).concat(
result[match[1]],
nextPragma,
);
} else {
result[match[1]] = nextPragma;
}
}
return {comments, pragmas: result};
}