@angular/localize 13.0.0-next.9 → 13.0.0-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{esm2015/index.js → esm2020/index.mjs} +0 -0
- package/esm2020/init/index.mjs +12 -0
- package/{esm2015/localize.js → esm2020/localize.mjs} +0 -0
- package/{esm2015/private.js → esm2020/private.mjs} +0 -0
- package/{esm2015/src/localize/index.js → esm2020/src/localize/index.mjs} +0 -0
- package/{esm2015/src/localize/src/global.js → esm2020/src/localize/src/global.mjs} +0 -0
- package/{esm2015/src/localize/src/localize.js → esm2020/src/localize/src/localize.mjs} +2 -2
- package/{esm2015/src/translate.js → esm2020/src/translate.mjs} +0 -0
- package/{esm2015/src/utils/index.js → esm2020/src/utils/index.mjs} +0 -0
- package/{esm2015/src/utils/src/constants.js → esm2020/src/utils/src/constants.mjs} +0 -0
- package/esm2020/src/utils/src/messages.mjs +159 -0
- package/{esm2015/src/utils/src/translations.js → esm2020/src/utils/src/translations.mjs} +0 -0
- package/fesm2015/{init.js → init.mjs} +3 -3
- package/fesm2015/init.mjs.map +1 -0
- package/fesm2015/{localize.js → localize.mjs} +7 -7
- package/fesm2015/localize.mjs.map +1 -0
- package/fesm2020/init.mjs +204 -0
- package/fesm2020/init.mjs.map +1 -0
- package/fesm2020/localize.mjs +449 -0
- package/fesm2020/localize.mjs.map +1 -0
- package/init/index.d.ts +1 -1
- package/init/package.json +5 -5
- package/package.json +43 -18
- package/schematics/ng-add/index.js +1 -1
- package/src/localize/src/localize.d.ts +1 -1
- package/src/utils/src/messages.d.ts +1 -1
- package/tools/README.md +4 -0
- package/tools/bundles/index.js +1929 -0
- package/tools/bundles/index.js.map +6 -0
- package/tools/bundles/src/extract/cli.js +1278 -0
- package/tools/bundles/src/extract/cli.js.map +6 -0
- package/tools/bundles/src/migrate/cli.js +77 -0
- package/tools/bundles/src/migrate/cli.js.map +6 -0
- package/tools/bundles/src/translate/cli.js +1340 -0
- package/tools/bundles/src/translate/cli.js.map +6 -0
- package/tools/bundles_metadata.json +1 -0
- package/tools/index.d.ts +26 -0
- package/tools/src/babel_core.d.ts +38 -0
- package/{src/tools → tools}/src/diagnostics.d.ts +1 -1
- package/tools/src/extract/cli.d.ts +10 -0
- package/{src/tools → tools}/src/extract/duplicates.d.ts +2 -2
- package/{src/tools → tools}/src/extract/extraction.d.ts +2 -3
- package/{src/tools/src/extract/main.d.ts → tools/src/extract/index.d.ts} +2 -4
- package/{src/tools → tools}/src/extract/source_files/es2015_extract_plugin.d.ts +3 -3
- package/{src/tools → tools}/src/extract/source_files/es5_extract_plugin.d.ts +3 -3
- package/{src/tools → tools}/src/extract/translation_files/arb_translation_serializer.d.ts +2 -2
- package/{src/tools → tools}/src/extract/translation_files/format_options.d.ts +1 -1
- package/{src/tools → tools}/src/extract/translation_files/icu_parsing.d.ts +1 -1
- package/{src/tools → tools}/src/extract/translation_files/json_translation_serializer.d.ts +1 -1
- package/{src/tools → tools}/src/extract/translation_files/legacy_message_id_migration_serializer.d.ts +1 -1
- package/{src/tools → tools}/src/extract/translation_files/translation_serializer.d.ts +1 -1
- package/{src/tools → tools}/src/extract/translation_files/utils.d.ts +1 -1
- package/{src/tools → tools}/src/extract/translation_files/xliff1_translation_serializer.d.ts +2 -2
- package/{src/tools → tools}/src/extract/translation_files/xliff2_translation_serializer.d.ts +2 -2
- package/{src/tools → tools}/src/extract/translation_files/xmb_translation_serializer.d.ts +2 -2
- package/{src/tools → tools}/src/extract/translation_files/xml_file.d.ts +1 -1
- package/tools/src/migrate/cli.d.ts +10 -0
- package/{src/tools/src/migrate/main.d.ts → tools/src/migrate/index.d.ts} +9 -3
- package/{src/tools → tools}/src/migrate/migrate.d.ts +1 -1
- package/{src/tools → tools}/src/source_file_utils.d.ts +3 -3
- package/{src/tools → tools}/src/translate/asset_files/asset_translation_handler.d.ts +2 -2
- package/tools/src/translate/cli.d.ts +3 -0
- package/{src/tools/src/translate/main.d.ts → tools/src/translate/index.d.ts} +1 -2
- package/{src/tools → tools}/src/translate/output_path.d.ts +2 -2
- package/{src/tools → tools}/src/translate/source_files/es2015_translate_plugin.d.ts +3 -3
- package/{src/tools → tools}/src/translate/source_files/es5_translate_plugin.d.ts +3 -3
- package/{src/tools → tools}/src/translate/source_files/locale_plugin.d.ts +2 -2
- package/{src/tools → tools}/src/translate/source_files/source_file_translation_handler.d.ts +2 -2
- package/{src/tools → tools}/src/translate/translation_files/base_visitor.d.ts +1 -1
- package/{src/tools → tools}/src/translate/translation_files/message_serialization/message_renderer.d.ts +1 -1
- package/{src/tools → tools}/src/translate/translation_files/message_serialization/message_serializer.d.ts +1 -1
- package/{src/tools → tools}/src/translate/translation_files/message_serialization/target_message_renderer.d.ts +1 -1
- package/{src/tools → tools}/src/translate/translation_files/translation_loader.d.ts +2 -2
- package/{src/tools → tools}/src/translate/translation_files/translation_parsers/arb_translation_parser.d.ts +1 -1
- package/{src/tools → tools}/src/translate/translation_files/translation_parsers/serialize_translation_message.d.ts +1 -1
- package/{src/tools → tools}/src/translate/translation_files/translation_parsers/simple_json_translation_parser.d.ts +1 -1
- package/{src/tools → tools}/src/translate/translation_files/translation_parsers/translation_parse_error.d.ts +1 -1
- package/{src/tools → tools}/src/translate/translation_files/translation_parsers/translation_parser.d.ts +2 -2
- package/{src/tools → tools}/src/translate/translation_files/translation_parsers/translation_utils.d.ts +1 -1
- package/{src/tools → tools}/src/translate/translation_files/translation_parsers/xliff1_translation_parser.d.ts +1 -1
- package/{src/tools → tools}/src/translate/translation_files/translation_parsers/xliff2_translation_parser.d.ts +1 -1
- package/{src/tools → tools}/src/translate/translation_files/translation_parsers/xtb_translation_parser.d.ts +1 -1
- package/{src/tools → tools}/src/translate/translator.d.ts +2 -2
- package/bundles/localize-init.umd.js +0 -218
- package/bundles/localize-init.umd.js.map +0 -1
- package/bundles/localize.umd.js +0 -782
- package/bundles/localize.umd.js.map +0 -1
- package/esm2015/init/index.js +0 -12
- package/esm2015/init/init.externs.js +0 -0
- package/esm2015/localize.externs.js +0 -0
- package/esm2015/src/localize/localize.externs.js +0 -0
- package/esm2015/src/utils/src/messages.js +0 -159
- package/esm2015/src/utils/utils.externs.js +0 -0
- package/fesm2015/init.js.map +0 -1
- package/fesm2015/localize.js.map +0 -1
- package/init.d.ts +0 -7
- package/src/tools/src/diagnostics.js +0 -68
- package/src/tools/src/extract/duplicates.js +0 -84
- package/src/tools/src/extract/extraction.js +0 -134
- package/src/tools/src/extract/main.js +0 -184
- package/src/tools/src/extract/source_files/es2015_extract_plugin.js +0 -36
- package/src/tools/src/extract/source_files/es5_extract_plugin.js +0 -49
- package/src/tools/src/extract/translation_files/arb_translation_serializer.js +0 -107
- package/src/tools/src/extract/translation_files/format_options.js +0 -52
- package/src/tools/src/extract/translation_files/icu_parsing.js +0 -224
- package/src/tools/src/extract/translation_files/json_translation_serializer.js +0 -47
- package/src/tools/src/extract/translation_files/legacy_message_id_migration_serializer.js +0 -63
- package/src/tools/src/extract/translation_files/translation_serializer.js +0 -13
- package/src/tools/src/extract/translation_files/utils.js +0 -102
- package/src/tools/src/extract/translation_files/xliff1_translation_serializer.js +0 -242
- package/src/tools/src/extract/translation_files/xliff2_translation_serializer.js +0 -231
- package/src/tools/src/extract/translation_files/xmb_translation_serializer.js +0 -139
- package/src/tools/src/extract/translation_files/xml_file.js +0 -117
- package/src/tools/src/migrate/main.js +0 -79
- package/src/tools/src/migrate/migrate.js +0 -48
- package/src/tools/src/source_file_utils.js +0 -443
- package/src/tools/src/translate/asset_files/asset_translation_handler.js +0 -65
- package/src/tools/src/translate/main.js +0 -157
- package/src/tools/src/translate/output_path.js +0 -28
- package/src/tools/src/translate/source_files/es2015_translate_plugin.js +0 -60
- package/src/tools/src/translate/source_files/es5_translate_plugin.js +0 -58
- package/src/tools/src/translate/source_files/locale_plugin.js +0 -95
- package/src/tools/src/translate/source_files/source_file_translation_handler.js +0 -127
- package/src/tools/src/translate/translation_files/base_visitor.js +0 -31
- package/src/tools/src/translate/translation_files/message_serialization/message_renderer.js +0 -20
- package/src/tools/src/translate/translation_files/message_serialization/message_serializer.js +0 -100
- package/src/tools/src/translate/translation_files/message_serialization/target_message_renderer.js +0 -84
- package/src/tools/src/translate/translation_files/translation_loader.js +0 -148
- package/src/tools/src/translate/translation_files/translation_parsers/arb_translation_parser.js +0 -111
- package/src/tools/src/translate/translation_files/translation_parsers/serialize_translation_message.js +0 -32
- package/src/tools/src/translate/translation_files/translation_parsers/simple_json_translation_parser.js +0 -96
- package/src/tools/src/translate/translation_files/translation_parsers/translation_parse_error.js +0 -47
- package/src/tools/src/translate/translation_files/translation_parsers/translation_parser.js +0 -13
- package/src/tools/src/translate/translation_files/translation_parsers/translation_utils.js +0 -175
- package/src/tools/src/translate/translation_files/translation_parsers/xliff1_translation_parser.js +0 -175
- package/src/tools/src/translate/translation_files/translation_parsers/xliff2_translation_parser.js +0 -166
- package/src/tools/src/translate/translation_files/translation_parsers/xtb_translation_parser.js +0 -133
- package/src/tools/src/translate/translator.js +0 -53
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
(function (factory) {
|
|
2
|
-
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
-
var v = factory(require, exports);
|
|
4
|
-
if (v !== undefined) module.exports = v;
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define("@angular/localize/src/tools/src/translate/source_files/source_file_translation_handler", ["require", "exports", "tslib", "@angular/compiler-cli/src/ngtsc/file_system", "@babel/core", "@angular/localize/src/tools/src/translate/source_files/es2015_translate_plugin", "@angular/localize/src/tools/src/translate/source_files/es5_translate_plugin", "@angular/localize/src/tools/src/translate/source_files/locale_plugin"], factory);
|
|
8
|
-
}
|
|
9
|
-
})(function (require, exports) {
|
|
10
|
-
"use strict";
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.SourceFileTranslationHandler = void 0;
|
|
13
|
-
var tslib_1 = require("tslib");
|
|
14
|
-
/**
|
|
15
|
-
* @license
|
|
16
|
-
* Copyright Google LLC All Rights Reserved.
|
|
17
|
-
*
|
|
18
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
19
|
-
* found in the LICENSE file at https://angular.io/license
|
|
20
|
-
*/
|
|
21
|
-
var file_system_1 = require("@angular/compiler-cli/src/ngtsc/file_system");
|
|
22
|
-
var core_1 = require("@babel/core");
|
|
23
|
-
var es2015_translate_plugin_1 = require("@angular/localize/src/tools/src/translate/source_files/es2015_translate_plugin");
|
|
24
|
-
var es5_translate_plugin_1 = require("@angular/localize/src/tools/src/translate/source_files/es5_translate_plugin");
|
|
25
|
-
var locale_plugin_1 = require("@angular/localize/src/tools/src/translate/source_files/locale_plugin");
|
|
26
|
-
/**
|
|
27
|
-
* Translate a file by inlining all messages tagged by `$localize` with the appropriate translated
|
|
28
|
-
* message.
|
|
29
|
-
*/
|
|
30
|
-
var SourceFileTranslationHandler = /** @class */ (function () {
|
|
31
|
-
function SourceFileTranslationHandler(fs, translationOptions) {
|
|
32
|
-
if (translationOptions === void 0) { translationOptions = {}; }
|
|
33
|
-
this.fs = fs;
|
|
34
|
-
this.translationOptions = translationOptions;
|
|
35
|
-
this.sourceLocaleOptions = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, this.translationOptions), { missingTranslation: 'ignore' });
|
|
36
|
-
}
|
|
37
|
-
SourceFileTranslationHandler.prototype.canTranslate = function (relativeFilePath, _contents) {
|
|
38
|
-
return this.fs.extname(relativeFilePath) === '.js';
|
|
39
|
-
};
|
|
40
|
-
SourceFileTranslationHandler.prototype.translate = function (diagnostics, sourceRoot, relativeFilePath, contents, outputPathFn, translations, sourceLocale) {
|
|
41
|
-
var e_1, _a, e_2, _b;
|
|
42
|
-
var sourceCode = Buffer.from(contents).toString('utf8');
|
|
43
|
-
// A short-circuit check to avoid parsing the file into an AST if it does not contain any
|
|
44
|
-
// `$localize` identifiers.
|
|
45
|
-
if (!sourceCode.includes('$localize')) {
|
|
46
|
-
try {
|
|
47
|
-
for (var translations_1 = (0, tslib_1.__values)(translations), translations_1_1 = translations_1.next(); !translations_1_1.done; translations_1_1 = translations_1.next()) {
|
|
48
|
-
var translation = translations_1_1.value;
|
|
49
|
-
this.writeSourceFile(diagnostics, outputPathFn, translation.locale, relativeFilePath, contents);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
53
|
-
finally {
|
|
54
|
-
try {
|
|
55
|
-
if (translations_1_1 && !translations_1_1.done && (_a = translations_1.return)) _a.call(translations_1);
|
|
56
|
-
}
|
|
57
|
-
finally { if (e_1) throw e_1.error; }
|
|
58
|
-
}
|
|
59
|
-
if (sourceLocale !== undefined) {
|
|
60
|
-
this.writeSourceFile(diagnostics, outputPathFn, sourceLocale, relativeFilePath, contents);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
var ast = (0, core_1.parseSync)(sourceCode, { sourceRoot: sourceRoot, filename: relativeFilePath });
|
|
65
|
-
if (!ast) {
|
|
66
|
-
diagnostics.error("Unable to parse source file: " + this.fs.join(sourceRoot, relativeFilePath));
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
try {
|
|
70
|
-
// Output a translated copy of the file for each locale.
|
|
71
|
-
for (var translations_2 = (0, tslib_1.__values)(translations), translations_2_1 = translations_2.next(); !translations_2_1.done; translations_2_1 = translations_2.next()) {
|
|
72
|
-
var translationBundle = translations_2_1.value;
|
|
73
|
-
this.translateFile(diagnostics, ast, translationBundle, sourceRoot, relativeFilePath, outputPathFn, this.translationOptions);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
77
|
-
finally {
|
|
78
|
-
try {
|
|
79
|
-
if (translations_2_1 && !translations_2_1.done && (_b = translations_2.return)) _b.call(translations_2);
|
|
80
|
-
}
|
|
81
|
-
finally { if (e_2) throw e_2.error; }
|
|
82
|
-
}
|
|
83
|
-
if (sourceLocale !== undefined) {
|
|
84
|
-
// Also output a copy of the file for the source locale.
|
|
85
|
-
// There will be no translations - by definition - so we "ignore" `missingTranslations`.
|
|
86
|
-
this.translateFile(diagnostics, ast, { locale: sourceLocale, translations: {} }, sourceRoot, relativeFilePath, outputPathFn, this.sourceLocaleOptions);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
SourceFileTranslationHandler.prototype.translateFile = function (diagnostics, ast, translationBundle, sourceRoot, filename, outputPathFn, options) {
|
|
91
|
-
var translated = (0, core_1.transformFromAstSync)(ast, undefined, {
|
|
92
|
-
compact: true,
|
|
93
|
-
generatorOpts: { minified: true },
|
|
94
|
-
plugins: [
|
|
95
|
-
(0, locale_plugin_1.makeLocalePlugin)(translationBundle.locale),
|
|
96
|
-
(0, es2015_translate_plugin_1.makeEs2015TranslatePlugin)(diagnostics, translationBundle.translations, options, this.fs),
|
|
97
|
-
(0, es5_translate_plugin_1.makeEs5TranslatePlugin)(diagnostics, translationBundle.translations, options, this.fs),
|
|
98
|
-
],
|
|
99
|
-
cwd: sourceRoot,
|
|
100
|
-
filename: filename,
|
|
101
|
-
});
|
|
102
|
-
if (translated && translated.code) {
|
|
103
|
-
this.writeSourceFile(diagnostics, outputPathFn, translationBundle.locale, filename, translated.code);
|
|
104
|
-
var outputPath = (0, file_system_1.absoluteFrom)(outputPathFn(translationBundle.locale, filename));
|
|
105
|
-
this.fs.ensureDir(this.fs.dirname(outputPath));
|
|
106
|
-
this.fs.writeFile(outputPath, translated.code);
|
|
107
|
-
}
|
|
108
|
-
else {
|
|
109
|
-
diagnostics.error("Unable to translate source file: " + this.fs.join(sourceRoot, filename));
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
};
|
|
113
|
-
SourceFileTranslationHandler.prototype.writeSourceFile = function (diagnostics, outputPathFn, locale, relativeFilePath, contents) {
|
|
114
|
-
try {
|
|
115
|
-
var outputPath = (0, file_system_1.absoluteFrom)(outputPathFn(locale, relativeFilePath));
|
|
116
|
-
this.fs.ensureDir(this.fs.dirname(outputPath));
|
|
117
|
-
this.fs.writeFile(outputPath, contents);
|
|
118
|
-
}
|
|
119
|
-
catch (e) {
|
|
120
|
-
diagnostics.error(e.message);
|
|
121
|
-
}
|
|
122
|
-
};
|
|
123
|
-
return SourceFileTranslationHandler;
|
|
124
|
-
}());
|
|
125
|
-
exports.SourceFileTranslationHandler = SourceFileTranslationHandler;
|
|
126
|
-
});
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlX2ZpbGVfdHJhbnNsYXRpb25faGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2xvY2FsaXplL3NyYy90b29scy9zcmMvdHJhbnNsYXRlL3NvdXJjZV9maWxlcy9zb3VyY2VfZmlsZV90cmFuc2xhdGlvbl9oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7SUFBQTs7Ozs7O09BTUc7SUFDSCwyRUFBa0g7SUFDbEgsb0NBQTREO0lBUTVELDBIQUFvRTtJQUNwRSxvSEFBOEQ7SUFDOUQsc0dBQWlEO0lBRWpEOzs7T0FHRztJQUNIO1FBR0Usc0NBQW9CLEVBQWMsRUFBVSxrQkFBK0M7WUFBL0MsbUNBQUEsRUFBQSx1QkFBK0M7WUFBdkUsT0FBRSxHQUFGLEVBQUUsQ0FBWTtZQUFVLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBNkI7WUFGbkYsd0JBQW1CLG1EQUNNLElBQUksQ0FBQyxrQkFBa0IsS0FBRSxrQkFBa0IsRUFBRSxRQUFRLElBQUU7UUFDTSxDQUFDO1FBRS9GLG1EQUFZLEdBQVosVUFBYSxnQkFBNEMsRUFBRSxTQUFxQjtZQUM5RSxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEtBQUssS0FBSyxDQUFDO1FBQ3JELENBQUM7UUFFRCxnREFBUyxHQUFULFVBQ0ksV0FBd0IsRUFBRSxVQUEwQixFQUFFLGdCQUE2QixFQUNuRixRQUFvQixFQUFFLFlBQTBCLEVBQUUsWUFBaUMsRUFDbkYsWUFBcUI7O1lBQ3ZCLElBQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzFELHlGQUF5RjtZQUN6RiwyQkFBMkI7WUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUU7O29C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LElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDaEQ7aUJBQU07Z0JBQ0wsV0FBVyxDQUFDLEtBQUssQ0FBQyxzQ0FBb0MsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBRyxDQUFDLENBQUM7Z0JBQzVGLE9BQU87YUFDUjtRQUNILENBQUM7UUFFTyxzREFBZSxHQUF2QixVQUNJLFdBQXdCLEVBQUUsWUFBMEIsRUFBRSxNQUFjLEVBQ3BFLGdCQUE2QixFQUFFLFFBQTJCO1lBQzVELElBQUk7Z0JBQ0YsSUFBTSxVQUFVLEdBQUcsSUFBQSwwQkFBWSxFQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO2dCQUN4RSxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUMvQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7YUFDekM7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDVixXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUM5QjtRQUNILENBQUM7UUFDSCxtQ0FBQztJQUFELENBQUMsQUFyRkQsSUFxRkM7SUFyRlksb0VBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQge2Fic29sdXRlRnJvbSwgQWJzb2x1dGVGc1BhdGgsIEZpbGVTeXN0ZW0sIFBhdGhTZWdtZW50fSBmcm9tICdAYW5ndWxhci9jb21waWxlci1jbGkvc3JjL25ndHNjL2ZpbGVfc3lzdGVtJztcbmltcG9ydCB7cGFyc2VTeW5jLCB0cmFuc2Zvcm1Gcm9tQXN0U3luY30gZnJvbSAnQGJhYmVsL2NvcmUnO1xuaW1wb3J0IHtGaWxlLCBQcm9ncmFtfSBmcm9tICdAYmFiZWwvdHlwZXMnO1xuXG5pbXBvcnQge0RpYWdub3N0aWNzfSBmcm9tICcuLi8uLi9kaWFnbm9zdGljcyc7XG5pbXBvcnQge1RyYW5zbGF0ZVBsdWdpbk9wdGlvbnN9IGZyb20gJy4uLy4uL3NvdXJjZV9maWxlX3V0aWxzJztcbmltcG9ydCB7T3V0cHV0UGF0aEZufSBmcm9tICcuLi9vdXRwdXRfcGF0aCc7XG5pbXBvcnQge1RyYW5zbGF0aW9uQnVuZGxlLCBUcmFuc2xhdGlvbkhhbmRsZXJ9IGZyb20gJy4uL3RyYW5zbGF0b3InO1xuXG5pbXBvcnQge21ha2VFczIwMTVUcmFuc2xhdGVQbHVnaW59IGZyb20gJy4vZXMyMDE1X3RyYW5zbGF0ZV9wbHVnaW4nO1xuaW1wb3J0IHttYWtlRXM1VHJhbnNsYXRlUGx1Z2lufSBmcm9tICcuL2VzNV90cmFuc2xhdGVfcGx1Z2luJztcbmltcG9ydCB7bWFrZUxvY2FsZVBsdWdpbn0gZnJvbSAnLi9sb2NhbGVfcGx1Z2luJztcblxuLyoqXG4gKiBUcmFuc2xhdGUgYSBmaWxlIGJ5IGlubGluaW5nIGFsbCBtZXNzYWdlcyB0YWdnZWQgYnkgYCRsb2NhbGl6ZWAgd2l0aCB0aGUgYXBwcm9wcmlhdGUgdHJhbnNsYXRlZFxuICogbWVzc2FnZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNvdXJjZUZpbGVUcmFuc2xhdGlvbkhhbmRsZXIgaW1wbGVtZW50cyBUcmFuc2xhdGlvbkhhbmRsZXIge1xuICBwcml2YXRlIHNvdXJjZUxvY2FsZU9wdGlvbnM6XG4gICAgICBUcmFuc2xhdGVQbHVnaW5PcHRpb25zID0gey4uLnRoaXMudHJhbnNsYXRpb25PcHRpb25zLCBtaXNzaW5nVHJhbnNsYXRpb246ICdpZ25vcmUnfTtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmczogRmlsZVN5c3RlbSwgcHJpdmF0ZSB0cmFuc2xhdGlvbk9wdGlvbnM6IFRyYW5zbGF0ZVBsdWdpbk9wdGlvbnMgPSB7fSkge31cblxuICBjYW5UcmFuc2xhdGUocmVsYXRpdmVGaWxlUGF0aDogUGF0aFNlZ21lbnR8QWJzb2x1dGVGc1BhdGgsIF9jb250ZW50czogVWludDhBcnJheSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZzLmV4dG5hbWUocmVsYXRpdmVGaWxlUGF0aCkgPT09ICcuanMnO1xuICB9XG5cbiAgdHJhbnNsYXRlKFxuICAgICAgZGlhZ25vc3RpY3M6IERpYWdub3N0aWNzLCBzb3VyY2VSb290OiBBYnNvbHV0ZUZzUGF0aCwgcmVsYXRpdmVGaWxlUGF0aDogUGF0aFNlZ21lbnQsXG4gICAgICBjb250ZW50czogVWludDhBcnJheSwgb3V0cHV0UGF0aEZuOiBPdXRwdXRQYXRoRm4sIHRyYW5zbGF0aW9uczogVHJhbnNsYXRpb25CdW5kbGVbXSxcbiAgICAgIHNvdXJjZUxvY2FsZT86IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHNvdXJjZUNvZGUgPSBCdWZmZXIuZnJvbShjb250ZW50cykudG9TdHJpbmcoJ3V0ZjgnKTtcbiAgICAvLyBBIHNob3J0LWNpcmN1aXQgY2hlY2sgdG8gYXZvaWQgcGFyc2luZyB0aGUgZmlsZSBpbnRvIGFuIEFTVCBpZiBpdCBkb2VzIG5vdCBjb250YWluIGFueVxuICAgIC8vIGAkbG9jYWxpemVgIGlkZW50aWZpZXJzLlxuICAgIGlmICghc291cmNlQ29kZS5pbmNsdWRlcygnJGxvY2FsaXplJykpIHtcbiAgICAgIGZvciAoY29uc3QgdHJhbnNsYXRpb24gb2YgdHJhbnNsYXRpb25zKSB7XG4gICAgICAgIHRoaXMud3JpdGVTb3VyY2VGaWxlKFxuICAgICAgICAgICAgZGlhZ25vc3RpY3MsIG91dHB1dFBhdGhGbiwgdHJhbnNsYXRpb24ubG9jYWxlLCByZWxhdGl2ZUZpbGVQYXRoLCBjb250ZW50cyk7XG4gICAgICB9XG4gICAgICBpZiAoc291cmNlTG9jYWxlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy53cml0ZVNvdXJjZUZpbGUoZGlhZ25vc3RpY3MsIG91dHB1dFBhdGhGbiwgc291cmNlTG9jYWxlLCByZWxhdGl2ZUZpbGVQYXRoLCBjb250ZW50cyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGFzdCA9IHBhcnNlU3luYyhzb3VyY2VDb2RlLCB7c291cmNlUm9vdCwgZmlsZW5hbWU6IHJlbGF0aXZlRmlsZVBhdGh9KTtcbiAgICAgIGlmICghYXN0KSB7XG4gICAgICAgIGRpYWdub3N0aWNzLmVycm9yKFxuICAgICAgICAgICAgYFVuYWJsZSB0byBwYXJzZSBzb3VyY2UgZmlsZTogJHt0aGlzLmZzLmpvaW4oc291cmNlUm9vdCwgcmVsYXRpdmVGaWxlUGF0aCl9YCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIC8vIE91dHB1dCBhIHRyYW5zbGF0ZWQgY29weSBvZiB0aGUgZmlsZSBmb3IgZWFjaCBsb2NhbGUuXG4gICAgICBmb3IgKGNvbnN0IHRyYW5zbGF0aW9uQnVuZGxlIG9mIHRyYW5zbGF0aW9ucykge1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZUZpbGUoXG4gICAgICAgICAgICBkaWFnbm9zdGljcywgYXN0LCB0cmFuc2xhdGlvbkJ1bmRsZSwgc291cmNlUm9vdCwgcmVsYXRpdmVGaWxlUGF0aCwgb3V0cHV0UGF0aEZuLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGlvbk9wdGlvbnMpO1xuICAgICAgfVxuICAgICAgaWYgKHNvdXJjZUxvY2FsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIC8vIEFsc28gb3V0cHV0IGEgY29weSBvZiB0aGUgZmlsZSBmb3IgdGhlIHNvdXJjZSBsb2NhbGUuXG4gICAgICAgIC8vIFRoZXJlIHdpbGwgYmUgbm8gdHJhbnNsYXRpb25zIC0gYnkgZGVmaW5pdGlvbiAtIHNvIHdlIFwiaWdub3JlXCIgYG1pc3NpbmdUcmFuc2xhdGlvbnNgLlxuICAgICAgICB0aGlzLnRyYW5zbGF0ZUZpbGUoXG4gICAgICAgICAgICBkaWFnbm9zdGljcywgYXN0LCB7bG9jYWxlOiBzb3VyY2VMb2NhbGUsIHRyYW5zbGF0aW9uczoge319LCBzb3VyY2VSb290LFxuICAgICAgICAgICAgcmVsYXRpdmVGaWxlUGF0aCwgb3V0cHV0UGF0aEZuLCB0aGlzLnNvdXJjZUxvY2FsZU9wdGlvbnMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNsYXRlRmlsZShcbiAgICAgIGRpYWdub3N0aWNzOiBEaWFnbm9zdGljcywgYXN0OiBGaWxlfFByb2dyYW0sIHRyYW5zbGF0aW9uQnVuZGxlOiBUcmFuc2xhdGlvbkJ1bmRsZSxcbiAgICAgIHNvdXJjZVJvb3Q6IEFic29sdXRlRnNQYXRoLCBmaWxlbmFtZTogUGF0aFNlZ21lbnQsIG91dHB1dFBhdGhGbjogT3V0cHV0UGF0aEZuLFxuICAgICAgb3B0aW9uczogVHJhbnNsYXRlUGx1Z2luT3B0aW9ucykge1xuICAgIGNvbnN0IHRyYW5zbGF0ZWQgPSB0cmFuc2Zvcm1Gcm9tQXN0U3luYyhhc3QsIHVuZGVmaW5lZCwge1xuICAgICAgY29tcGFjdDogdHJ1ZSxcbiAgICAgIGdlbmVyYXRvck9wdHM6IHttaW5pZmllZDogdHJ1ZX0sXG4gICAgICBwbHVnaW5zOiBbXG4gICAgICAgIG1ha2VMb2NhbGVQbHVnaW4odHJhbnNsYXRpb25CdW5kbGUubG9jYWxlKSxcbiAgICAgICAgbWFrZUVzMjAxNVRyYW5zbGF0ZVBsdWdpbihkaWFnbm9zdGljcywgdHJhbnNsYXRpb25CdW5kbGUudHJhbnNsYXRpb25zLCBvcHRpb25zLCB0aGlzLmZzKSxcbiAgICAgICAgbWFrZUVzNVRyYW5zbGF0ZVBsdWdpbihkaWFnbm9zdGljcywgdHJhbnNsYXRpb25CdW5kbGUudHJhbnNsYXRpb25zLCBvcHRpb25zLCB0aGlzLmZzKSxcbiAgICAgIF0sXG4gICAgICBjd2Q6IHNvdXJjZVJvb3QsXG4gICAgICBmaWxlbmFtZSxcbiAgICB9KTtcbiAgICBpZiAodHJhbnNsYXRlZCAmJiB0cmFuc2xhdGVkLmNvZGUpIHtcbiAgICAgIHRoaXMud3JpdGVTb3VyY2VGaWxlKFxuICAgICAgICAgIGRpYWdub3N0aWNzLCBvdXRwdXRQYXRoRm4sIHRyYW5zbGF0aW9uQnVuZGxlLmxvY2FsZSwgZmlsZW5hbWUsIHRyYW5zbGF0ZWQuY29kZSk7XG4gICAgICBjb25zdCBvdXRwdXRQYXRoID0gYWJzb2x1dGVGcm9tKG91dHB1dFBhdGhGbih0cmFuc2xhdGlvbkJ1bmRsZS5sb2NhbGUsIGZpbGVuYW1lKSk7XG4gICAgICB0aGlzLmZzLmVuc3VyZURpcih0aGlzLmZzLmRpcm5hbWUob3V0cHV0UGF0aCkpO1xuICAgICAgdGhpcy5mcy53cml0ZUZpbGUob3V0cHV0UGF0aCwgdHJhbnNsYXRlZC5jb2RlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGlhZ25vc3RpY3MuZXJyb3IoYFVuYWJsZSB0byB0cmFuc2xhdGUgc291cmNlIGZpbGU6ICR7dGhpcy5mcy5qb2luKHNvdXJjZVJvb3QsIGZpbGVuYW1lKX1gKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHdyaXRlU291cmNlRmlsZShcbiAgICAgIGRpYWdub3N0aWNzOiBEaWFnbm9zdGljcywgb3V0cHV0UGF0aEZuOiBPdXRwdXRQYXRoRm4sIGxvY2FsZTogc3RyaW5nLFxuICAgICAgcmVsYXRpdmVGaWxlUGF0aDogUGF0aFNlZ21lbnQsIGNvbnRlbnRzOiBzdHJpbmd8VWludDhBcnJheSk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBvdXRwdXRQYXRoID0gYWJzb2x1dGVGcm9tKG91dHB1dFBhdGhGbihsb2NhbGUsIHJlbGF0aXZlRmlsZVBhdGgpKTtcbiAgICAgIHRoaXMuZnMuZW5zdXJlRGlyKHRoaXMuZnMuZGlybmFtZShvdXRwdXRQYXRoKSk7XG4gICAgICB0aGlzLmZzLndyaXRlRmlsZShvdXRwdXRQYXRoLCBjb250ZW50cyk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgZGlhZ25vc3RpY3MuZXJyb3IoZS5tZXNzYWdlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
(function (factory) {
|
|
2
|
-
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
-
var v = factory(require, exports);
|
|
4
|
-
if (v !== undefined) module.exports = v;
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define("@angular/localize/src/tools/src/translate/translation_files/base_visitor", ["require", "exports"], factory);
|
|
8
|
-
}
|
|
9
|
-
})(function (require, exports) {
|
|
10
|
-
"use strict";
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.BaseVisitor = void 0;
|
|
13
|
-
/**
|
|
14
|
-
* A simple base class for the `Visitor` interface, which is a noop for every method.
|
|
15
|
-
*
|
|
16
|
-
* Sub-classes only need to override the methods that they care about.
|
|
17
|
-
*/
|
|
18
|
-
var BaseVisitor = /** @class */ (function () {
|
|
19
|
-
function BaseVisitor() {
|
|
20
|
-
}
|
|
21
|
-
BaseVisitor.prototype.visitElement = function (_element, _context) { };
|
|
22
|
-
BaseVisitor.prototype.visitAttribute = function (_attribute, _context) { };
|
|
23
|
-
BaseVisitor.prototype.visitText = function (_text, _context) { };
|
|
24
|
-
BaseVisitor.prototype.visitComment = function (_comment, _context) { };
|
|
25
|
-
BaseVisitor.prototype.visitExpansion = function (_expansion, _context) { };
|
|
26
|
-
BaseVisitor.prototype.visitExpansionCase = function (_expansionCase, _context) { };
|
|
27
|
-
return BaseVisitor;
|
|
28
|
-
}());
|
|
29
|
-
exports.BaseVisitor = BaseVisitor;
|
|
30
|
-
});
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV92aXNpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbG9jYWxpemUvc3JjL3Rvb2xzL3NyYy90cmFuc2xhdGUvdHJhbnNsYXRpb25fZmlsZXMvYmFzZV92aXNpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQVNBOzs7O09BSUc7SUFDSDtRQUFBO1FBT0EsQ0FBQztRQU5DLGtDQUFZLEdBQVosVUFBYSxRQUFpQixFQUFFLFFBQWEsSUFBUSxDQUFDO1FBQ3RELG9DQUFjLEdBQWQsVUFBZSxVQUFxQixFQUFFLFFBQWEsSUFBUSxDQUFDO1FBQzVELCtCQUFTLEdBQVQsVUFBVSxLQUFXLEVBQUUsUUFBYSxJQUFRLENBQUM7UUFDN0Msa0NBQVksR0FBWixVQUFhLFFBQWlCLEVBQUUsUUFBYSxJQUFRLENBQUM7UUFDdEQsb0NBQWMsR0FBZCxVQUFlLFVBQXFCLEVBQUUsUUFBYSxJQUFRLENBQUM7UUFDNUQsd0NBQWtCLEdBQWxCLFVBQW1CLGNBQTZCLEVBQUUsUUFBYSxJQUFRLENBQUM7UUFDMUUsa0JBQUM7SUFBRCxDQUFDLEFBUEQsSUFPQztJQVBZLGtDQUFXIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQge0F0dHJpYnV0ZSwgQ29tbWVudCwgRWxlbWVudCwgRXhwYW5zaW9uLCBFeHBhbnNpb25DYXNlLCBUZXh0LCBWaXNpdG9yfSBmcm9tICdAYW5ndWxhci9jb21waWxlcic7XG5cbi8qKlxuICogQSBzaW1wbGUgYmFzZSBjbGFzcyBmb3IgdGhlICBgVmlzaXRvcmAgaW50ZXJmYWNlLCB3aGljaCBpcyBhIG5vb3AgZm9yIGV2ZXJ5IG1ldGhvZC5cbiAqXG4gKiBTdWItY2xhc3NlcyBvbmx5IG5lZWQgdG8gb3ZlcnJpZGUgdGhlIG1ldGhvZHMgdGhhdCB0aGV5IGNhcmUgYWJvdXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBCYXNlVmlzaXRvciBpbXBsZW1lbnRzIFZpc2l0b3Ige1xuICB2aXNpdEVsZW1lbnQoX2VsZW1lbnQ6IEVsZW1lbnQsIF9jb250ZXh0OiBhbnkpOiBhbnkge31cbiAgdmlzaXRBdHRyaWJ1dGUoX2F0dHJpYnV0ZTogQXR0cmlidXRlLCBfY29udGV4dDogYW55KTogYW55IHt9XG4gIHZpc2l0VGV4dChfdGV4dDogVGV4dCwgX2NvbnRleHQ6IGFueSk6IGFueSB7fVxuICB2aXNpdENvbW1lbnQoX2NvbW1lbnQ6IENvbW1lbnQsIF9jb250ZXh0OiBhbnkpOiBhbnkge31cbiAgdmlzaXRFeHBhbnNpb24oX2V4cGFuc2lvbjogRXhwYW5zaW9uLCBfY29udGV4dDogYW55KTogYW55IHt9XG4gIHZpc2l0RXhwYW5zaW9uQ2FzZShfZXhwYW5zaW9uQ2FzZTogRXhwYW5zaW9uQ2FzZSwgX2NvbnRleHQ6IGFueSk6IGFueSB7fVxufVxuIl19
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
(function (factory) {
|
|
9
|
-
if (typeof module === "object" && typeof module.exports === "object") {
|
|
10
|
-
var v = factory(require, exports);
|
|
11
|
-
if (v !== undefined) module.exports = v;
|
|
12
|
-
}
|
|
13
|
-
else if (typeof define === "function" && define.amd) {
|
|
14
|
-
define("@angular/localize/src/tools/src/translate/translation_files/message_serialization/message_renderer", ["require", "exports"], factory);
|
|
15
|
-
}
|
|
16
|
-
})(function (require, exports) {
|
|
17
|
-
"use strict";
|
|
18
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
});
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZV9yZW5kZXJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2xvY2FsaXplL3NyYy90b29scy9zcmMvdHJhbnNsYXRlL3RyYW5zbGF0aW9uX2ZpbGVzL21lc3NhZ2Vfc2VyaWFsaXphdGlvbi9tZXNzYWdlX3JlbmRlcmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VSZW5kZXJlcjxUPiB7XG4gIG1lc3NhZ2U6IFQ7XG4gIHN0YXJ0UmVuZGVyKCk6IHZvaWQ7XG4gIGVuZFJlbmRlcigpOiB2b2lkO1xuICB0ZXh0KHRleHQ6IHN0cmluZyk6IHZvaWQ7XG4gIHBsYWNlaG9sZGVyKG5hbWU6IHN0cmluZywgYm9keTogc3RyaW5nfHVuZGVmaW5lZCk6IHZvaWQ7XG4gIHN0YXJ0UGxhY2Vob2xkZXIobmFtZTogc3RyaW5nKTogdm9pZDtcbiAgY2xvc2VQbGFjZWhvbGRlcihuYW1lOiBzdHJpbmcpOiB2b2lkO1xuICBzdGFydENvbnRhaW5lcigpOiB2b2lkO1xuICBjbG9zZUNvbnRhaW5lcigpOiB2b2lkO1xuICBzdGFydEljdSgpOiB2b2lkO1xuICBlbmRJY3UoKTogdm9pZDtcbn1cbiJdfQ==
|
package/src/tools/src/translate/translation_files/message_serialization/message_serializer.js
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
(function (factory) {
|
|
2
|
-
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
-
var v = factory(require, exports);
|
|
4
|
-
if (v !== undefined) module.exports = v;
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define("@angular/localize/src/tools/src/translate/translation_files/message_serialization/message_serializer", ["require", "exports", "tslib", "@angular/compiler", "@angular/localize/src/tools/src/translate/translation_files/base_visitor", "@angular/localize/src/tools/src/translate/translation_files/translation_parsers/translation_parse_error", "@angular/localize/src/tools/src/translate/translation_files/translation_parsers/translation_utils"], factory);
|
|
8
|
-
}
|
|
9
|
-
})(function (require, exports) {
|
|
10
|
-
"use strict";
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.MessageSerializer = void 0;
|
|
13
|
-
var tslib_1 = require("tslib");
|
|
14
|
-
/**
|
|
15
|
-
* @license
|
|
16
|
-
* Copyright Google LLC All Rights Reserved.
|
|
17
|
-
*
|
|
18
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
19
|
-
* found in the LICENSE file at https://angular.io/license
|
|
20
|
-
*/
|
|
21
|
-
var compiler_1 = require("@angular/compiler");
|
|
22
|
-
var base_visitor_1 = require("@angular/localize/src/tools/src/translate/translation_files/base_visitor");
|
|
23
|
-
var translation_parse_error_1 = require("@angular/localize/src/tools/src/translate/translation_files/translation_parsers/translation_parse_error");
|
|
24
|
-
var translation_utils_1 = require("@angular/localize/src/tools/src/translate/translation_files/translation_parsers/translation_utils");
|
|
25
|
-
/**
|
|
26
|
-
* This visitor will walk over a set of XML nodes, which represent an i18n message, and serialize
|
|
27
|
-
* them into a message object of type `T`.
|
|
28
|
-
* The type of the serialized message is controlled by the
|
|
29
|
-
*/
|
|
30
|
-
var MessageSerializer = /** @class */ (function (_super) {
|
|
31
|
-
(0, tslib_1.__extends)(MessageSerializer, _super);
|
|
32
|
-
function MessageSerializer(renderer, config) {
|
|
33
|
-
var _this = _super.call(this) || this;
|
|
34
|
-
_this.renderer = renderer;
|
|
35
|
-
_this.config = config;
|
|
36
|
-
return _this;
|
|
37
|
-
}
|
|
38
|
-
MessageSerializer.prototype.serialize = function (nodes) {
|
|
39
|
-
this.renderer.startRender();
|
|
40
|
-
(0, compiler_1.visitAll)(this, nodes);
|
|
41
|
-
this.renderer.endRender();
|
|
42
|
-
return this.renderer.message;
|
|
43
|
-
};
|
|
44
|
-
MessageSerializer.prototype.visitElement = function (element) {
|
|
45
|
-
if (this.config.placeholder && element.name === this.config.placeholder.elementName) {
|
|
46
|
-
var name = (0, translation_utils_1.getAttrOrThrow)(element, this.config.placeholder.nameAttribute);
|
|
47
|
-
var body = this.config.placeholder.bodyAttribute &&
|
|
48
|
-
(0, translation_utils_1.getAttribute)(element, this.config.placeholder.bodyAttribute);
|
|
49
|
-
this.visitPlaceholder(name, body);
|
|
50
|
-
}
|
|
51
|
-
else if (this.config.placeholderContainer &&
|
|
52
|
-
element.name === this.config.placeholderContainer.elementName) {
|
|
53
|
-
var start = (0, translation_utils_1.getAttrOrThrow)(element, this.config.placeholderContainer.startAttribute);
|
|
54
|
-
var end = (0, translation_utils_1.getAttrOrThrow)(element, this.config.placeholderContainer.endAttribute);
|
|
55
|
-
this.visitPlaceholderContainer(start, element.children, end);
|
|
56
|
-
}
|
|
57
|
-
else if (this.config.inlineElements.indexOf(element.name) !== -1) {
|
|
58
|
-
(0, compiler_1.visitAll)(this, element.children);
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
throw new translation_parse_error_1.TranslationParseError(element.sourceSpan, "Invalid element found in message.");
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
MessageSerializer.prototype.visitText = function (text) {
|
|
65
|
-
this.renderer.text(text.value);
|
|
66
|
-
};
|
|
67
|
-
MessageSerializer.prototype.visitExpansion = function (expansion) {
|
|
68
|
-
this.renderer.startIcu();
|
|
69
|
-
this.renderer.text(expansion.switchValue + ", " + expansion.type + ",");
|
|
70
|
-
(0, compiler_1.visitAll)(this, expansion.cases);
|
|
71
|
-
this.renderer.endIcu();
|
|
72
|
-
};
|
|
73
|
-
MessageSerializer.prototype.visitExpansionCase = function (expansionCase) {
|
|
74
|
-
this.renderer.text(" " + expansionCase.value + " {");
|
|
75
|
-
this.renderer.startContainer();
|
|
76
|
-
(0, compiler_1.visitAll)(this, expansionCase.expression);
|
|
77
|
-
this.renderer.closeContainer();
|
|
78
|
-
this.renderer.text("}");
|
|
79
|
-
};
|
|
80
|
-
MessageSerializer.prototype.visitContainedNodes = function (nodes) {
|
|
81
|
-
this.renderer.startContainer();
|
|
82
|
-
(0, compiler_1.visitAll)(this, nodes);
|
|
83
|
-
this.renderer.closeContainer();
|
|
84
|
-
};
|
|
85
|
-
MessageSerializer.prototype.visitPlaceholder = function (name, body) {
|
|
86
|
-
this.renderer.placeholder(name, body);
|
|
87
|
-
};
|
|
88
|
-
MessageSerializer.prototype.visitPlaceholderContainer = function (startName, children, closeName) {
|
|
89
|
-
this.renderer.startPlaceholder(startName);
|
|
90
|
-
this.visitContainedNodes(children);
|
|
91
|
-
this.renderer.closePlaceholder(closeName);
|
|
92
|
-
};
|
|
93
|
-
MessageSerializer.prototype.isPlaceholderContainer = function (node) {
|
|
94
|
-
return node instanceof compiler_1.Element && node.name === this.config.placeholderContainer.elementName;
|
|
95
|
-
};
|
|
96
|
-
return MessageSerializer;
|
|
97
|
-
}(base_visitor_1.BaseVisitor));
|
|
98
|
-
exports.MessageSerializer = MessageSerializer;
|
|
99
|
-
});
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZV9zZXJpYWxpemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbG9jYWxpemUvc3JjL3Rvb2xzL3NyYy90cmFuc2xhdGUvdHJhbnNsYXRpb25fZmlsZXMvbWVzc2FnZV9zZXJpYWxpemF0aW9uL21lc3NhZ2Vfc2VyaWFsaXplci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0lBQUE7Ozs7OztPQU1HO0lBQ0gsOENBQTBGO0lBRTFGLHlHQUE0QztJQUM1QyxtSkFBcUY7SUFDckYsdUlBQXNGO0lBVXRGOzs7O09BSUc7SUFDSDtRQUEwQyxrREFBVztRQUNuRCwyQkFBb0IsUUFBNEIsRUFBVSxNQUErQjtZQUF6RixZQUNFLGlCQUFPLFNBQ1I7WUFGbUIsY0FBUSxHQUFSLFFBQVEsQ0FBb0I7WUFBVSxZQUFNLEdBQU4sTUFBTSxDQUF5Qjs7UUFFekYsQ0FBQztRQUVELHFDQUFTLEdBQVQsVUFBVSxLQUFhO1lBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDNUIsSUFBQSxtQkFBUSxFQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzFCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7UUFDL0IsQ0FBQztRQUVRLHdDQUFZLEdBQXJCLFVBQXNCLE9BQWdCO1lBQ3BDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUU7Z0JBQ25GLElBQU0sSUFBSSxHQUFHLElBQUEsa0NBQWMsRUFBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQzVFLElB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QUFpQjtZQUM5RSxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVDLENBQUM7UUFFTyxrREFBc0IsR0FBOUIsVUFBK0IsSUFBVTtZQUN2QyxPQUFPLElBQUksWUFBWSxrQkFBTyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBcUIsQ0FBQyxXQUFXLENBQUM7UUFDaEcsQ0FBQztRQUNILHdCQUFDO0lBQUQsQ0FBQyxBQXJFRCxDQUEwQywwQkFBVyxHQXFFcEQ7SUFyRVksOENBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQge0VsZW1lbnQsIEV4cGFuc2lvbiwgRXhwYW5zaW9uQ2FzZSwgTm9kZSwgVGV4dCwgdmlzaXRBbGx9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyJztcblxuaW1wb3J0IHtCYXNlVmlzaXRvcn0gZnJvbSAnLi4vYmFzZV92aXNpdG9yJztcbmltcG9ydCB7VHJhbnNsYXRpb25QYXJzZUVycm9yfSBmcm9tICcuLi90cmFuc2xhdGlvbl9wYXJzZXJzL3RyYW5zbGF0aW9uX3BhcnNlX2Vycm9yJztcbmltcG9ydCB7Z2V0QXR0cmlidXRlLCBnZXRBdHRyT3JUaHJvd30gZnJvbSAnLi4vdHJhbnNsYXRpb25fcGFyc2Vycy90cmFuc2xhdGlvbl91dGlscyc7XG5cbmltcG9ydCB7TWVzc2FnZVJlbmRlcmVyfSBmcm9tICcuL21lc3NhZ2VfcmVuZGVyZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VTZXJpYWxpemVyQ29uZmlnIHtcbiAgaW5saW5lRWxlbWVudHM6IHN0cmluZ1tdO1xuICBwbGFjZWhvbGRlcj86IHtlbGVtZW50TmFtZTogc3RyaW5nOyBuYW1lQXR0cmlidXRlOiBzdHJpbmc7IGJvZHlBdHRyaWJ1dGU/OiBzdHJpbmc7fTtcbiAgcGxhY2Vob2xkZXJDb250YWluZXI/OiB7ZWxlbWVudE5hbWU6IHN0cmluZzsgc3RhcnRBdHRyaWJ1dGU6IHN0cmluZzsgZW5kQXR0cmlidXRlOiBzdHJpbmc7fTtcbn1cblxuLyoqXG4gKiBUaGlzIHZpc2l0b3Igd2lsbCB3YWxrIG92ZXIgYSBzZXQgb2YgWE1MIG5vZGVzLCB3aGljaCByZXByZXNlbnQgYW4gaTE4biBtZXNzYWdlLCBhbmQgc2VyaWFsaXplXG4gKiB0aGVtIGludG8gYSBtZXNzYWdlIG9iamVjdCBvZiB0eXBlIGBUYC5cbiAqIFRoZSB0eXBlIG9mIHRoZSBzZXJpYWxpemVkIG1lc3NhZ2UgaXMgY29udHJvbGxlZCBieSB0aGVcbiAqL1xuZXhwb3J0IGNsYXNzIE1lc3NhZ2VTZXJpYWxpemVyPFQ+IGV4dGVuZHMgQmFzZVZpc2l0b3Ige1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBNZXNzYWdlUmVuZGVyZXI8VD4sIHByaXZhdGUgY29uZmlnOiBNZXNzYWdlU2VyaWFsaXplckNvbmZpZykge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBzZXJpYWxpemUobm9kZXM6IE5vZGVbXSk6IFQge1xuICAgIHRoaXMucmVuZGVyZXIuc3RhcnRSZW5kZXIoKTtcbiAgICB2aXNpdEFsbCh0aGlzLCBub2Rlcyk7XG4gICAgdGhpcy5yZW5kZXJlci5lbmRSZW5kZXIoKTtcbiAgICByZXR1cm4gdGhpcy5yZW5kZXJlci5tZXNzYWdlO1xuICB9XG5cbiAgb3ZlcnJpZGUgdmlzaXRFbGVtZW50KGVsZW1lbnQ6IEVsZW1lbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb25maWcucGxhY2Vob2xkZXIgJiYgZWxlbWVudC5uYW1lID09PSB0aGlzLmNvbmZpZy5wbGFjZWhvbGRlci5lbGVtZW50TmFtZSkge1xuICAgICAgY29uc3QgbmFtZSA9IGdldEF0dHJPclRocm93KGVsZW1lbnQsIHRoaXMuY29uZmlnLnBsYWNlaG9sZGVyLm5hbWVBdHRyaWJ1dGUpO1xuICAgICAgY29uc3QgYm9keSA9IHRoaXMuY29uZmlnLnBsYWNlaG9sZGVyLmJvZHlBdHRyaWJ1dGUgJiZcbiAgICAgICAgICBnZXRBdHRyaWJ1dGUoZWxlbWVudCwgdGhpcy5jb25maWcucGxhY2Vob2xkZXIuYm9keUF0dHJpYnV0ZSk7XG4gICAgICB0aGlzLnZpc2l0UGxhY2Vob2xkZXIobmFtZSwgYm9keSk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgICAgdGhpcy5jb25maWcucGxhY2Vob2xkZXJDb250YWluZXIgJiZcbiAgICAgICAgZWxlbWVudC5uYW1lID09PSB0aGlzLmNvbmZpZy5wbGFjZWhvbGRlckNvbnRhaW5lci5lbGVtZW50TmFtZSkge1xuICAgICAgY29uc3Qgc3RhcnQgPSBnZXRBdHRyT3JUaHJvdyhlbGVtZW50LCB0aGlzLmNvbmZpZy5wbGFjZWhvbGRlckNvbnRhaW5lci5zdGFydEF0dHJpYnV0ZSk7XG4gICAgICBjb25zdCBlbmQgPSBnZXRBdHRyT3JUaHJvdyhlbGVtZW50LCB0aGlzLmNvbmZpZy5wbGFjZWhvbGRlckNvbnRhaW5lci5lbmRBdHRyaWJ1dGUpO1xuICAgICAgdGhpcy52aXNpdFBsYWNlaG9sZGVyQ29udGFpbmVyKHN0YXJ0LCBlbGVtZW50LmNoaWxkcmVuLCBlbmQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcuaW5saW5lRWxlbWVudHMuaW5kZXhPZihlbGVtZW50Lm5hbWUpICE9PSAtMSkge1xuICAgICAgdmlzaXRBbGwodGhpcywgZWxlbWVudC5jaGlsZHJlbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBUcmFuc2xhdGlvblBhcnNlRXJyb3IoZWxlbWVudC5zb3VyY2VTcGFuLCBgSW52YWxpZCBlbGVtZW50IGZvdW5kIGluIG1lc3NhZ2UuYCk7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgdmlzaXRUZXh0KHRleHQ6IFRleHQpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlcmVyLnRleHQodGV4dC52YWx1ZSk7XG4gIH1cblxuICBvdmVycmlkZSB2aXNpdEV4cGFuc2lvbihleHBhbnNpb246IEV4cGFuc2lvbik6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyZXIuc3RhcnRJY3UoKTtcbiAgICB0aGlzLnJlbmRlcmVyLnRleHQoYCR7ZXhwYW5zaW9uLnN3aXRjaFZhbHVlfSwgJHtleHBhbnNpb24udHlwZX0sYCk7XG4gICAgdmlzaXRBbGwodGhpcywgZXhwYW5zaW9uLmNhc2VzKTtcbiAgICB0aGlzLnJlbmRlcmVyLmVuZEljdSgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgdmlzaXRFeHBhbnNpb25DYXNlKGV4cGFuc2lvbkNhc2U6IEV4cGFuc2lvbkNhc2UpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlcmVyLnRleHQoYCAke2V4cGFuc2lvbkNhc2UudmFsdWV9IHtgKTtcbiAgICB0aGlzLnJlbmRlcmVyLnN0YXJ0Q29udGFpbmVyKCk7XG4gICAgdmlzaXRBbGwodGhpcywgZXhwYW5zaW9uQ2FzZS5leHByZXNzaW9uKTtcbiAgICB0aGlzLnJlbmRlcmVyLmNsb3NlQ29udGFpbmVyKCk7XG4gICAgdGhpcy5yZW5kZXJlci50ZXh0KGB9YCk7XG4gIH1cblxuICB2aXNpdENvbnRhaW5lZE5vZGVzKG5vZGVzOiBOb2RlW10pOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlcmVyLnN0YXJ0Q29udGFpbmVyKCk7XG4gICAgdmlzaXRBbGwodGhpcywgbm9kZXMpO1xuICAgIHRoaXMucmVuZGVyZXIuY2xvc2VDb250YWluZXIoKTtcbiAgfVxuXG4gIHZpc2l0UGxhY2Vob2xkZXIobmFtZTogc3RyaW5nLCBib2R5OiBzdHJpbmd8dW5kZWZpbmVkKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5wbGFjZWhvbGRlcihuYW1lLCBib2R5KTtcbiAgfVxuXG4gIHZpc2l0UGxhY2Vob2xkZXJDb250YWluZXIoc3RhcnROYW1lOiBzdHJpbmcsIGNoaWxkcmVuOiBOb2RlW10sIGNsb3NlTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5zdGFydFBsYWNlaG9sZGVyKHN0YXJ0TmFtZSk7XG4gICAgdGhpcy52aXNpdENvbnRhaW5lZE5vZGVzKGNoaWxkcmVuKTtcbiAgICB0aGlzLnJlbmRlcmVyLmNsb3NlUGxhY2Vob2xkZXIoY2xvc2VOYW1lKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNQbGFjZWhvbGRlckNvbnRhaW5lcihub2RlOiBOb2RlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG5vZGUgaW5zdGFuY2VvZiBFbGVtZW50ICYmIG5vZGUubmFtZSA9PT0gdGhpcy5jb25maWcucGxhY2Vob2xkZXJDb250YWluZXIhLmVsZW1lbnROYW1lO1xuICB9XG59XG4iXX0=
|
package/src/tools/src/translate/translation_files/message_serialization/target_message_renderer.js
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
(function (factory) {
|
|
2
|
-
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
-
var v = factory(require, exports);
|
|
4
|
-
if (v !== undefined) module.exports = v;
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define("@angular/localize/src/tools/src/translate/translation_files/message_serialization/target_message_renderer", ["require", "exports", "@angular/localize"], factory);
|
|
8
|
-
}
|
|
9
|
-
})(function (require, exports) {
|
|
10
|
-
"use strict";
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.TargetMessageRenderer = void 0;
|
|
13
|
-
/**
|
|
14
|
-
* @license
|
|
15
|
-
* Copyright Google LLC All Rights Reserved.
|
|
16
|
-
*
|
|
17
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
18
|
-
* found in the LICENSE file at https://angular.io/license
|
|
19
|
-
*/
|
|
20
|
-
var localize_1 = require("@angular/localize");
|
|
21
|
-
/**
|
|
22
|
-
* A message renderer that outputs `ɵParsedTranslation` objects.
|
|
23
|
-
*/
|
|
24
|
-
var TargetMessageRenderer = /** @class */ (function () {
|
|
25
|
-
function TargetMessageRenderer() {
|
|
26
|
-
this.current = { messageParts: [], placeholderNames: [], text: '' };
|
|
27
|
-
this.icuDepth = 0;
|
|
28
|
-
}
|
|
29
|
-
Object.defineProperty(TargetMessageRenderer.prototype, "message", {
|
|
30
|
-
get: function () {
|
|
31
|
-
var _a = this.current, messageParts = _a.messageParts, placeholderNames = _a.placeholderNames;
|
|
32
|
-
return (0, localize_1.ɵmakeParsedTranslation)(messageParts, placeholderNames);
|
|
33
|
-
},
|
|
34
|
-
enumerable: false,
|
|
35
|
-
configurable: true
|
|
36
|
-
});
|
|
37
|
-
TargetMessageRenderer.prototype.startRender = function () { };
|
|
38
|
-
TargetMessageRenderer.prototype.endRender = function () {
|
|
39
|
-
this.storeMessagePart();
|
|
40
|
-
};
|
|
41
|
-
TargetMessageRenderer.prototype.text = function (text) {
|
|
42
|
-
this.current.text += text;
|
|
43
|
-
};
|
|
44
|
-
TargetMessageRenderer.prototype.placeholder = function (name, body) {
|
|
45
|
-
this.renderPlaceholder(name);
|
|
46
|
-
};
|
|
47
|
-
TargetMessageRenderer.prototype.startPlaceholder = function (name) {
|
|
48
|
-
this.renderPlaceholder(name);
|
|
49
|
-
};
|
|
50
|
-
TargetMessageRenderer.prototype.closePlaceholder = function (name) {
|
|
51
|
-
this.renderPlaceholder(name);
|
|
52
|
-
};
|
|
53
|
-
TargetMessageRenderer.prototype.startContainer = function () { };
|
|
54
|
-
TargetMessageRenderer.prototype.closeContainer = function () { };
|
|
55
|
-
TargetMessageRenderer.prototype.startIcu = function () {
|
|
56
|
-
this.icuDepth++;
|
|
57
|
-
this.text('{');
|
|
58
|
-
};
|
|
59
|
-
TargetMessageRenderer.prototype.endIcu = function () {
|
|
60
|
-
this.icuDepth--;
|
|
61
|
-
this.text('}');
|
|
62
|
-
};
|
|
63
|
-
TargetMessageRenderer.prototype.normalizePlaceholderName = function (name) {
|
|
64
|
-
return name.replace(/-/g, '_');
|
|
65
|
-
};
|
|
66
|
-
TargetMessageRenderer.prototype.renderPlaceholder = function (name) {
|
|
67
|
-
name = this.normalizePlaceholderName(name);
|
|
68
|
-
if (this.icuDepth > 0) {
|
|
69
|
-
this.text("{" + name + "}");
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
this.storeMessagePart();
|
|
73
|
-
this.current.placeholderNames.push(name);
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
TargetMessageRenderer.prototype.storeMessagePart = function () {
|
|
77
|
-
this.current.messageParts.push(this.current.text);
|
|
78
|
-
this.current.text = '';
|
|
79
|
-
};
|
|
80
|
-
return TargetMessageRenderer;
|
|
81
|
-
}());
|
|
82
|
-
exports.TargetMessageRenderer = TargetMessageRenderer;
|
|
83
|
-
});
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0X21lc3NhZ2VfcmVuZGVyZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9sb2NhbGl6ZS9zcmMvdG9vbHMvc3JjL3RyYW5zbGF0ZS90cmFuc2xhdGlvbl9maWxlcy9tZXNzYWdlX3NlcmlhbGl6YXRpb24vdGFyZ2V0X21lc3NhZ2VfcmVuZGVyZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQUE7Ozs7OztPQU1HO0lBQ0gsOENBQTZFO0lBSTdFOztPQUVHO0lBQ0g7UUFBQTtZQUNVLFlBQU8sR0FBZ0IsRUFBQyxZQUFZLEVBQUUsRUFBRSxFQUFFLGdCQUFnQixFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFDLENBQUM7WUFDMUUsYUFBUSxHQUFHLENBQUMsQ0FBQztRQWdEdkIsQ0FBQztRQTlDQyxzQkFBSSwwQ0FBTztpQkFBWDtnQkFDUSxJQUFBLEtBQW1DLElBQUksQ0FBQyxPQUFPLEVBQTlDLFlBQVksa0JBQUEsRUFBRSxnQkFBZ0Isc0JBQWdCLENBQUM7Z0JBQ3RELE9BQU8sSUFBQSxpQ0FBc0IsRUFBQyxZQUFZLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztZQUNoRSxDQUFDOzs7V0FBQTtRQUNELDJDQUFXLEdBQVgsY0FBcUIsQ0FBQztRQUN0Qix5Q0FBUyxHQUFUO1lBQ0UsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDMUIsQ0FBQztRQUNELG9DQUFJLEdBQUosVUFBSyxJQUFZO1lBQ2YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDO1FBQzVCLENBQUM7UUFDRCwyQ0FBVyxHQUFYLFVBQVksSUFBWSxFQUFFLElBQXNCO1lBQzlDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBQ0QsZ0RBQWdCLEdBQWhCLFVBQWlCLElBQVk7WUFDM0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLENBQUM7UUFDRCxnREFBZ0IsR0FBaEIsVUFBaUIsSUFBWTtZQUMzQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUNELDhDQUFjLEdBQWQsY0FBd0IsQ0FBQztRQUN6Qiw4Q0FBYyxHQUFkLGNBQXdCLENBQUM7UUFDekIsd0NBQVEsR0FBUjtZQUNFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLENBQUM7UUFDRCxzQ0FBTSxHQUFOO1lBQ0UsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakIsQ0FBQztRQUNPLHdEQUF3QixHQUFoQyxVQUFpQyxJQUFZO1lBQzNDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUNPLGlEQUFpQixHQUF6QixVQUEwQixJQUFZO1lBQ3BDLElBQUksR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0MsSUFBSSxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsRUFBRTtnQkFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFJLElBQUksTUFBRyxDQUFDLENBQUM7YUFDeEI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzFDO1FBQ0gsQ0FBQztRQUNPLGdEQUFnQixHQUF4QjtZQUNFLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN6QixDQUFDO1FBQ0gsNEJBQUM7SUFBRCxDQUFDLEFBbERELElBa0RDO0lBbERZLHNEQUFxQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0IHvJtW1ha2VQYXJzZWRUcmFuc2xhdGlvbiwgybVQYXJzZWRUcmFuc2xhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvbG9jYWxpemUnO1xuXG5pbXBvcnQge01lc3NhZ2VSZW5kZXJlcn0gZnJvbSAnLi9tZXNzYWdlX3JlbmRlcmVyJztcblxuLyoqXG4gKiBBIG1lc3NhZ2UgcmVuZGVyZXIgdGhhdCBvdXRwdXRzIGDJtVBhcnNlZFRyYW5zbGF0aW9uYCBvYmplY3RzLlxuICovXG5leHBvcnQgY2xhc3MgVGFyZ2V0TWVzc2FnZVJlbmRlcmVyIGltcGxlbWVudHMgTWVzc2FnZVJlbmRlcmVyPMm1UGFyc2VkVHJhbnNsYXRpb24+IHtcbiAgcHJpdmF0ZSBjdXJyZW50OiBNZXNzYWdlSW5mbyA9IHttZXNzYWdlUGFydHM6IFtdLCBwbGFjZWhvbGRlck5hbWVzOiBbXSwgdGV4dDogJyd9O1xuICBwcml2YXRlIGljdURlcHRoID0gMDtcblxuICBnZXQgbWVzc2FnZSgpOiDJtVBhcnNlZFRyYW5zbGF0aW9uIHtcbiAgICBjb25zdCB7bWVzc2FnZVBhcnRzLCBwbGFjZWhvbGRlck5hbWVzfSA9IHRoaXMuY3VycmVudDtcbiAgICByZXR1cm4gybVtYWtlUGFyc2VkVHJhbnNsYXRpb24obWVzc2FnZVBhcnRzLCBwbGFjZWhvbGRlck5hbWVzKTtcbiAgfVxuICBzdGFydFJlbmRlcigpOiB2b2lkIHt9XG4gIGVuZFJlbmRlcigpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlTWVzc2FnZVBhcnQoKTtcbiAgfVxuICB0ZXh0KHRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudC50ZXh0ICs9IHRleHQ7XG4gIH1cbiAgcGxhY2Vob2xkZXIobmFtZTogc3RyaW5nLCBib2R5OiBzdHJpbmd8dW5kZWZpbmVkKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJQbGFjZWhvbGRlcihuYW1lKTtcbiAgfVxuICBzdGFydFBsYWNlaG9sZGVyKG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyUGxhY2Vob2xkZXIobmFtZSk7XG4gIH1cbiAgY2xvc2VQbGFjZWhvbGRlcihuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlclBsYWNlaG9sZGVyKG5hbWUpO1xuICB9XG4gIHN0YXJ0Q29udGFpbmVyKCk6IHZvaWQge31cbiAgY2xvc2VDb250YWluZXIoKTogdm9pZCB7fVxuICBzdGFydEljdSgpOiB2b2lkIHtcbiAgICB0aGlzLmljdURlcHRoKys7XG4gICAgdGhpcy50ZXh0KCd7Jyk7XG4gIH1cbiAgZW5kSWN1KCk6IHZvaWQge1xuICAgIHRoaXMuaWN1RGVwdGgtLTtcbiAgICB0aGlzLnRleHQoJ30nKTtcbiAgfVxuICBwcml2YXRlIG5vcm1hbGl6ZVBsYWNlaG9sZGVyTmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbmFtZS5yZXBsYWNlKC8tL2csICdfJyk7XG4gIH1cbiAgcHJpdmF0ZSByZW5kZXJQbGFjZWhvbGRlcihuYW1lOiBzdHJpbmcpIHtcbiAgICBuYW1lID0gdGhpcy5ub3JtYWxpemVQbGFjZWhvbGRlck5hbWUobmFtZSk7XG4gICAgaWYgKHRoaXMuaWN1RGVwdGggPiAwKSB7XG4gICAgICB0aGlzLnRleHQoYHske25hbWV9fWApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0b3JlTWVzc2FnZVBhcnQoKTtcbiAgICAgIHRoaXMuY3VycmVudC5wbGFjZWhvbGRlck5hbWVzLnB1c2gobmFtZSk7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgc3RvcmVNZXNzYWdlUGFydCgpIHtcbiAgICB0aGlzLmN1cnJlbnQubWVzc2FnZVBhcnRzLnB1c2godGhpcy5jdXJyZW50LnRleHQpO1xuICAgIHRoaXMuY3VycmVudC50ZXh0ID0gJyc7XG4gIH1cbn1cblxuaW50ZXJmYWNlIE1lc3NhZ2VJbmZvIHtcbiAgbWVzc2FnZVBhcnRzOiBzdHJpbmdbXTtcbiAgcGxhY2Vob2xkZXJOYW1lczogc3RyaW5nW107XG4gIHRleHQ6IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
(function (factory) {
|
|
2
|
-
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
-
var v = factory(require, exports);
|
|
4
|
-
if (v !== undefined) module.exports = v;
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define("@angular/localize/src/tools/src/translate/translation_files/translation_loader", ["require", "exports", "tslib"], factory);
|
|
8
|
-
}
|
|
9
|
-
})(function (require, exports) {
|
|
10
|
-
"use strict";
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.TranslationLoader = void 0;
|
|
13
|
-
var tslib_1 = require("tslib");
|
|
14
|
-
/**
|
|
15
|
-
* Use this class to load a collection of translation files from disk.
|
|
16
|
-
*/
|
|
17
|
-
var TranslationLoader = /** @class */ (function () {
|
|
18
|
-
function TranslationLoader(fs, translationParsers, duplicateTranslation,
|
|
19
|
-
/** @deprecated */ diagnostics) {
|
|
20
|
-
this.fs = fs;
|
|
21
|
-
this.translationParsers = translationParsers;
|
|
22
|
-
this.duplicateTranslation = duplicateTranslation;
|
|
23
|
-
this.diagnostics = diagnostics;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Load and parse the translation files into a collection of `TranslationBundles`.
|
|
27
|
-
*
|
|
28
|
-
* @param translationFilePaths An array, per locale, of absolute paths to translation files.
|
|
29
|
-
*
|
|
30
|
-
* For each locale to be translated, there is an element in `translationFilePaths`. Each element
|
|
31
|
-
* is an array of absolute paths to translation files for that locale.
|
|
32
|
-
* If the array contains more than one translation file, then the translations are merged.
|
|
33
|
-
* If allowed by the `duplicateTranslation` property, when more than one translation has the same
|
|
34
|
-
* message id, the message from the earlier translation file in the array is used.
|
|
35
|
-
* For example, if the files are `[app.xlf, lib-1.xlf, lib-2.xlif]` then a message that appears in
|
|
36
|
-
* `app.xlf` will override the same message in `lib-1.xlf` or `lib-2.xlf`.
|
|
37
|
-
*
|
|
38
|
-
* @param translationFileLocales An array of locales for each of the translation files.
|
|
39
|
-
*
|
|
40
|
-
* If there is a locale provided in `translationFileLocales` then this is used rather than a
|
|
41
|
-
* locale extracted from the file itself.
|
|
42
|
-
* If there is neither a provided locale nor a locale parsed from the file, then an error is
|
|
43
|
-
* thrown.
|
|
44
|
-
* If there are both a provided locale and a locale parsed from the file, and they are not the
|
|
45
|
-
* same, then a warning is reported.
|
|
46
|
-
*/
|
|
47
|
-
TranslationLoader.prototype.loadBundles = function (translationFilePaths, translationFileLocales) {
|
|
48
|
-
var _this = this;
|
|
49
|
-
return translationFilePaths.map(function (filePaths, index) {
|
|
50
|
-
var providedLocale = translationFileLocales[index];
|
|
51
|
-
return _this.mergeBundles(filePaths, providedLocale);
|
|
52
|
-
});
|
|
53
|
-
};
|
|
54
|
-
/**
|
|
55
|
-
* Load all the translations from the file at the given `filePath`.
|
|
56
|
-
*/
|
|
57
|
-
TranslationLoader.prototype.loadBundle = function (filePath, providedLocale) {
|
|
58
|
-
var e_1, _a, e_2, _b;
|
|
59
|
-
var fileContents = this.fs.readFile(filePath);
|
|
60
|
-
var unusedParsers = new Map();
|
|
61
|
-
try {
|
|
62
|
-
for (var _c = (0, tslib_1.__values)(this.translationParsers), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
63
|
-
var translationParser = _d.value;
|
|
64
|
-
var result = translationParser.analyze(filePath, fileContents);
|
|
65
|
-
if (!result.canParse) {
|
|
66
|
-
unusedParsers.set(translationParser, result);
|
|
67
|
-
continue;
|
|
68
|
-
}
|
|
69
|
-
var _e = translationParser.parse(filePath, fileContents, result.hint), parsedLocale = _e.locale, translations = _e.translations, diagnostics = _e.diagnostics;
|
|
70
|
-
if (diagnostics.hasErrors) {
|
|
71
|
-
throw new Error(diagnostics.formatDiagnostics("The translation file \"" + filePath + "\" could not be parsed."));
|
|
72
|
-
}
|
|
73
|
-
var locale = providedLocale || parsedLocale;
|
|
74
|
-
if (locale === undefined) {
|
|
75
|
-
throw new Error("The translation file \"" + filePath + "\" does not contain a target locale and no explicit locale was provided for this file.");
|
|
76
|
-
}
|
|
77
|
-
if (parsedLocale !== undefined && providedLocale !== undefined &&
|
|
78
|
-
parsedLocale !== providedLocale) {
|
|
79
|
-
diagnostics.warn("The provided locale \"" + providedLocale + "\" does not match the target locale \"" + parsedLocale + "\" found in the translation file \"" + filePath + "\".");
|
|
80
|
-
}
|
|
81
|
-
// If we were passed a diagnostics object then copy the messages over to it.
|
|
82
|
-
if (this.diagnostics) {
|
|
83
|
-
this.diagnostics.merge(diagnostics);
|
|
84
|
-
}
|
|
85
|
-
return { locale: locale, translations: translations, diagnostics: diagnostics };
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
89
|
-
finally {
|
|
90
|
-
try {
|
|
91
|
-
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
92
|
-
}
|
|
93
|
-
finally { if (e_1) throw e_1.error; }
|
|
94
|
-
}
|
|
95
|
-
var diagnosticsMessages = [];
|
|
96
|
-
try {
|
|
97
|
-
for (var _f = (0, tslib_1.__values)(unusedParsers.entries()), _g = _f.next(); !_g.done; _g = _f.next()) {
|
|
98
|
-
var _h = (0, tslib_1.__read)(_g.value, 2), parser = _h[0], result = _h[1];
|
|
99
|
-
diagnosticsMessages.push(result.diagnostics.formatDiagnostics("\n" + parser.constructor.name + " cannot parse translation file."));
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
103
|
-
finally {
|
|
104
|
-
try {
|
|
105
|
-
if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
|
|
106
|
-
}
|
|
107
|
-
finally { if (e_2) throw e_2.error; }
|
|
108
|
-
}
|
|
109
|
-
throw new Error("There is no \"TranslationParser\" that can parse this translation file: " + filePath + "." +
|
|
110
|
-
diagnosticsMessages.join('\n'));
|
|
111
|
-
};
|
|
112
|
-
/**
|
|
113
|
-
* There is more than one `filePath` for this locale, so load each as a bundle and then merge
|
|
114
|
-
* them all together.
|
|
115
|
-
*/
|
|
116
|
-
TranslationLoader.prototype.mergeBundles = function (filePaths, providedLocale) {
|
|
117
|
-
var _this = this;
|
|
118
|
-
var bundles = filePaths.map(function (filePath) { return _this.loadBundle(filePath, providedLocale); });
|
|
119
|
-
var bundle = bundles[0];
|
|
120
|
-
var _loop_1 = function (i) {
|
|
121
|
-
var nextBundle = bundles[i];
|
|
122
|
-
if (nextBundle.locale !== bundle.locale) {
|
|
123
|
-
if (this_1.diagnostics) {
|
|
124
|
-
var previousFiles = filePaths.slice(0, i).map(function (f) { return "\"" + f + "\""; }).join(', ');
|
|
125
|
-
this_1.diagnostics.warn("When merging multiple translation files, the target locale \"" + nextBundle.locale + "\" found in \"" + filePaths[i] + "\" does not match the target locale \"" + bundle.locale + "\" found in earlier files [" + previousFiles + "].");
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
Object.keys(nextBundle.translations).forEach(function (messageId) {
|
|
129
|
-
var _a;
|
|
130
|
-
if (bundle.translations[messageId] !== undefined) {
|
|
131
|
-
(_a = _this.diagnostics) === null || _a === void 0 ? void 0 : _a.add(_this.duplicateTranslation, "Duplicate translations for message \"" + messageId + "\" when merging \"" + filePaths[i] + "\".");
|
|
132
|
-
}
|
|
133
|
-
else {
|
|
134
|
-
bundle.translations[messageId] = nextBundle.translations[messageId];
|
|
135
|
-
}
|
|
136
|
-
});
|
|
137
|
-
};
|
|
138
|
-
var this_1 = this;
|
|
139
|
-
for (var i = 1; i < bundles.length; i++) {
|
|
140
|
-
_loop_1(i);
|
|
141
|
-
}
|
|
142
|
-
return bundle;
|
|
143
|
-
};
|
|
144
|
-
return TranslationLoader;
|
|
145
|
-
}());
|
|
146
|
-
exports.TranslationLoader = TranslationLoader;
|
|
147
|
-
});
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb25fbG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbG9jYWxpemUvc3JjL3Rvb2xzL3NyYy90cmFuc2xhdGUvdHJhbnNsYXRpb25fZmlsZXMvdHJhbnNsYXRpb25fbG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7SUFhQTs7T0FFRztJQUNIO1FBQ0UsMkJBQ1ksRUFBc0IsRUFBVSxrQkFBNEMsRUFDNUUsb0JBQWdEO1FBQ3hELGtCQUFrQixDQUFTLFdBQXlCO1lBRjVDLE9BQUUsR0FBRixFQUFFLENBQW9CO1lBQVUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUEwQjtZQUM1RSx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQTRCO1lBQzdCLGdCQUFXLEdBQVgsV0FBVyxDQUFjO1FBQUcsQ0FBQztRQUU1RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1dBcUJHO1FBQ0gsdUNBQVcsR0FBWCxVQUNJLG9CQUF3QyxFQUN4QyxzQkFBNEM7WUFGaEQsaUJBT0M7WUFKQyxPQUFPLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxVQUFDLFNBQVMsRUFBRSxLQUFLO2dCQUMvQyxJQUFNLGNBQWMsR0FBRyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckQsT0FBTyxLQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQztZQUN0RCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRDs7V0FFRztRQUNLLHNDQUFVLEdBQWxCLFVBQW1CLFFBQXdCLEVBQUUsY0FBZ0M7O1lBRTNFLElBQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2hELElBQU0sYUFBYSxHQUFHLElBQUksR0FBRyxFQUE4QyxDQUFDOztnQkFDNUUsS0FBZ0MsSUFBQSxLQUFBLHNCQUFBLElBQUks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Q0FBQyxJQUFJLE9BQUEsT0FBSSxDQUFDLE9BQUcsRUFBUixDQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQzFFLE9BQUssV0FBVyxDQUFDLElBQUksQ0FBQyxrRUFDbEIsVUFBVSxDQUFDLE1BQU0sc0JBQWUsU0FBUyxDQUFDLENBQUMsQ0FBQyw4Q0FDNUMsTUFBTSxDQUFDLE1BQU0sbUNBQTZCLGFBQWEsT0FBSSxDQUFDLENBQUM7cUJBQ2xFO2lCQUNGO2dCQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFBLFNBQVM7O29CQUNwRCxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEtBQUssU0FBUyxFQUFFO3dCQUNoRCxNQUFBLEtBQUksQ0FBQyxXQUFXLDBDQUFFLEdBQUcsQ0FDakIsS0FBSSxDQUFDLG9CQUFvQixFQUN6QiwwQ0FBdUMsU0FBUywwQkFBbUIsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFJLENBQUMsQ0FBQztxQkFDMUY7eUJBQU07d0JBQ0wsTUFBTSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO3FCQUNyRTtnQkFDSCxDQUFDLENBQUMsQ0FBQzs7O1lBbEJMLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRTt3QkFBOUIsQ0FBQzthQW1CVDtZQUNELE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7UUFDSCx3QkFBQztJQUFELENBQUMsQUF2SEQsSUF1SEM7SUF2SFksOENBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQge0Fic29sdXRlRnNQYXRoLCBSZWFkb25seUZpbGVTeXN0ZW19IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyLWNsaS9zcmMvbmd0c2MvZmlsZV9zeXN0ZW0nO1xuaW1wb3J0IHtEaWFnbm9zdGljSGFuZGxpbmdTdHJhdGVneSwgRGlhZ25vc3RpY3N9IGZyb20gJy4uLy4uL2RpYWdub3N0aWNzJztcbmltcG9ydCB7VHJhbnNsYXRpb25CdW5kbGV9IGZyb20gJy4uL3RyYW5zbGF0b3InO1xuXG5pbXBvcnQge1BhcnNlQW5hbHlzaXMsIFRyYW5zbGF0aW9uUGFyc2VyfSBmcm9tICcuL3RyYW5zbGF0aW9uX3BhcnNlcnMvdHJhbnNsYXRpb25fcGFyc2VyJztcblxuLyoqXG4gKiBVc2UgdGhpcyBjbGFzcyB0byBsb2FkIGEgY29sbGVjdGlvbiBvZiB0cmFuc2xhdGlvbiBmaWxlcyBmcm9tIGRpc2suXG4gKi9cbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvbkxvYWRlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBmczogUmVhZG9ubHlGaWxlU3lzdGVtLCBwcml2YXRlIHRyYW5zbGF0aW9uUGFyc2VyczogVHJhbnNsYXRpb25QYXJzZXI8YW55PltdLFxuICAgICAgcHJpdmF0ZSBkdXBsaWNhdGVUcmFuc2xhdGlvbjogRGlhZ25vc3RpY0hhbmRsaW5nU3RyYXRlZ3ksXG4gICAgICAvKiogQGRlcHJlY2F0ZWQgKi8gcHJpdmF0ZSBkaWFnbm9zdGljcz86IERpYWdub3N0aWNzKSB7fVxuXG4gIC8qKlxuICAgKiBMb2FkIGFuZCBwYXJzZSB0aGUgdHJhbnNsYXRpb24gZmlsZXMgaW50byBhIGNvbGxlY3Rpb24gb2YgYFRyYW5zbGF0aW9uQnVuZGxlc2AuXG4gICAqXG4gICAqIEBwYXJhbSB0cmFuc2xhdGlvbkZpbGVQYXRocyBBbiBhcnJheSwgcGVyIGxvY2FsZSwgb2YgYWJzb2x1dGUgcGF0aHMgdG8gdHJhbnNsYXRpb24gZmlsZXMuXG4gICAqXG4gICAqIEZvciBlYWNoIGxvY2FsZSB0byBiZSB0cmFuc2xhdGVkLCB0aGVyZSBpcyBhbiBlbGVtZW50IGluIGB0cmFuc2xhdGlvbkZpbGVQYXRoc2AuIEVhY2ggZWxlbWVudFxuICAgKiBpcyBhbiBhcnJheSBvZiBhYnNvbHV0ZSBwYXRocyB0byB0cmFuc2xhdGlvbiBmaWxlcyBmb3IgdGhhdCBsb2NhbGUuXG4gICAqIElmIHRoZSBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIHRyYW5zbGF0aW9uIGZpbGUsIHRoZW4gdGhlIHRyYW5zbGF0aW9ucyBhcmUgbWVyZ2VkLlxuICAgKiBJZiBhbGxvd2VkIGJ5IHRoZSBgZHVwbGljYXRlVHJhbnNsYXRpb25gIHByb3BlcnR5LCB3aGVuIG1vcmUgdGhhbiBvbmUgdHJhbnNsYXRpb24gaGFzIHRoZSBzYW1lXG4gICAqIG1lc3NhZ2UgaWQsIHRoZSBtZXNzYWdlIGZyb20gdGhlIGVhcmxpZXIgdHJhbnNsYXRpb24gZmlsZSBpbiB0aGUgYXJyYXkgaXMgdXNlZC5cbiAgICogRm9yIGV4YW1wbGUsIGlmIHRoZSBmaWxlcyBhcmUgYFthcHAueGxmLCBsaWItMS54bGYsIGxpYi0yLnhsaWZdYCB0aGVuIGEgbWVzc2FnZSB0aGF0IGFwcGVhcnMgaW5cbiAgICogYGFwcC54bGZgIHdpbGwgb3ZlcnJpZGUgdGhlIHNhbWUgbWVzc2FnZSBpbiBgbGliLTEueGxmYCBvciBgbGliLTIueGxmYC5cbiAgICpcbiAgICogQHBhcmFtIHRyYW5zbGF0aW9uRmlsZUxvY2FsZXMgQW4gYXJyYXkgb2YgbG9jYWxlcyBmb3IgZWFjaCBvZiB0aGUgdHJhbnNsYXRpb24gZmlsZXMuXG4gICAqXG4gICAqIElmIHRoZXJlIGlzIGEgbG9jYWxlIHByb3ZpZGVkIGluIGB0cmFuc2xhdGlvbkZpbGVMb2NhbGVzYCB0aGVuIHRoaXMgaXMgdXNlZCByYXRoZXIgdGhhbiBhXG4gICAqIGxvY2FsZSBleHRyYWN0ZWQgZnJvbSB0aGUgZmlsZSBpdHNlbGYuXG4gICAqIElmIHRoZXJlIGlzIG5laXRoZXIgYSBwcm92aWRlZCBsb2NhbGUgbm9yIGEgbG9jYWxlIHBhcnNlZCBmcm9tIHRoZSBmaWxlLCB0aGVuIGFuIGVycm9yIGlzXG4gICAqIHRocm93bi5cbiAgICogSWYgdGhlcmUgYXJlIGJvdGggYSBwcm92aWRlZCBsb2NhbGUgYW5kIGEgbG9jYWxlIHBhcnNlZCBmcm9tIHRoZSBmaWxlLCBhbmQgdGhleSBhcmUgbm90IHRoZVxuICAgKiBzYW1lLCB0aGVuIGEgd2FybmluZyBpcyByZXBvcnRlZC5cbiAgICovXG4gIGxvYWRCdW5kbGVzKFxuICAgICAgdHJhbnNsYXRpb25GaWxlUGF0aHM6IEFic29sdXRlRnNQYXRoW11bXSxcbiAgICAgIHRyYW5zbGF0aW9uRmlsZUxvY2FsZXM6IChzdHJpbmd8dW5kZWZpbmVkKVtdKTogVHJhbnNsYXRpb25CdW5kbGVbXSB7XG4gICAgcmV0dXJuIHRyYW5zbGF0aW9uRmlsZVBhdGhzLm1hcCgoZmlsZVBhdGhzLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgcHJvdmlkZWRMb2NhbGUgPSB0cmFuc2xhdGlvbkZpbGVMb2NhbGVzW2luZGV4XTtcbiAgICAgIHJldHVybiB0aGlzLm1lcmdlQnVuZGxlcyhmaWxlUGF0aHMsIHByb3ZpZGVkTG9jYWxlKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkIGFsbCB0aGUgdHJhbnNsYXRpb25zIGZyb20gdGhlIGZpbGUgYXQgdGhlIGdpdmVuIGBmaWxlUGF0aGAuXG4gICAqL1xuICBwcml2YXRlIGxvYWRCdW5kbGUoZmlsZVBhdGg6IEFic29sdXRlRnNQYXRoLCBwcm92aWRlZExvY2FsZTogc3RyaW5nfHVuZGVmaW5lZCk6XG4gICAgICBUcmFuc2xhdGlvbkJ1bmRsZSB7XG4gICAgY29uc3QgZmlsZUNvbnRlbnRzID0gdGhpcy5mcy5yZWFkRmlsZShmaWxlUGF0aCk7XG4gICAgY29uc3QgdW51c2VkUGFyc2VycyA9IG5ldyBNYXA8VHJhbnNsYXRpb25QYXJzZXI8YW55PiwgUGFyc2VBbmFseXNpczxhbnk+PigpO1xuICAgIGZvciAoY29uc3QgdHJhbnNsYXRpb25QYXJzZXIgb2YgdGhpcy50cmFuc2xhdGlvblBhcnNlcnMpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRyYW5zbGF0aW9uUGFyc2VyLmFuYWx5emUoZmlsZVBhdGgsIGZpbGVDb250ZW50cyk7XG4gICAgICBpZiAoIXJlc3VsdC5jYW5QYXJzZSkge1xuICAgICAgICB1bnVzZWRQYXJzZXJzLnNldCh0cmFuc2xhdGlvblBhcnNlciwgcmVzdWx0KTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHtsb2NhbGU6IHBhcnNlZExvY2FsZSwgdHJhbnNsYXRpb25zLCBkaWFnbm9zdGljc30gPVxuICAgICAgICAgIHRyYW5zbGF0aW9uUGFyc2VyLnBhcnNlKGZpbGVQYXRoLCBmaWxlQ29udGVudHMsIHJlc3VsdC5oaW50KTtcbiAgICAgIGlmIChkaWFnbm9zdGljcy5oYXNFcnJvcnMpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGRpYWdub3N0aWNzLmZvcm1hdERpYWdub3N0aWNzKFxuICAgICAgICAgICAgYFRoZSB0cmFuc2xhdGlvbiBmaWxlIFwiJHtmaWxlUGF0aH1cIiBjb3VsZCBub3QgYmUgcGFyc2VkLmApKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbG9jYWxlID0gcHJvdmlkZWRMb2NhbGUgfHwgcGFyc2VkTG9jYWxlO1xuICAgICAgaWYgKGxvY2FsZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlIHRyYW5zbGF0aW9uIGZpbGUgXCIke1xuICAgICAgICAgICAgZmlsZVBhdGh9XCIgZG9lcyBub3QgY29udGFpbiBhIHRhcmdldCBsb2NhbGUgYW5kIG5vIGV4cGxpY2l0IGxvY2FsZSB3YXMgcHJvdmlkZWQgZm9yIHRoaXMgZmlsZS5gKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHBhcnNlZExvY2FsZSAhPT0gdW5kZWZpbmVkICYmIHByb3ZpZGVkTG9jYWxlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICBwYXJzZWRMb2NhbGUgIT09IHByb3ZpZGVkTG9jYWxlKSB7XG4gICAgICAgIGRpYWdub3N0aWNzLndhcm4oXG4gICAgICAgICAgICBgVGhlIHByb3ZpZGVkIGxvY2FsZSBcIiR7cHJvdmlkZWRMb2NhbGV9XCIgZG9lcyBub3QgbWF0Y2ggdGhlIHRhcmdldCBsb2NhbGUgXCIke1xuICAgICAgICAgICAgICAgIHBhcnNlZExvY2FsZX1cIiBmb3VuZCBpbiB0aGUgdHJhbnNsYXRpb24gZmlsZSBcIiR7ZmlsZVBhdGh9XCIuYCk7XG4gICAgICB9XG5cbiAgICAgIC8vIElmIHdlIHdlcmUgcGFzc2VkIGEgZGlhZ25vc3RpY3Mgb2JqZWN0IHRoZW4gY29weSB0aGUgbWVzc2FnZXMgb3ZlciB0byBpdC5cbiAgICAgIGlmICh0aGlzLmRpYWdub3N0aWNzKSB7XG4gICAgICAgIHRoaXMuZGlhZ25vc3RpY3MubWVyZ2UoZGlhZ25vc3RpY3MpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge2xvY2FsZSwgdHJhbnNsYXRpb25zLCBkaWFnbm9zdGljc307XG4gICAgfVxuXG4gICAgY29uc3QgZGlhZ25vc3RpY3NNZXNzYWdlczogc3RyaW5nW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IFtwYXJzZXIsIHJlc3VsdF0gb2YgdW51c2VkUGFyc2Vycy5lbnRyaWVzKCkpIHtcbiAgICAgIGRpYWdub3N0aWNzTWVzc2FnZXMucHVzaChyZXN1bHQuZGlhZ25vc3RpY3MuZm9ybWF0RGlhZ25vc3RpY3MoXG4gICAgICAgICAgYFxcbiR7cGFyc2VyLmNvbnN0cnVjdG9yLm5hbWV9IGNhbm5vdCBwYXJzZSB0cmFuc2xhdGlvbiBmaWxlLmApKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVGhlcmUgaXMgbm8gXCJUcmFuc2xhdGlvblBhcnNlclwiIHRoYXQgY2FuIHBhcnNlIHRoaXMgdHJhbnNsYXRpb24gZmlsZTogJHtmaWxlUGF0aH0uYCArXG4gICAgICAgIGRpYWdub3N0aWNzTWVzc2FnZXMuam9pbignXFxuJykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgYGZpbGVQYXRoYCBmb3IgdGhpcyBsb2NhbGUsIHNvIGxvYWQgZWFjaCBhcyBhIGJ1bmRsZSBhbmQgdGhlbiBtZXJnZVxuICAgKiB0aGVtIGFsbCB0b2dldGhlci5cbiAgICovXG4gIHByaXZhdGUgbWVyZ2VCdW5kbGVzKGZpbGVQYXRoczogQWJzb2x1dGVGc1BhdGhbXSwgcHJvdmlkZWRMb2NhbGU6IHN0cmluZ3x1bmRlZmluZWQpOlxuICAgICAgVHJhbnNsYXRpb25CdW5kbGUge1xuICAgIGNvbnN0IGJ1bmRsZXMgPSBmaWxlUGF0aHMubWFwKGZpbGVQYXRoID0+IHRoaXMubG9hZEJ1bmRsZShmaWxlUGF0aCwgcHJvdmlkZWRMb2NhbGUpKTtcbiAgICBjb25zdCBidW5kbGUgPSBidW5kbGVzWzBdO1xuICAgIGZvciAobGV0IGkgPSAxOyBpIDwgYnVuZGxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgbmV4dEJ1bmRsZSA9IGJ1bmRsZXNbaV07XG4gICAgICBpZiAobmV4dEJ1bmRsZS5sb2NhbGUgIT09IGJ1bmRsZS5sb2NhbGUpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlhZ25vc3RpY3MpIHtcbiAgICAgICAgICBjb25zdCBwcmV2aW91c0ZpbGVzID0gZmlsZVBhdGhzLnNsaWNlKDAsIGkpLm1hcChmID0+IGBcIiR7Zn1cImApLmpvaW4oJywgJyk7XG4gICAgICAgICAgdGhpcy5kaWFnbm9zdGljcy53YXJuKGBXaGVuIG1lcmdpbmcgbXVsdGlwbGUgdHJhbnNsYXRpb24gZmlsZXMsIHRoZSB0YXJnZXQgbG9jYWxlIFwiJHtcbiAgICAgICAgICAgICAgbmV4dEJ1bmRsZS5sb2NhbGV9XCIgZm91bmQgaW4gXCIke2ZpbGVQYXRoc1tpXX1cIiBkb2VzIG5vdCBtYXRjaCB0aGUgdGFyZ2V0IGxvY2FsZSBcIiR7XG4gICAgICAgICAgICAgIGJ1bmRsZS5sb2NhbGV9XCIgZm91bmQgaW4gZWFybGllciBmaWxlcyBbJHtwcmV2aW91c0ZpbGVzfV0uYCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIE9iamVjdC5rZXlzKG5leHRCdW5kbGUudHJhbnNsYXRpb25zKS5mb3JFYWNoKG1lc3NhZ2VJZCA9PiB7XG4gICAgICAgIGlmIChidW5kbGUudHJhbnNsYXRpb25zW21lc3NhZ2VJZF0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHRoaXMuZGlhZ25vc3RpY3M/LmFkZChcbiAgICAgICAgICAgICAgdGhpcy5kdXBsaWNhdGVUcmFuc2xhdGlvbixcbiAgICAgICAgICAgICAgYER1cGxpY2F0ZSB0cmFuc2xhdGlvbnMgZm9yIG1lc3NhZ2UgXCIke21lc3NhZ2VJZH1cIiB3aGVuIG1lcmdpbmcgXCIke2ZpbGVQYXRoc1tpXX1cIi5gKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBidW5kbGUudHJhbnNsYXRpb25zW21lc3NhZ2VJZF0gPSBuZXh0QnVuZGxlLnRyYW5zbGF0aW9uc1ttZXNzYWdlSWRdO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGJ1bmRsZTtcbiAgfVxufVxuIl19
|