LibAcc: 0.8621=75/87, ProjAcc: 1.0000=31/31, Missing: 101
Module: src/cli/tasks/extract.task
type 𝓟[ty]1{ExtractTaskOptionsInterface} = {replace: 𝓛[ty]8666{Boolean}, verbose: 𝓛[ty]8666{Boolean}, patterns: 𝓛[ty]8670{Array}, clean: 𝓛[ty]8666{Boolean}, sort: 𝓛[ty]8666{Boolean}}
function 𝓟2{CONSTRUCTOR} (𝓟3{_input}: (𝓟[ty]105{AbstractAstParser} ≠ 𝓛[ty]8670{Array}),𝓟4{_output}: (𝓛[ty]10051{String} ≠ 𝓛[ty]8670{Array}),𝓟5{options}: [OOV]𝓟[ty]1{ExtractTaskOptionsInterface}): (𝓟[ty]9{ExtractTask})
{
const 𝓟[ty]9{ExtractTask};
const 𝓟[ty]9{ExtractTask};
𝓟[ty]9{ExtractTask}._parsers ⟵ 𝓛8757{Array}();
𝓟[ty]9{ExtractTask}._options ⟵ {replace: 𝓛8744{Boolean},verbose: 𝓛8744{Boolean},patterns: 𝓛8757{Array}(),clean: 𝓛8744{Boolean},sort: 𝓛8744{Boolean}};
𝓟[ty]9{ExtractTask}._options ⟵ 𝓛8741{Object}.assign({},𝓟[ty]9{ExtractTask}._options,𝓟5{options});
}
class 𝓟[ty]9{ExtractTask} extends 𝓟[ty]339{TaskInterface}{
𝓟11{_options}: [OOV]𝓟[ty]1{ExtractTaskOptionsInterface};
𝓟12{_parsers}: 𝓛[ty]8670{Array};
𝓟13{_compiler}: [OOV]𝓟[ty]306{CompilerInterface};
function 𝓟20{setCompiler} (𝓟21{compiler}: [OOV]𝓟[ty]306{CompilerInterface}): (𝓟22: [OOV]any)
{
𝓟[ty]9{ExtractTask}._compiler ⟵ 𝓟21{compiler};
return 𝓟22 = 𝓟[ty]9{ExtractTask}
}
function 𝓟50{_readDir} (𝓟51{dir}: (𝓛[ty]8655{Number} ≠ 𝓛[ty]10051{String}),𝓟52{patterns}: 𝓛[ty]8670{Array}): (𝓟53: 𝓛[ty]8670{Array})
{
function 𝓟54{$Lambda31} (𝓟55{results},𝓟56{pattern}): (𝓟57: [OOV]any)
{
function 𝓟58{$Lambda32} (𝓟59{path}): (𝓟60: [OOV]any)
{
return 𝓟60 = 𝓛7384{statSync}(𝓟59{path}).isFile()
}
return 𝓟57 = 𝓛42942{sync}(𝓛12641{PlusToken}(𝓟51{dir},𝓟56{pattern})).filter(𝓟58{$Lambda32}).concat(𝓟55{results})
}
return 𝓟53 = 𝓟52{patterns}.reduce(𝓟54{$Lambda31},𝓛8757{Array}())
}
function 𝓟14{execute} (): (𝓟15: 𝓛[ty]10033{Void})
{
if (𝓛12569{ExclamationToken}(𝓟[ty]9{ExtractTask}._parsers))
{
𝓛8749{Error}.CONSTRUCTOR(𝓛8743{String})
}
if (𝓛12569{ExclamationToken}(𝓟[ty]9{ExtractTask}._compiler))
{
𝓛8749{Error}.CONSTRUCTOR(𝓛8743{String})
}
const 𝓟16{collection}: [miss]𝓟[ty]346{TranslationCollection} = 𝓟[ty]9{ExtractTask}._extract();
𝓟[ty]9{ExtractTask}._out(𝓛1{<UNKNOWN>}(𝓛8743{String}),𝓟16{collection}.count())
𝓟[ty]9{ExtractTask}._save(𝓟16{collection})
}
function 𝓟23{_extract} (): (𝓟24: 𝓟[ty]346{TranslationCollection})
{
𝓟[ty]9{ExtractTask}._out(𝓛1{<UNKNOWN>}(𝓛8743{String}))
let 𝓟25{collection}: 𝓟[ty]346{TranslationCollection} = 𝓟341{CONSTRUCTOR}();
function 𝓟26{$Lambda27} (𝓟27{dir}): (𝓟28: [miss]𝓛[ty]10033{Void})
{
function 𝓟29{$Lambda28} (𝓟30{path}): (𝓟31: [miss]𝓛[ty]10033{Void})
{
𝓛12592{AmpersandAmpersandToken}(𝓟[ty]9{ExtractTask}._options.verbose,𝓟[ty]9{ExtractTask}._out(𝓛1{<UNKNOWN>}(𝓛8743{String}),𝓟30{path}))
const 𝓟32{contents}: 𝓛[ty]10051{String} = 𝓛7899{readFileSync}(𝓟30{path},𝓛8743{String});
function 𝓟33{$Lambda29} (𝓟34{parser}: [OOV]𝓟[ty]250{ParserInterface}): (𝓟35: [miss]𝓛[ty]10033{Void})
{
𝓟25{collection} ⟵ 𝓟25{collection}.union(𝓟34{parser}.extract(𝓟32{contents},𝓟30{path}));
}
𝓟[ty]9{ExtractTask}._parsers.forEach(𝓟33{$Lambda29})
}
𝓟[ty]9{ExtractTask}._readDir(𝓟27{dir},𝓟[ty]9{ExtractTask}._options.patterns).forEach(𝓟29{$Lambda28})
}
𝓟[ty]9{ExtractTask}._input.forEach(𝓟26{$Lambda27})
return 𝓟24 = 𝓟25{collection}
}
function 𝓟17{setParsers} (𝓟18{parsers}: (𝓛[ty]8666{Boolean} ≠ 𝓛[ty]8670{Array})): (𝓟19: [OOV]any)
{
𝓟[ty]9{ExtractTask}._parsers ⟵ 𝓟18{parsers};
return 𝓟19 = 𝓟[ty]9{ExtractTask}
}
function 𝓟36{_save} (𝓟37{collection}: 𝓟[ty]346{TranslationCollection}): (𝓟38: 𝓛[ty]10033{Void})
{
function 𝓟39{$Lambda30} (𝓟40{output}): (𝓟41: [miss]𝓛[ty]10033{Void})
{
const 𝓟42{normalizedOutput}: 𝓛[ty]10051{String} = 𝓛2366{resolve}(𝓟40{output});
let 𝓟43{dir}: 𝓛[ty]10051{String} = 𝓟42{normalizedOutput};
let 𝓟44{filename}: 𝓛[ty]10051{String} = 𝓛12607{$Template}(𝓟[ty]9{ExtractTask}._compiler.extension);
if (𝓛12546{BarBarToken}(𝓛12569{ExclamationToken}(𝓛7984{existsSync}(𝓟42{normalizedOutput})),𝓛12569{ExclamationToken}(𝓛7384{statSync}(𝓟42{normalizedOutput}).isDirectory())))
{
𝓟43{dir} ⟵ 𝓛2376{dirname}(𝓟42{normalizedOutput});
𝓟44{filename} ⟵ 𝓛2379{basename}(𝓟42{normalizedOutput});
}
const 𝓟45{outputPath}: 𝓛[ty]10051{String} = 𝓛2363{join}(𝓟43{dir},𝓟44{filename});
let 𝓟46{processedCollection}: 𝓟[ty]346{TranslationCollection} = 𝓟37{collection};
𝓟[ty]9{ExtractTask}._out(𝓛1{<UNKNOWN>}(𝓛8743{String}),𝓟45{outputPath})
if (𝓛12592{AmpersandAmpersandToken}(𝓛7984{existsSync}(𝓟45{outputPath}),𝓛12569{ExclamationToken}(𝓟[ty]9{ExtractTask}._options.replace)))
{
const 𝓟47{existingCollection}: 𝓟[ty]346{TranslationCollection} = 𝓟[ty]9{ExtractTask}._compiler.parse(𝓛7899{readFileSync}(𝓟45{outputPath},𝓛8743{String}));
if (𝓛12569{ExclamationToken}(𝓟47{existingCollection}.isEmpty()))
{
𝓟46{processedCollection} ⟵ 𝓟46{processedCollection}.union(𝓟47{existingCollection});
𝓟[ty]9{ExtractTask}._out(𝓛1{<UNKNOWN>}(𝓛8743{String}),𝓟47{existingCollection}.count())
}
if (𝓟[ty]9{ExtractTask}._options.clean)
{
const 𝓟48{collectionCount}: [miss]𝓛[ty]8655{Number} = 𝓟46{processedCollection}.count();
𝓟46{processedCollection} ⟵ 𝓟46{processedCollection}.intersect(𝓟37{collection});
const 𝓟49{removeCount}: [miss]𝓛[ty]8655{Number} = 𝓛12616{MinusToken}(𝓟48{collectionCount},𝓟46{processedCollection}.count());
if (𝓛12595{GreaterThanToken}(𝓟49{removeCount},𝓛8745{Number}))
{
𝓟[ty]9{ExtractTask}._out(𝓛1{<UNKNOWN>}(𝓛8743{String}),𝓟49{removeCount})
}
}
}
if (𝓟[ty]9{ExtractTask}._options.sort)
{
𝓟46{processedCollection} ⟵ 𝓟46{processedCollection}.sort();
𝓟[ty]9{ExtractTask}._out(𝓛1{<UNKNOWN>}(𝓛8743{String}))
}
if (𝓛12569{ExclamationToken}(𝓛7984{existsSync}(𝓟43{dir})))
{
𝓛46443{sync}(𝓟43{dir})
𝓟[ty]9{ExtractTask}._out(𝓛1{<UNKNOWN>}(𝓛8743{String}),𝓟43{dir})
}
𝓛7919{writeFileSync}(𝓟45{outputPath},𝓟[ty]9{ExtractTask}._compiler.compile(𝓟46{processedCollection}))
𝓟[ty]9{ExtractTask}._out(𝓛1{<UNKNOWN>}(𝓛8743{String}))
}
𝓟[ty]9{ExtractTask}._output.forEach(𝓟39{$Lambda30})
}
function 𝓟61{_out} (𝓟62{args}: 𝓛[ty]8670{Array}): (𝓟63: 𝓛[ty]10033{Void})
{
𝓛1{<UNKNOWN>}.apply(𝓟[ty]9{ExtractTask},𝓛10035{arguments})
}
}
Module: src/index
Module: src/parsers/abstract-ast.parser
function 𝓟101{CONSTRUCTOR} (): (𝓟[ty]105{AbstractAstParser})
{
const 𝓟[ty]105{AbstractAstParser};
const 𝓟[ty]105{AbstractAstParser};
}
class 𝓟[ty]105{AbstractAstParser}{
𝓟107{_sourceFile}: [OOV]𝓛[ty]2{<UNKNOWN>};
function 𝓟108{_createSourceFile} (𝓟109{path}: 𝓛[ty]10051{String},𝓟110{contents}: 𝓛[ty]10051{String}): (𝓟111: [OOV]𝓛[ty]2{<UNKNOWN>})
{
return 𝓟111 = 𝓛1{<UNKNOWN>}(𝓟109{path},𝓟110{contents},𝓛12643{undefined},𝓛8744{Boolean})
}
function 𝓟132{_printAllChildren} (𝓟133{sourceFile}: [OOV]𝓛[ty]2{<UNKNOWN>},𝓟134{node}: [OOV]𝓛[ty]2{<UNKNOWN>},𝓟135{depth}): (𝓟136: 𝓛[ty]10033{Void})
{
𝓛1{<UNKNOWN>}(𝓛8757{Array}.CONSTRUCTOR(𝓛12641{PlusToken}(𝓟135{depth},𝓛8745{Number})).join(𝓛8743{String}),𝓛12607{$Template}(𝓟134{node}.kind),𝓟[ty]105{AbstractAstParser}._syntaxKindToName(𝓟134{node}.kind),𝓛12607{$Template}(𝓟134{node}.pos,𝓟134{node}.end),𝓛8743{String},𝓟134{node}.getFullText(𝓟133{sourceFile}).trim())
𝓛12556{POST_PlusPlusToken}(𝓟135{depth})
function 𝓟137{$Lambda8} (𝓟138{childNode}): (𝓟139: [miss]𝓛[ty]10033{Void})
{
return 𝓟139 = 𝓟[ty]105{AbstractAstParser}._printAllChildren(𝓟133{sourceFile},𝓟138{childNode},𝓟135{depth})
}
𝓟134{node}.getChildren(𝓟133{sourceFile}).forEach(𝓟137{$Lambda8})
}
function 𝓟129{_syntaxKindToName} (𝓟130{kind}: [OOV]𝓛[ty]2{<UNKNOWN>}): (𝓟131: (𝓟[ty]346{TranslationCollection} ≠ 𝓛[ty]10051{String}))
{
return 𝓟131 = 𝓛1{<UNKNOWN>}.access(𝓟130{kind})
}
function 𝓟119{_findNodes} (𝓟120{node}: [OOV]𝓛[ty]2{<UNKNOWN>},𝓟121{kind}: [OOV]𝓛[ty]2{<UNKNOWN>}): (𝓟122: (𝓛[ty]8642{Object} ≠ 𝓛[ty]8670{Array}))
{
const 𝓟123{childrenNodes}: 𝓛[ty]8670{Array} = 𝓟120{node}.getChildren(𝓟[ty]105{AbstractAstParser}._sourceFile);
const 𝓟124{initialValue}: 𝓛[ty]8670{Array} = (𝓛12559{EqualsEqualsEqualsToken}(𝓟120{node}.kind,𝓟121{kind}) ? 𝓛8757{Array}(𝓟120{node}) : 𝓛8757{Array}();
function 𝓟125{$Lambda7} (𝓟126{result}: 𝓛[ty]8670{Array},𝓟127{childNode}: [OOV]𝓛[ty]2{<UNKNOWN>}): (𝓟128: [miss]𝓛[ty]8670{Array})
{
return 𝓟128 = 𝓟126{result}.concat(𝓟[ty]105{AbstractAstParser}._findNodes(𝓟127{childNode},𝓟121{kind}))
}
return 𝓟122 = 𝓟123{childrenNodes}.reduce(𝓟125{$Lambda7},𝓟124{initialValue})
}
function 𝓟112{_getCallArgStrings} (𝓟113{callNode}: [OOV]𝓛[ty]2{<UNKNOWN>}): (𝓟114: 𝓛[ty]8670{Array})
{
if (𝓛12569{ExclamationToken}(𝓟113{callNode}.arguments.length))
{
}
const 𝓟115{firstArg}: [OOV]𝓛[ty]2{<UNKNOWN>} = 𝓟113{callNode}.arguments.access(𝓛8745{Number});
𝓛12577{$Switch}(𝓟115{firstArg}.kind)
𝓛12634{$Case}(𝓛1{<UNKNOWN>}.StringLiteral)
𝓛12634{$Case}(𝓛1{<UNKNOWN>}.FirstTemplateToken)
return 𝓟114 = 𝓛8757{Array}(𝓟115{firstArg} as 𝓛[ty]2{<UNKNOWN>}.text)
𝓛12634{$Case}(𝓛1{<UNKNOWN>}.ArrayLiteralExpression)
function 𝓟116{$Lambda6} (𝓟117{element}: [OOV]𝓛[ty]2{<UNKNOWN>}): (𝓟118: [miss]𝓛[ty]10051{String})
{
return 𝓟118 = 𝓟117{element}.text
}
return 𝓟114 = 𝓟115{firstArg} as 𝓛[ty]2{<UNKNOWN>}.elements.map(𝓟116{$Lambda6})
𝓛12634{$Case}(𝓛1{<UNKNOWN>}.Identifier)
𝓛1{<UNKNOWN>}(𝓛8743{String})
𝓛1{<UNKNOWN>}(𝓛12607{$Template}(𝓟[ty]105{AbstractAstParser}._syntaxKindToName(𝓟115{firstArg}.kind)),𝓟115{firstArg})
}
}
Module: src/parsers/service.parser
function 𝓟140{CONSTRUCTOR} (): (𝓟[ty]144{ServiceParser})
{
const 𝓟[ty]144{ServiceParser};
const 𝓟[ty]144{ServiceParser};
}
class 𝓟[ty]144{ServiceParser} extends 𝓟[ty]105{AbstractAstParser} with 𝓟[ty]250{ParserInterface}{
𝓟146{_sourceFile}: [OOV]𝓛[ty]2{<UNKNOWN>};
function 𝓟175{_findConstructorNode} (𝓟176{node}: [OOV]𝓛[ty]2{<UNKNOWN>}): (𝓟177: [OOV]𝓛[ty]2{<UNKNOWN>})
{
const 𝓟178{constructorNodes}: [miss]𝓛[ty]8670{Array} = 𝓟[ty]144{ServiceParser}._findNodes(𝓟176{node},𝓛1{<UNKNOWN>}.Constructor) as 𝓛[ty]8670{Array};
if (𝓟178{constructorNodes})
{
return 𝓟177 = 𝓟178{constructorNodes}.access(𝓛8745{Number})
}
}
function 𝓟172{_findClassNodes} (𝓟173{node}: [OOV]𝓛[ty]2{<UNKNOWN>}): (𝓟174: 𝓛[ty]8670{Array})
{
return 𝓟174 = 𝓟[ty]144{ServiceParser}._findNodes(𝓟173{node},𝓛1{<UNKNOWN>}.ClassDeclaration) as 𝓛[ty]8670{Array}
}
function 𝓟163{_findTranslateServicePropertyName} (𝓟164{constructorNode}: [OOV]𝓛[ty]2{<UNKNOWN>}): (𝓟165: 𝓛[ty]10051{String})
{
if (𝓛12569{ExclamationToken}(𝓟164{constructorNode}))
{
return 𝓟165 = 𝓛12643{undefined}
}
function 𝓟166{$Lambda18} (𝓟167{parameter}): (𝓟168: [miss]𝓛[ty]8666{Boolean})
{
if (𝓛12569{ExclamationToken}(𝓟167{parameter}.modifiers))
{
return 𝓟168 = 𝓛8744{Boolean}
}
if (𝓛12569{ExclamationToken}(𝓟167{parameter}.type))
{
return 𝓟168 = 𝓛8744{Boolean}
}
const 𝓟169{parameterType}: [OOV]𝓛[ty]2{<UNKNOWN>} = 𝓟167{parameter}.type as 𝓛[ty]2{<UNKNOWN>}.typeName as 𝓛[ty]2{<UNKNOWN>};
if (𝓛12569{ExclamationToken}(𝓟169{parameterType}))
{
return 𝓟168 = 𝓛8744{Boolean}
}
const 𝓟170{className}: 𝓛[ty]10051{String} = 𝓟169{parameterType}.text;
if (𝓛12612{ExclamationEqualsEqualsToken}(𝓟170{className},𝓛8743{String}))
{
return 𝓟168 = 𝓛8744{Boolean}
}
return 𝓟168 = 𝓛8744{Boolean}
}
const 𝓟171{result}: [OOV]𝓛[ty]2{<UNKNOWN>} = 𝓟164{constructorNode}.parameters.find(𝓟166{$Lambda18});
if (𝓟171{result})
{
return 𝓟165 = 𝓟171{result}.name as 𝓛[ty]2{<UNKNOWN>}.text
}
}
function 𝓟179{_findCallNodes} (𝓟180{node}: [OOV]𝓛[ty]2{<UNKNOWN>},𝓟181{propertyIdentifier}: 𝓛[ty]10051{String}): (𝓟182: 𝓛[ty]8670{Array})
{
let 𝓟183{callNodes}: [miss]𝓛[ty]8670{Array} = 𝓟[ty]144{ServiceParser}._findNodes(𝓟180{node},𝓛1{<UNKNOWN>}.CallExpression) as 𝓛[ty]8670{Array};
function 𝓟184{$Lambda19} (𝓟185{callNode}): (𝓟186: [miss]𝓛[ty]8666{Boolean})
{
if (𝓛1{<UNKNOWN>}(𝓟185{callNode}.arguments.length,𝓛8745{Number}))
{
return 𝓟186 = 𝓛8744{Boolean}
}
const 𝓟187{propAccess}: [OOV]𝓛[ty]2{<UNKNOWN>} = 𝓟185{callNode}.getChildAt(𝓛8745{Number}).getChildAt(𝓛8745{Number}) as 𝓛[ty]2{<UNKNOWN>};
if (𝓛12546{BarBarToken}(𝓛12569{ExclamationToken}(𝓟187{propAccess}),𝓛12612{ExclamationEqualsEqualsToken}(𝓟187{propAccess}.kind,𝓛1{<UNKNOWN>}.PropertyAccessExpression)))
{
return 𝓟186 = 𝓛8744{Boolean}
}
if (𝓛12546{BarBarToken}(𝓛12569{ExclamationToken}(𝓟187{propAccess}.getFirstToken()),𝓛12612{ExclamationEqualsEqualsToken}(𝓟187{propAccess}.getFirstToken().kind,𝓛1{<UNKNOWN>}.ThisKeyword)))
{
return 𝓟186 = 𝓛8744{Boolean}
}
if (𝓛12612{ExclamationEqualsEqualsToken}(𝓟187{propAccess}.name.text,𝓟181{propertyIdentifier}))
{
return 𝓟186 = 𝓛8744{Boolean}
}
const 𝓟188{methodAccess}: [OOV]𝓛[ty]2{<UNKNOWN>} = 𝓟185{callNode}.getChildAt(𝓛8745{Number}) as 𝓛[ty]2{<UNKNOWN>};
if (𝓛12546{BarBarToken}(𝓛12569{ExclamationToken}(𝓟188{methodAccess}),𝓛12612{ExclamationEqualsEqualsToken}(𝓟188{methodAccess}.kind,𝓛1{<UNKNOWN>}.PropertyAccessExpression)))
{
return 𝓟186 = 𝓛8744{Boolean}
}
if (𝓛12546{BarBarToken}(𝓛12569{ExclamationToken}(𝓟188{methodAccess}.name),𝓛12592{AmpersandAmpersandToken}(𝓛12592{AmpersandAmpersandToken}(𝓛12612{ExclamationEqualsEqualsToken}(𝓟188{methodAccess}.name.text,𝓛8743{String}),𝓛12612{ExclamationEqualsEqualsToken}(𝓟188{methodAccess}.name.text,𝓛8743{String})),𝓛12612{ExclamationEqualsEqualsToken}(𝓟188{methodAccess}.name.text,𝓛8743{String}))))
{
return 𝓟186 = 𝓛8744{Boolean}
}
return 𝓟186 = 𝓛8744{Boolean}
}
𝓟183{callNodes} ⟵ 𝓟183{callNodes}.filter(𝓟184{$Lambda19});
return 𝓟182 = 𝓟183{callNodes}
}
function 𝓟147{extract} (𝓟148{contents}: 𝓛[ty]10051{String},𝓟149{path}: 𝓛[ty]10051{String}): (𝓟150: 𝓟[ty]346{TranslationCollection})
{
let 𝓟151{collection}: 𝓟[ty]346{TranslationCollection} = 𝓟341{CONSTRUCTOR}();
𝓟[ty]144{ServiceParser}._sourceFile ⟵ 𝓟[ty]144{ServiceParser}._createSourceFile(𝓟149{path},𝓟148{contents});
const 𝓟152{classNodes}: [miss]𝓛[ty]8670{Array} = 𝓟[ty]144{ServiceParser}._findClassNodes(𝓟[ty]144{ServiceParser}._sourceFile);
function 𝓟153{$Lambda16} (𝓟154{classNode}): (𝓟155: [miss]𝓛[ty]10033{Void})
{
const 𝓟156{constructorNode}: [OOV]𝓛[ty]2{<UNKNOWN>} = 𝓟[ty]144{ServiceParser}._findConstructorNode(𝓟154{classNode});
if (𝓛12569{ExclamationToken}(𝓟156{constructorNode}))
{
}
const 𝓟157{propertyName}: 𝓛[ty]10051{String} = 𝓟[ty]144{ServiceParser}._findTranslateServicePropertyName(𝓟156{constructorNode});
if (𝓛12569{ExclamationToken}(𝓟157{propertyName}))
{
}
const 𝓟158{callNodes}: [miss]𝓛[ty]8670{Array} = 𝓟[ty]144{ServiceParser}._findCallNodes(𝓟154{classNode},𝓟157{propertyName});
function 𝓟159{$Lambda17} (𝓟160{callNode}): (𝓟161: [miss]𝓛[ty]10033{Void})
{
const 𝓟162{keys}: 𝓛[ty]8670{Array} = 𝓟[ty]144{ServiceParser}._getCallArgStrings(𝓟160{callNode});
if (𝓛12592{AmpersandAmpersandToken}(𝓟162{keys},𝓟162{keys}.length))
{
𝓟151{collection} ⟵ 𝓟151{collection}.addKeys(𝓟162{keys});
}
}
𝓟158{callNodes}.forEach(𝓟159{$Lambda17})
}
𝓟152{classNodes}.forEach(𝓟153{$Lambda16})
return 𝓟150 = 𝓟151{collection}
}
}
Module: src/compilers/po.compiler
function 𝓟189{CONSTRUCTOR} (𝓟190{options}: [OOV]any): (𝓟[ty]194{PoCompiler})
{
const 𝓟[ty]194{PoCompiler};
const 𝓟[ty]194{PoCompiler};
𝓟[ty]194{PoCompiler}.domain ⟵ 𝓛8743{String};
𝓟[ty]194{PoCompiler}.extension ⟵ 𝓛8743{String};
}
class 𝓟[ty]194{PoCompiler} extends 𝓟[ty]306{CompilerInterface}{
𝓟196{extension}: [miss]𝓛[ty]10051{String};
𝓟197{domain}: [miss]𝓛[ty]10051{String};
function 𝓟198{compile} (𝓟199{collection}: 𝓟[ty]346{TranslationCollection}): (𝓟200: (𝓟[ty]346{TranslationCollection} ≠ 𝓛[ty]10051{String}))
{
function 𝓟201{$Lambda3} (𝓟202{translations},𝓟203{key}): (𝓟204: [OOV]any)
{
𝓟202{translations}.access(𝓟203{key}) ⟵ {msgid: 𝓟203{key},msgstr: 𝓟199{collection}.get(𝓟203{key})};
return 𝓟204 = 𝓟202{translations}
}
const 𝓟205{data}: [miss]𝓛[ty]8642{Object} = {charset: 𝓛8743{String},headers: {'mime-version': 𝓛8743{String},'content-type': 𝓛8743{String},'content-transfer-encoding': 𝓛8743{String}},translations: {[this.domain]: 𝓛8741{Object}.keys(𝓟199{collection}.values).reduce(𝓟201{$Lambda3},{} as any)}};
return 𝓟200 = 𝓛1{<UNKNOWN>}.compile(𝓟205{data},𝓛8743{String})
}
function 𝓟206{parse} (𝓟207{contents}: 𝓛[ty]10051{String}): (𝓟208: 𝓟[ty]346{TranslationCollection})
{
const 𝓟209{collection}: [miss]𝓟[ty]346{TranslationCollection} = 𝓟341{CONSTRUCTOR}();
const 𝓟210{po} = 𝓛1{<UNKNOWN>}.parse(𝓟207{contents},𝓛8743{String});
if (𝓛12569{ExclamationToken}(𝓟210{po}.translations.hasOwnProperty(𝓟[ty]194{PoCompiler}.domain)))
{
return 𝓟208 = 𝓟209{collection}
}
function 𝓟211{$Lambda4} (𝓟212{key}): (𝓟213: [miss]𝓛[ty]8666{Boolean})
{
return 𝓟213 = 𝓛12595{GreaterThanToken}(𝓟212{key}.length,𝓛8745{Number})
}
function 𝓟214{$Lambda5} (𝓟215{values},𝓟216{key}): (𝓟217: [OOV]𝓟[ty]340{TranslationType})
{
𝓟215{values}.access(𝓟216{key}) ⟵ 𝓟210{po}.translations.access(𝓟[ty]194{PoCompiler}.domain).access(𝓟216{key}).msgstr.pop();
return 𝓟217 = 𝓟215{values}
}
const 𝓟218{values}: [OOV]𝓟[ty]340{TranslationType} = 𝓛8741{Object}.keys(𝓟210{po}.translations.access(𝓟[ty]194{PoCompiler}.domain)).filter(𝓟211{$Lambda4}).reduce(𝓟214{$Lambda5},{} as 𝓟[ty]340{TranslationType});
return 𝓟208 = 𝓟341{CONSTRUCTOR}(𝓟218{values})
}
}
Module: src/parsers/abstract-template.parser
function 𝓟236{CONSTRUCTOR} (): (𝓟[ty]240{AbstractTemplateParser})
{
const 𝓟[ty]240{AbstractTemplateParser};
const 𝓟[ty]240{AbstractTemplateParser};
}
class 𝓟[ty]240{AbstractTemplateParser}{
function 𝓟242{_isAngularComponent} (𝓟243{path}: 𝓛[ty]10051{String}): (𝓟244: 𝓛[ty]8666{Boolean})
{
return 𝓟244 = 𝓛8748{RegExp}.test(𝓟243{path})
}
function 𝓟245{_extractInlineTemplate} (𝓟246{contents}: 𝓛[ty]10051{String}): (𝓟247: 𝓛[ty]10051{String})
{
const 𝓟248{regExp}: 𝓛[ty]8662{RegExp} = 𝓛8748{RegExp};
const 𝓟249{match}: [OOV]𝓛[ty]8682{RegExpExecArray} = 𝓟248{regExp}.exec(𝓟246{contents});
if (𝓛12612{ExclamationEqualsEqualsToken}(𝓟249{match},𝓛12643{undefined}))
{
return 𝓟247 = 𝓟249{match}.access(𝓛8745{Number})
}
return 𝓟247 = 𝓛8743{String}
}
}
Module: src/cli/cli
function 𝓟277{$Lambda0} (𝓟278{options}): (𝓟279: [miss]𝓛[ty]8666{Boolean})
{
function 𝓟280{$Lambda1} (𝓟281{dir}: 𝓛[ty]10051{String}): (𝓟282: [miss]𝓛[ty]10033{Void})
{
if (𝓛12546{BarBarToken}(𝓛12569{ExclamationToken}(𝓛7984{existsSync}(𝓟281{dir})),𝓛12569{ExclamationToken}(𝓛7384{statSync}(𝓟281{dir}).isDirectory())))
{
𝓛8749{Error}.CONSTRUCTOR(𝓛12607{$Template}(𝓟281{dir}))
}
}
𝓟278{options}.input.forEach(𝓟280{$Lambda1})
return 𝓟279 = 𝓛8744{Boolean}
}
const 𝓟283{cli} = 𝓛1{<UNKNOWN>}(𝓛8743{String}).version(𝓛10097{require}(𝓛12641{PlusToken}(𝓛10058{__dirname},𝓛8743{String})).version).alias(𝓛8743{String},𝓛8743{String}).help(𝓛8743{String}).alias(𝓛8743{String},𝓛8743{String}).option(𝓛8743{String},{normalize: 𝓛8744{Boolean},describe: 𝓛8743{String},alias: 𝓛8743{String},default: 𝓛1{<UNKNOWN>}.PWD,type: 𝓛8743{String}}).check(𝓟277{$Lambda0}).option(𝓛8743{String},{alias: 𝓛8743{String},describe: 𝓛8743{String},type: 𝓛8743{String},default: 𝓛8757{Array}(𝓛8743{String},𝓛8743{String})}).option(𝓛8743{String},{normalize: 𝓛8744{Boolean},describe: 𝓛8743{String},alias: 𝓛8743{String},type: 𝓛8743{String},required: 𝓛8744{Boolean}}).option(𝓛8743{String},{alias: 𝓛8743{String},describe: 𝓛8743{String},default: 𝓛8744{Boolean},type: 𝓛8743{String}}).option(𝓛8743{String},{choices: 𝓛8757{Array}(𝓛8743{String},𝓛8743{String},𝓛8743{String}),describe: 𝓛8743{String},alias: 𝓛8743{String},default: 𝓛8743{String},type: 𝓛8743{String}}).option(𝓛8743{String},{alias: 𝓛8743{String},describe: 𝓛8743{String},default: 𝓛8743{String},type: 𝓛8743{String}}).option(𝓛8743{String},{alias: 𝓛8743{String},describe: 𝓛8743{String},default: 𝓛8744{Boolean},type: 𝓛8743{String}}).option(𝓛8743{String},{alias: 𝓛8743{String},describe: 𝓛8743{String},default: 𝓛8744{Boolean},type: 𝓛8743{String}}).option(𝓛8743{String},{alias: 𝓛8743{String},describe: 𝓛8743{String},default: 𝓛8744{Boolean},type: 𝓛8743{String}}).option(𝓛8743{String},{alias: 𝓛8743{String},describe: 𝓛8743{String},default: 𝓛8744{Boolean},type: 𝓛8743{String}}).exitProcess(𝓛8744{Boolean}).parse(𝓛1{<UNKNOWN>});
const 𝓟284{extract}: [miss]𝓟[ty]9{ExtractTask} = 𝓟2{CONSTRUCTOR}(𝓟283{cli}.input,𝓟283{cli}.output,{replace: 𝓟283{cli}.replace,sort: 𝓟283{cli}.sort,clean: 𝓟283{cli}.clean,patterns: 𝓟283{cli}.patterns});
const 𝓟285{compiler}: [OOV]𝓟[ty]306{CompilerInterface} = 𝓟333{create}(𝓟283{cli}.format,{indentation: 𝓟283{cli}.formatIndentation});
𝓟284{extract}.setCompiler(𝓟285{compiler})
const 𝓟286{parsers}: 𝓛[ty]8670{Array} = 𝓛8757{Array}(𝓟290{CONSTRUCTOR}(),𝓟65{CONSTRUCTOR}(),𝓟140{CONSTRUCTOR}());
if (𝓟283{cli}.marker)
{
𝓟286{parsers}.push(𝓟251{CONSTRUCTOR}({identifier: 𝓟283{cli}.marker}))
}
𝓟284{extract}.setParsers(𝓟286{parsers})
𝓟284{extract}.execute()
Module: src/utils/utils
function 𝓟287{_} (𝓟288{key}: [OOV]any): (𝓟289: [OOV]any)
{
return 𝓟289 = 𝓟288{key}
}
Module: src/cli/tasks/task.interface
type 𝓟[ty]339{TaskInterface} = {execute: ()->𝓛[ty]10033{Void}}
Module: src/utils/translation.collection
type 𝓟[ty]340{TranslationType} = {access: (𝓛[ty]10051{String})->𝓛[ty]10051{String}}
function 𝓟341{CONSTRUCTOR} (𝓟342{values}: [OOV]𝓟[ty]340{TranslationType}): (𝓟[ty]346{TranslationCollection})
{
const 𝓟[ty]346{TranslationCollection};
const 𝓟[ty]346{TranslationCollection};
𝓟[ty]346{TranslationCollection}.values ⟵ {};
𝓟[ty]346{TranslationCollection}.values ⟵ 𝓟342{values};
}
class 𝓟[ty]346{TranslationCollection}{
𝓟348{values}: [OOV]𝓟[ty]340{TranslationType};
function 𝓟403{count} (): (𝓟404: 𝓛[ty]8655{Number})
{
return 𝓟404 = 𝓛8741{Object}.keys(𝓟[ty]346{TranslationCollection}.values).length
}
function 𝓟381{union} (𝓟382{collection}: 𝓟[ty]346{TranslationCollection}): (𝓟383: 𝓟[ty]346{TranslationCollection})
{
return 𝓟383 = 𝓟341{CONSTRUCTOR}(𝓛8741{Object}.assign({},𝓟[ty]346{TranslationCollection}.values,𝓟382{collection}.values))
}
function 𝓟384{intersect} (𝓟385{collection}: 𝓟[ty]346{TranslationCollection}): (𝓟386: 𝓟[ty]346{TranslationCollection})
{
let 𝓟387{values}: [OOV]𝓟[ty]340{TranslationType} = {};
function 𝓟388{$Lambda24} (𝓟389{key}): (𝓟390: [miss]𝓛[ty]8666{Boolean})
{
return 𝓟390 = 𝓟385{collection}.has(𝓟389{key})
}
function 𝓟391{$Lambda25} (𝓟392{key}: 𝓛[ty]10051{String},𝓟393{val}: 𝓛[ty]10051{String}): (𝓟394: [miss]𝓛[ty]10033{Void})
{
𝓟387{values}.access(𝓟392{key}) ⟵ 𝓟393{val};
}
𝓟[ty]346{TranslationCollection}.filter(𝓟388{$Lambda24}).forEach(𝓟391{$Lambda25})
return 𝓟386 = 𝓟341{CONSTRUCTOR}(𝓟387{values})
}
function 𝓟395{has} (𝓟396{key}: 𝓛[ty]10051{String}): (𝓟397: 𝓛[ty]8666{Boolean})
{
return 𝓟397 = 𝓟[ty]346{TranslationCollection}.values.hasOwnProperty(𝓟396{key})
}
function 𝓟367{forEach} (𝓟368{callback}: 𝓛[ty]8696{Function}): (𝓟369: 𝓟[ty]346{TranslationCollection})
{
function 𝓟370{$Lambda22} (𝓟371{key}): (𝓟372: [OOV]any)
{
return 𝓟372 = 𝓟368{callback}.call(𝓟[ty]346{TranslationCollection},𝓟371{key},𝓟[ty]346{TranslationCollection}.values.access(𝓟371{key}))
}
𝓛8741{Object}.keys(𝓟[ty]346{TranslationCollection}.values).forEach(𝓟370{$Lambda22})
return 𝓟369 = 𝓟[ty]346{TranslationCollection}
}
function 𝓟353{addKeys} (𝓟354{keys}: 𝓛[ty]8670{Array}): (𝓟355: 𝓟[ty]346{TranslationCollection})
{
function 𝓟356{$Lambda20} (𝓟357{results},𝓟358{key}): (𝓟359: [OOV]𝓟[ty]340{TranslationType})
{
𝓟357{results}.access(𝓟358{key}) ⟵ 𝓛8743{String};
return 𝓟359 = 𝓟357{results}
}
const 𝓟360{values}: [OOV]𝓟[ty]340{TranslationType} = 𝓟354{keys}.reduce(𝓟356{$Lambda20},{} as 𝓟[ty]340{TranslationType});
return 𝓟355 = 𝓟341{CONSTRUCTOR}(𝓛8741{Object}.assign({},𝓟[ty]346{TranslationCollection}.values,𝓟360{values}))
}
function 𝓟373{filter} (𝓟374{callback}: 𝓛[ty]8696{Function}): (𝓟375: 𝓟[ty]346{TranslationCollection})
{
let 𝓟376{values}: [OOV]𝓟[ty]340{TranslationType} = {};
function 𝓟377{$Lambda23} (𝓟378{key}: 𝓛[ty]10051{String},𝓟379{val}: 𝓛[ty]10051{String}): (𝓟380: [miss]𝓛[ty]10033{Void})
{
if (𝓟374{callback}.call(𝓟[ty]346{TranslationCollection},𝓟378{key},𝓟379{val}))
{
𝓟376{values}.access(𝓟378{key}) ⟵ 𝓟379{val};
}
}
𝓟[ty]346{TranslationCollection}.forEach(𝓟377{$Lambda23})
return 𝓟375 = 𝓟341{CONSTRUCTOR}(𝓟376{values})
}
function 𝓟361{remove} (𝓟362{key}: 𝓛[ty]10051{String}): (𝓟363: 𝓟[ty]346{TranslationCollection})
{
function 𝓟364{$Lambda21} (𝓟365{k}): (𝓟366: [miss]𝓛[ty]8666{Boolean})
{
return 𝓟366 = 𝓛12612{ExclamationEqualsEqualsToken}(𝓟362{key},𝓟365{k})
}
return 𝓟363 = 𝓟[ty]346{TranslationCollection}.filter(𝓟364{$Lambda21})
}
function 𝓟398{get} (𝓟399{key}: 𝓛[ty]10051{String}): (𝓟400: (𝓟[ty]346{TranslationCollection} ≠ 𝓛[ty]10051{String}))
{
return 𝓟400 = 𝓟[ty]346{TranslationCollection}.values.access(𝓟399{key})
}
function 𝓟407{sort} (𝓟408{compareFn}: (𝓛[ty]10051{String} ≠ 𝓛[ty]8696{Function})): (𝓟409: 𝓟[ty]346{TranslationCollection})
{
let 𝓟410{values}: [OOV]𝓟[ty]340{TranslationType} = {};
function 𝓟411{$Lambda26} (𝓟412{key}): (𝓟413: [miss]𝓛[ty]10033{Void})
{
𝓟410{values}.access(𝓟412{key}) ⟵ 𝓟[ty]346{TranslationCollection}.get(𝓟412{key});
}
𝓟[ty]346{TranslationCollection}.keys().sort(𝓟408{compareFn}).forEach(𝓟411{$Lambda26})
return 𝓟409 = 𝓟341{CONSTRUCTOR}(𝓟410{values})
}
function 𝓟405{isEmpty} (): (𝓟406: 𝓛[ty]8666{Boolean})
{
return 𝓟406 = 𝓛12559{EqualsEqualsEqualsToken}(𝓛8741{Object}.keys(𝓟[ty]346{TranslationCollection}.values).length,𝓛8745{Number})
}
function 𝓟349{add} (𝓟350{key}: 𝓛[ty]10051{String},𝓟351{val}: 𝓛[ty]10051{String}): (𝓟352: 𝓟[ty]346{TranslationCollection})
{
return 𝓟352 = 𝓟341{CONSTRUCTOR}(𝓛8741{Object}.assign({},𝓟[ty]346{TranslationCollection}.values,{[key]: 𝓟351{val}}))
}
function 𝓟401{keys} (): (𝓟402: 𝓛[ty]8670{Array})
{
return 𝓟402 = 𝓛8741{Object}.keys(𝓟[ty]346{TranslationCollection}.values)
}
}