本文整理匯總了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};
}