@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.
Files changed (138) hide show
  1. package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  2. package/esm2020/init/index.mjs +12 -0
  3. package/{esm2015/localize.js → esm2020/localize.mjs} +0 -0
  4. package/{esm2015/private.js → esm2020/private.mjs} +0 -0
  5. package/{esm2015/src/localize/index.js → esm2020/src/localize/index.mjs} +0 -0
  6. package/{esm2015/src/localize/src/global.js → esm2020/src/localize/src/global.mjs} +0 -0
  7. package/{esm2015/src/localize/src/localize.js → esm2020/src/localize/src/localize.mjs} +2 -2
  8. package/{esm2015/src/translate.js → esm2020/src/translate.mjs} +0 -0
  9. package/{esm2015/src/utils/index.js → esm2020/src/utils/index.mjs} +0 -0
  10. package/{esm2015/src/utils/src/constants.js → esm2020/src/utils/src/constants.mjs} +0 -0
  11. package/esm2020/src/utils/src/messages.mjs +159 -0
  12. package/{esm2015/src/utils/src/translations.js → esm2020/src/utils/src/translations.mjs} +0 -0
  13. package/fesm2015/{init.js → init.mjs} +3 -3
  14. package/fesm2015/init.mjs.map +1 -0
  15. package/fesm2015/{localize.js → localize.mjs} +7 -7
  16. package/fesm2015/localize.mjs.map +1 -0
  17. package/fesm2020/init.mjs +204 -0
  18. package/fesm2020/init.mjs.map +1 -0
  19. package/fesm2020/localize.mjs +449 -0
  20. package/fesm2020/localize.mjs.map +1 -0
  21. package/init/index.d.ts +1 -1
  22. package/init/package.json +5 -5
  23. package/package.json +43 -18
  24. package/schematics/ng-add/index.js +1 -1
  25. package/src/localize/src/localize.d.ts +1 -1
  26. package/src/utils/src/messages.d.ts +1 -1
  27. package/tools/README.md +4 -0
  28. package/tools/bundles/index.js +1929 -0
  29. package/tools/bundles/index.js.map +6 -0
  30. package/tools/bundles/src/extract/cli.js +1278 -0
  31. package/tools/bundles/src/extract/cli.js.map +6 -0
  32. package/tools/bundles/src/migrate/cli.js +77 -0
  33. package/tools/bundles/src/migrate/cli.js.map +6 -0
  34. package/tools/bundles/src/translate/cli.js +1340 -0
  35. package/tools/bundles/src/translate/cli.js.map +6 -0
  36. package/tools/bundles_metadata.json +1 -0
  37. package/tools/index.d.ts +26 -0
  38. package/tools/src/babel_core.d.ts +38 -0
  39. package/{src/tools → tools}/src/diagnostics.d.ts +1 -1
  40. package/tools/src/extract/cli.d.ts +10 -0
  41. package/{src/tools → tools}/src/extract/duplicates.d.ts +2 -2
  42. package/{src/tools → tools}/src/extract/extraction.d.ts +2 -3
  43. package/{src/tools/src/extract/main.d.ts → tools/src/extract/index.d.ts} +2 -4
  44. package/{src/tools → tools}/src/extract/source_files/es2015_extract_plugin.d.ts +3 -3
  45. package/{src/tools → tools}/src/extract/source_files/es5_extract_plugin.d.ts +3 -3
  46. package/{src/tools → tools}/src/extract/translation_files/arb_translation_serializer.d.ts +2 -2
  47. package/{src/tools → tools}/src/extract/translation_files/format_options.d.ts +1 -1
  48. package/{src/tools → tools}/src/extract/translation_files/icu_parsing.d.ts +1 -1
  49. package/{src/tools → tools}/src/extract/translation_files/json_translation_serializer.d.ts +1 -1
  50. package/{src/tools → tools}/src/extract/translation_files/legacy_message_id_migration_serializer.d.ts +1 -1
  51. package/{src/tools → tools}/src/extract/translation_files/translation_serializer.d.ts +1 -1
  52. package/{src/tools → tools}/src/extract/translation_files/utils.d.ts +1 -1
  53. package/{src/tools → tools}/src/extract/translation_files/xliff1_translation_serializer.d.ts +2 -2
  54. package/{src/tools → tools}/src/extract/translation_files/xliff2_translation_serializer.d.ts +2 -2
  55. package/{src/tools → tools}/src/extract/translation_files/xmb_translation_serializer.d.ts +2 -2
  56. package/{src/tools → tools}/src/extract/translation_files/xml_file.d.ts +1 -1
  57. package/tools/src/migrate/cli.d.ts +10 -0
  58. package/{src/tools/src/migrate/main.d.ts → tools/src/migrate/index.d.ts} +9 -3
  59. package/{src/tools → tools}/src/migrate/migrate.d.ts +1 -1
  60. package/{src/tools → tools}/src/source_file_utils.d.ts +3 -3
  61. package/{src/tools → tools}/src/translate/asset_files/asset_translation_handler.d.ts +2 -2
  62. package/tools/src/translate/cli.d.ts +3 -0
  63. package/{src/tools/src/translate/main.d.ts → tools/src/translate/index.d.ts} +1 -2
  64. package/{src/tools → tools}/src/translate/output_path.d.ts +2 -2
  65. package/{src/tools → tools}/src/translate/source_files/es2015_translate_plugin.d.ts +3 -3
  66. package/{src/tools → tools}/src/translate/source_files/es5_translate_plugin.d.ts +3 -3
  67. package/{src/tools → tools}/src/translate/source_files/locale_plugin.d.ts +2 -2
  68. package/{src/tools → tools}/src/translate/source_files/source_file_translation_handler.d.ts +2 -2
  69. package/{src/tools → tools}/src/translate/translation_files/base_visitor.d.ts +1 -1
  70. package/{src/tools → tools}/src/translate/translation_files/message_serialization/message_renderer.d.ts +1 -1
  71. package/{src/tools → tools}/src/translate/translation_files/message_serialization/message_serializer.d.ts +1 -1
  72. package/{src/tools → tools}/src/translate/translation_files/message_serialization/target_message_renderer.d.ts +1 -1
  73. package/{src/tools → tools}/src/translate/translation_files/translation_loader.d.ts +2 -2
  74. package/{src/tools → tools}/src/translate/translation_files/translation_parsers/arb_translation_parser.d.ts +1 -1
  75. package/{src/tools → tools}/src/translate/translation_files/translation_parsers/serialize_translation_message.d.ts +1 -1
  76. package/{src/tools → tools}/src/translate/translation_files/translation_parsers/simple_json_translation_parser.d.ts +1 -1
  77. package/{src/tools → tools}/src/translate/translation_files/translation_parsers/translation_parse_error.d.ts +1 -1
  78. package/{src/tools → tools}/src/translate/translation_files/translation_parsers/translation_parser.d.ts +2 -2
  79. package/{src/tools → tools}/src/translate/translation_files/translation_parsers/translation_utils.d.ts +1 -1
  80. package/{src/tools → tools}/src/translate/translation_files/translation_parsers/xliff1_translation_parser.d.ts +1 -1
  81. package/{src/tools → tools}/src/translate/translation_files/translation_parsers/xliff2_translation_parser.d.ts +1 -1
  82. package/{src/tools → tools}/src/translate/translation_files/translation_parsers/xtb_translation_parser.d.ts +1 -1
  83. package/{src/tools → tools}/src/translate/translator.d.ts +2 -2
  84. package/bundles/localize-init.umd.js +0 -218
  85. package/bundles/localize-init.umd.js.map +0 -1
  86. package/bundles/localize.umd.js +0 -782
  87. package/bundles/localize.umd.js.map +0 -1
  88. package/esm2015/init/index.js +0 -12
  89. package/esm2015/init/init.externs.js +0 -0
  90. package/esm2015/localize.externs.js +0 -0
  91. package/esm2015/src/localize/localize.externs.js +0 -0
  92. package/esm2015/src/utils/src/messages.js +0 -159
  93. package/esm2015/src/utils/utils.externs.js +0 -0
  94. package/fesm2015/init.js.map +0 -1
  95. package/fesm2015/localize.js.map +0 -1
  96. package/init.d.ts +0 -7
  97. package/src/tools/src/diagnostics.js +0 -68
  98. package/src/tools/src/extract/duplicates.js +0 -84
  99. package/src/tools/src/extract/extraction.js +0 -134
  100. package/src/tools/src/extract/main.js +0 -184
  101. package/src/tools/src/extract/source_files/es2015_extract_plugin.js +0 -36
  102. package/src/tools/src/extract/source_files/es5_extract_plugin.js +0 -49
  103. package/src/tools/src/extract/translation_files/arb_translation_serializer.js +0 -107
  104. package/src/tools/src/extract/translation_files/format_options.js +0 -52
  105. package/src/tools/src/extract/translation_files/icu_parsing.js +0 -224
  106. package/src/tools/src/extract/translation_files/json_translation_serializer.js +0 -47
  107. package/src/tools/src/extract/translation_files/legacy_message_id_migration_serializer.js +0 -63
  108. package/src/tools/src/extract/translation_files/translation_serializer.js +0 -13
  109. package/src/tools/src/extract/translation_files/utils.js +0 -102
  110. package/src/tools/src/extract/translation_files/xliff1_translation_serializer.js +0 -242
  111. package/src/tools/src/extract/translation_files/xliff2_translation_serializer.js +0 -231
  112. package/src/tools/src/extract/translation_files/xmb_translation_serializer.js +0 -139
  113. package/src/tools/src/extract/translation_files/xml_file.js +0 -117
  114. package/src/tools/src/migrate/main.js +0 -79
  115. package/src/tools/src/migrate/migrate.js +0 -48
  116. package/src/tools/src/source_file_utils.js +0 -443
  117. package/src/tools/src/translate/asset_files/asset_translation_handler.js +0 -65
  118. package/src/tools/src/translate/main.js +0 -157
  119. package/src/tools/src/translate/output_path.js +0 -28
  120. package/src/tools/src/translate/source_files/es2015_translate_plugin.js +0 -60
  121. package/src/tools/src/translate/source_files/es5_translate_plugin.js +0 -58
  122. package/src/tools/src/translate/source_files/locale_plugin.js +0 -95
  123. package/src/tools/src/translate/source_files/source_file_translation_handler.js +0 -127
  124. package/src/tools/src/translate/translation_files/base_visitor.js +0 -31
  125. package/src/tools/src/translate/translation_files/message_serialization/message_renderer.js +0 -20
  126. package/src/tools/src/translate/translation_files/message_serialization/message_serializer.js +0 -100
  127. package/src/tools/src/translate/translation_files/message_serialization/target_message_renderer.js +0 -84
  128. package/src/tools/src/translate/translation_files/translation_loader.js +0 -148
  129. package/src/tools/src/translate/translation_files/translation_parsers/arb_translation_parser.js +0 -111
  130. package/src/tools/src/translate/translation_files/translation_parsers/serialize_translation_message.js +0 -32
  131. package/src/tools/src/translate/translation_files/translation_parsers/simple_json_translation_parser.js +0 -96
  132. package/src/tools/src/translate/translation_files/translation_parsers/translation_parse_error.js +0 -47
  133. package/src/tools/src/translate/translation_files/translation_parsers/translation_parser.js +0 -13
  134. package/src/tools/src/translate/translation_files/translation_parsers/translation_utils.js +0 -175
  135. package/src/tools/src/translate/translation_files/translation_parsers/xliff1_translation_parser.js +0 -175
  136. package/src/tools/src/translate/translation_files/translation_parsers/xliff2_translation_parser.js +0 -166
  137. package/src/tools/src/translate/translation_files/translation_parsers/xtb_translation_parser.js +0 -133
  138. package/src/tools/src/translate/translator.js +0 -53
@@ -1,111 +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_parsers/arb_translation_parser", ["require", "exports", "tslib", "@angular/localize", "@angular/localize/src/tools/src/diagnostics"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.ArbTranslationParser = 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 localize_1 = require("@angular/localize");
22
- var diagnostics_1 = require("@angular/localize/src/tools/src/diagnostics");
23
- /**
24
- * A translation parser that can parse JSON formatted as an Application Resource Bundle (ARB).
25
- *
26
- * See https://github.com/google/app-resource-bundle/wiki/ApplicationResourceBundleSpecification
27
- *
28
- * ```
29
- * {
30
- * "@@locale": "en-US",
31
- * "message-id": "Target message string",
32
- * "@message-id": {
33
- * "type": "text",
34
- * "description": "Some description text",
35
- * "x-locations": [
36
- * {
37
- * "start": {"line": 23, "column": 145},
38
- * "end": {"line": 24, "column": 53},
39
- * "file": "some/file.ts"
40
- * },
41
- * ...
42
- * ]
43
- * },
44
- * ...
45
- * }
46
- * ```
47
- */
48
- var ArbTranslationParser = /** @class */ (function () {
49
- function ArbTranslationParser() {
50
- }
51
- /**
52
- * @deprecated
53
- */
54
- ArbTranslationParser.prototype.canParse = function (filePath, contents) {
55
- var result = this.analyze(filePath, contents);
56
- return result.canParse && result.hint;
57
- };
58
- ArbTranslationParser.prototype.analyze = function (_filePath, contents) {
59
- var diagnostics = new diagnostics_1.Diagnostics();
60
- if (!contents.includes('"@@locale"')) {
61
- return { canParse: false, diagnostics: diagnostics };
62
- }
63
- try {
64
- // We can parse this file if it is valid JSON and contains the `"@@locale"` property.
65
- return { canParse: true, diagnostics: diagnostics, hint: this.tryParseArbFormat(contents) };
66
- }
67
- catch (_a) {
68
- diagnostics.warn('File is not valid JSON.');
69
- return { canParse: false, diagnostics: diagnostics };
70
- }
71
- };
72
- ArbTranslationParser.prototype.parse = function (_filePath, contents, arb) {
73
- var e_1, _a;
74
- if (arb === void 0) { arb = this.tryParseArbFormat(contents); }
75
- var bundle = {
76
- locale: arb['@@locale'],
77
- translations: {},
78
- diagnostics: new diagnostics_1.Diagnostics()
79
- };
80
- try {
81
- for (var _b = (0, tslib_1.__values)(Object.keys(arb)), _c = _b.next(); !_c.done; _c = _b.next()) {
82
- var messageId = _c.value;
83
- if (messageId.startsWith('@')) {
84
- // Skip metadata keys
85
- continue;
86
- }
87
- var targetMessage = arb[messageId];
88
- bundle.translations[messageId] = (0, localize_1.ɵparseTranslation)(targetMessage);
89
- }
90
- }
91
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
92
- finally {
93
- try {
94
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
95
- }
96
- finally { if (e_1) throw e_1.error; }
97
- }
98
- return bundle;
99
- };
100
- ArbTranslationParser.prototype.tryParseArbFormat = function (contents) {
101
- var json = JSON.parse(contents);
102
- if (typeof json['@@locale'] !== 'string') {
103
- throw new Error('Missing @@locale property.');
104
- }
105
- return json;
106
- };
107
- return ArbTranslationParser;
108
- }());
109
- exports.ArbTranslationParser = ArbTranslationParser;
110
- });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJiX3RyYW5zbGF0aW9uX3BhcnNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2xvY2FsaXplL3NyYy90b29scy9zcmMvdHJhbnNsYXRlL3RyYW5zbGF0aW9uX2ZpbGVzL3RyYW5zbGF0aW9uX3BhcnNlcnMvYXJiX3RyYW5zbGF0aW9uX3BhcnNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0lBQUE7Ozs7OztPQU1HO0lBQ0gsOENBQWlHO0lBQ2pHLDJFQUFpRDtJQW1CakQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXdCRztJQUNIO1FBQUE7UUFpREEsQ0FBQztRQWhEQzs7V0FFRztRQUNILHVDQUFRLEdBQVIsVUFBUyxRQUFnQixFQUFFLFFBQWdCO1lBQ3pDLElBQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ2hELE9BQU8sTUFBTSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3hDLENBQUM7UUFFRCxzQ0FBTyxHQUFQLFVBQVEsU0FBaUIsRUFBRSxRQUFnQjtZQUN6QyxJQUFNLFdBQVcsR0FBRyxJQUFJLHlCQUFXLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsRUFBRTtnQkFDcEMsT0FBTyxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxhQUFBLEVBQUMsQ0FBQzthQUN2QztZQUNELElBQUk7Z0JBQ0YscUZBQXFGO2dCQUNyRixPQUFPLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxXQUFXLGFBQUEsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxFQUFDLENBQUM7YUFDOUU7WUFBQyxXQUFNO2dCQUNOLFdBQVcsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQztnQkFDNUMsT0FBTyxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxhQUFBLEVBQUMsQ0FBQzthQUN2QztRQUNILENBQUM7UUFFRCxvQ0FBSyxHQUFMLFVBQU0sU0FBaUIsRUFBRSxRQUFnQixFQUFFLEdBQXFEOztZQUFyRCxvQkFBQSxFQUFBLE1BQXFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7WUFFOUYsSUFBTSxNQUFNLEdBQTRCO2dCQUN0QyxNQUFNLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBQztnQkFDdkIsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLFdBQVcsRUFBRSxJQUFJLHlCQUFXLEVBQUU7YUFDL0IsQ0FBQzs7Z0JBRUYsS0FBd0IsSUFBQSxLQUFBLHNCQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUEsZ0JBQUEsNEJBQUU7b0JBQXJDLElBQU0sU0FBUyxXQUFBO29CQUNsQixJQUFJLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7d0JBQzdCLHFCQUFxQjt3QkFDckIsU0FBUztxQkFDVjtvQkFDRCxJQUFNLGFBQWEsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFXLENBQUM7b0JBQy9DLE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBQSw0QkFBaUIsRUFBQyxhQUFhLENBQUMsQ0FBQztpQkFDbkU7Ozs7Ozs7OztZQUNELE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7UUFFTyxnREFBaUIsR0FBekIsVUFBMEIsUUFBZ0I7WUFDeEMsSUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQWtCLENBQUM7WUFDbkQsSUFBSSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxRQUFRLEVBQUU7Z0JBQ3hDLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQzthQUMvQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNILDJCQUFDO0lBQUQsQ0FBQyxBQWpERCxJQWlEQztJQWpEWSxvREFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7ybVNZXNzYWdlSWQsIMm1cGFyc2VUcmFuc2xhdGlvbiwgybVTb3VyY2VMb2NhdGlvbiwgybVTb3VyY2VNZXNzYWdlfSBmcm9tICdAYW5ndWxhci9sb2NhbGl6ZSc7XG5pbXBvcnQge0RpYWdub3N0aWNzfSBmcm9tICcuLi8uLi8uLi9kaWFnbm9zdGljcyc7XG5pbXBvcnQge1BhcnNlQW5hbHlzaXMsIFBhcnNlZFRyYW5zbGF0aW9uQnVuZGxlLCBUcmFuc2xhdGlvblBhcnNlcn0gZnJvbSAnLi90cmFuc2xhdGlvbl9wYXJzZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFyYkpzb25PYmplY3QgZXh0ZW5kcyBSZWNvcmQ8ybVNZXNzYWdlSWQsIMm1U291cmNlTWVzc2FnZXxBcmJNZXRhZGF0YT4ge1xuICAnQEBsb2NhbGUnOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXJiTWV0YWRhdGEge1xuICB0eXBlPzogJ3RleHQnfCdpbWFnZSd8J2Nzcyc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBbJ3gtbG9jYXRpb25zJ10/OiBBcmJMb2NhdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFyYkxvY2F0aW9uIHtcbiAgc3RhcnQ6IHtsaW5lOiBudW1iZXIsIGNvbHVtbjogbnVtYmVyfTtcbiAgZW5kOiB7bGluZTogbnVtYmVyLCBjb2x1bW46IG51bWJlcn07XG4gIGZpbGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIHRyYW5zbGF0aW9uIHBhcnNlciB0aGF0IGNhbiBwYXJzZSBKU09OIGZvcm1hdHRlZCBhcyBhbiBBcHBsaWNhdGlvbiBSZXNvdXJjZSBCdW5kbGUgKEFSQikuXG4gKlxuICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvYXBwLXJlc291cmNlLWJ1bmRsZS93aWtpL0FwcGxpY2F0aW9uUmVzb3VyY2VCdW5kbGVTcGVjaWZpY2F0aW9uXG4gKlxuICogYGBgXG4gKiB7XG4gKiAgIFwiQEBsb2NhbGVcIjogXCJlbi1VU1wiLFxuICogICBcIm1lc3NhZ2UtaWRcIjogXCJUYXJnZXQgbWVzc2FnZSBzdHJpbmdcIixcbiAqICAgXCJAbWVzc2FnZS1pZFwiOiB7XG4gKiAgICAgXCJ0eXBlXCI6IFwidGV4dFwiLFxuICogICAgIFwiZGVzY3JpcHRpb25cIjogXCJTb21lIGRlc2NyaXB0aW9uIHRleHRcIixcbiAqICAgICBcIngtbG9jYXRpb25zXCI6IFtcbiAqICAgICAgIHtcbiAqICAgICAgICAgXCJzdGFydFwiOiB7XCJsaW5lXCI6IDIzLCBcImNvbHVtblwiOiAxNDV9LFxuICogICAgICAgICBcImVuZFwiOiB7XCJsaW5lXCI6IDI0LCBcImNvbHVtblwiOiA1M30sXG4gKiAgICAgICAgIFwiZmlsZVwiOiBcInNvbWUvZmlsZS50c1wiXG4gKiAgICAgICB9LFxuICogICAgICAgLi4uXG4gKiAgICAgXVxuICogICB9LFxuICogICAuLi5cbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgQXJiVHJhbnNsYXRpb25QYXJzZXIgaW1wbGVtZW50cyBUcmFuc2xhdGlvblBhcnNlcjxBcmJKc29uT2JqZWN0PiB7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgY2FuUGFyc2UoZmlsZVBhdGg6IHN0cmluZywgY29udGVudHM6IHN0cmluZyk6IEFyYkpzb25PYmplY3R8ZmFsc2Uge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuYW5hbHl6ZShmaWxlUGF0aCwgY29udGVudHMpO1xuICAgIHJldHVybiByZXN1bHQuY2FuUGFyc2UgJiYgcmVzdWx0LmhpbnQ7XG4gIH1cblxuICBhbmFseXplKF9maWxlUGF0aDogc3RyaW5nLCBjb250ZW50czogc3RyaW5nKTogUGFyc2VBbmFseXNpczxBcmJKc29uT2JqZWN0PiB7XG4gICAgY29uc3QgZGlhZ25vc3RpY3MgPSBuZXcgRGlhZ25vc3RpY3MoKTtcbiAgICBpZiAoIWNvbnRlbnRzLmluY2x1ZGVzKCdcIkBAbG9jYWxlXCInKSkge1xuICAgICAgcmV0dXJuIHtjYW5QYXJzZTogZmFsc2UsIGRpYWdub3N0aWNzfTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIC8vIFdlIGNhbiBwYXJzZSB0aGlzIGZpbGUgaWYgaXQgaXMgdmFsaWQgSlNPTiBhbmQgY29udGFpbnMgdGhlIGBcIkBAbG9jYWxlXCJgIHByb3BlcnR5LlxuICAgICAgcmV0dXJuIHtjYW5QYXJzZTogdHJ1ZSwgZGlhZ25vc3RpY3MsIGhpbnQ6IHRoaXMudHJ5UGFyc2VBcmJGb3JtYXQoY29udGVudHMpfTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIGRpYWdub3N0aWNzLndhcm4oJ0ZpbGUgaXMgbm90IHZhbGlkIEpTT04uJyk7XG4gICAgICByZXR1cm4ge2NhblBhcnNlOiBmYWxzZSwgZGlhZ25vc3RpY3N9O1xuICAgIH1cbiAgfVxuXG4gIHBhcnNlKF9maWxlUGF0aDogc3RyaW5nLCBjb250ZW50czogc3RyaW5nLCBhcmI6IEFyYkpzb25PYmplY3QgPSB0aGlzLnRyeVBhcnNlQXJiRm9ybWF0KGNvbnRlbnRzKSk6XG4gICAgICBQYXJzZWRUcmFuc2xhdGlvbkJ1bmRsZSB7XG4gICAgY29uc3QgYnVuZGxlOiBQYXJzZWRUcmFuc2xhdGlvbkJ1bmRsZSA9IHtcbiAgICAgIGxvY2FsZTogYXJiWydAQGxvY2FsZSddLFxuICAgICAgdHJhbnNsYXRpb25zOiB7fSxcbiAgICAgIGRpYWdub3N0aWNzOiBuZXcgRGlhZ25vc3RpY3MoKVxuICAgIH07XG5cbiAgICBmb3IgKGNvbnN0IG1lc3NhZ2VJZCBvZiBPYmplY3Qua2V5cyhhcmIpKSB7XG4gICAgICBpZiAobWVzc2FnZUlkLnN0YXJ0c1dpdGgoJ0AnKSkge1xuICAgICAgICAvLyBTa2lwIG1ldGFkYXRhIGtleXNcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBjb25zdCB0YXJnZXRNZXNzYWdlID0gYXJiW21lc3NhZ2VJZF0gYXMgc3RyaW5nO1xuICAgICAgYnVuZGxlLnRyYW5zbGF0aW9uc1ttZXNzYWdlSWRdID0gybVwYXJzZVRyYW5zbGF0aW9uKHRhcmdldE1lc3NhZ2UpO1xuICAgIH1cbiAgICByZXR1cm4gYnVuZGxlO1xuICB9XG5cbiAgcHJpdmF0ZSB0cnlQYXJzZUFyYkZvcm1hdChjb250ZW50czogc3RyaW5nKTogQXJiSnNvbk9iamVjdCB7XG4gICAgY29uc3QganNvbiA9IEpTT04ucGFyc2UoY29udGVudHMpIGFzIEFyYkpzb25PYmplY3Q7XG4gICAgaWYgKHR5cGVvZiBqc29uWydAQGxvY2FsZSddICE9PSAnc3RyaW5nJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIEBAbG9jYWxlIHByb3BlcnR5LicpO1xuICAgIH1cbiAgICByZXR1cm4ganNvbjtcbiAgfVxufVxuIl19
@@ -1,32 +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_parsers/serialize_translation_message", ["require", "exports", "@angular/localize/src/tools/src/translate/translation_files/message_serialization/message_serializer", "@angular/localize/src/tools/src/translate/translation_files/message_serialization/target_message_renderer", "@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.serializeTranslationMessage = void 0;
13
- var message_serializer_1 = require("@angular/localize/src/tools/src/translate/translation_files/message_serialization/message_serializer");
14
- var target_message_renderer_1 = require("@angular/localize/src/tools/src/translate/translation_files/message_serialization/target_message_renderer");
15
- var translation_utils_1 = require("@angular/localize/src/tools/src/translate/translation_files/translation_parsers/translation_utils");
16
- /**
17
- * Serialize the given `element` into a parsed translation using the given `serializer`.
18
- */
19
- function serializeTranslationMessage(element, config) {
20
- var _a = (0, translation_utils_1.parseInnerRange)(element), rootNodes = _a.rootNodes, parseErrors = _a.errors;
21
- try {
22
- var serializer = new message_serializer_1.MessageSerializer(new target_message_renderer_1.TargetMessageRenderer(), config);
23
- var translation = serializer.serialize(rootNodes);
24
- return { translation: translation, parseErrors: parseErrors, serializeErrors: [] };
25
- }
26
- catch (e) {
27
- return { translation: null, parseErrors: parseErrors, serializeErrors: [e] };
28
- }
29
- }
30
- exports.serializeTranslationMessage = serializeTranslationMessage;
31
- });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplX3RyYW5zbGF0aW9uX21lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9sb2NhbGl6ZS9zcmMvdG9vbHMvc3JjL3RyYW5zbGF0ZS90cmFuc2xhdGlvbl9maWxlcy90cmFuc2xhdGlvbl9wYXJzZXJzL3NlcmlhbGl6ZV90cmFuc2xhdGlvbl9tZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQVVBLDJJQUF1RztJQUN2RyxxSkFBdUY7SUFFdkYsdUlBQW9EO0lBRXBEOztPQUVHO0lBQ0gsU0FBZ0IsMkJBQTJCLENBQUMsT0FBZ0IsRUFBRSxNQUErQjtRQUtyRixJQUFBLEtBQW1DLElBQUEsbUNBQWUsRUFBQyxPQUFPLENBQUMsRUFBMUQsU0FBUyxlQUFBLEVBQVUsV0FBVyxZQUE0QixDQUFDO1FBQ2xFLElBQUk7WUFDRixJQUFNLFVBQVUsR0FBRyxJQUFJLHNDQUFpQixDQUFDLElBQUksK0NBQXFCLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUM5RSxJQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BELE9BQU8sRUFBQyxXQUFXLGFBQUEsRUFBRSxXQUFXLGFBQUEsRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFDLENBQUM7U0FDeEQ7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE9BQU8sRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLFdBQVcsYUFBQSxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUM7U0FDL0Q7SUFDSCxDQUFDO0lBYkQsa0VBYUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7RWxlbWVudCwgUGFyc2VFcnJvcn0gZnJvbSAnQGFuZ3VsYXIvY29tcGlsZXInO1xuaW1wb3J0IHvJtVBhcnNlZFRyYW5zbGF0aW9ufSBmcm9tICdAYW5ndWxhci9sb2NhbGl6ZSc7XG5cbmltcG9ydCB7TWVzc2FnZVNlcmlhbGl6ZXIsIE1lc3NhZ2VTZXJpYWxpemVyQ29uZmlnfSBmcm9tICcuLi9tZXNzYWdlX3NlcmlhbGl6YXRpb24vbWVzc2FnZV9zZXJpYWxpemVyJztcbmltcG9ydCB7VGFyZ2V0TWVzc2FnZVJlbmRlcmVyfSBmcm9tICcuLi9tZXNzYWdlX3NlcmlhbGl6YXRpb24vdGFyZ2V0X21lc3NhZ2VfcmVuZGVyZXInO1xuXG5pbXBvcnQge3BhcnNlSW5uZXJSYW5nZX0gZnJvbSAnLi90cmFuc2xhdGlvbl91dGlscyc7XG5cbi8qKlxuICogU2VyaWFsaXplIHRoZSBnaXZlbiBgZWxlbWVudGAgaW50byBhIHBhcnNlZCB0cmFuc2xhdGlvbiB1c2luZyB0aGUgZ2l2ZW4gYHNlcmlhbGl6ZXJgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplVHJhbnNsYXRpb25NZXNzYWdlKGVsZW1lbnQ6IEVsZW1lbnQsIGNvbmZpZzogTWVzc2FnZVNlcmlhbGl6ZXJDb25maWcpOiB7XG4gIHRyYW5zbGF0aW9uOiDJtVBhcnNlZFRyYW5zbGF0aW9ufG51bGwsXG4gIHBhcnNlRXJyb3JzOiBQYXJzZUVycm9yW10sXG4gIHNlcmlhbGl6ZUVycm9yczogUGFyc2VFcnJvcltdXG59IHtcbiAgY29uc3Qge3Jvb3ROb2RlcywgZXJyb3JzOiBwYXJzZUVycm9yc30gPSBwYXJzZUlubmVyUmFuZ2UoZWxlbWVudCk7XG4gIHRyeSB7XG4gICAgY29uc3Qgc2VyaWFsaXplciA9IG5ldyBNZXNzYWdlU2VyaWFsaXplcihuZXcgVGFyZ2V0TWVzc2FnZVJlbmRlcmVyKCksIGNvbmZpZyk7XG4gICAgY29uc3QgdHJhbnNsYXRpb24gPSBzZXJpYWxpemVyLnNlcmlhbGl6ZShyb290Tm9kZXMpO1xuICAgIHJldHVybiB7dHJhbnNsYXRpb24sIHBhcnNlRXJyb3JzLCBzZXJpYWxpemVFcnJvcnM6IFtdfTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiB7dHJhbnNsYXRpb246IG51bGwsIHBhcnNlRXJyb3JzLCBzZXJpYWxpemVFcnJvcnM6IFtlXX07XG4gIH1cbn1cbiJdfQ==
@@ -1,96 +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_parsers/simple_json_translation_parser", ["require", "exports", "@angular/localize", "path", "@angular/localize/src/tools/src/diagnostics"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.SimpleJsonTranslationParser = 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
- var path_1 = require("path");
22
- var diagnostics_1 = require("@angular/localize/src/tools/src/diagnostics");
23
- /**
24
- * A translation parser that can parse JSON that has the form:
25
- *
26
- * ```
27
- * {
28
- * "locale": "...",
29
- * "translations": {
30
- * "message-id": "Target message string",
31
- * ...
32
- * }
33
- * }
34
- * ```
35
- *
36
- * @see SimpleJsonTranslationSerializer
37
- * @publicApi used by CLI
38
- */
39
- var SimpleJsonTranslationParser = /** @class */ (function () {
40
- function SimpleJsonTranslationParser() {
41
- }
42
- /**
43
- * @deprecated
44
- */
45
- SimpleJsonTranslationParser.prototype.canParse = function (filePath, contents) {
46
- var result = this.analyze(filePath, contents);
47
- return result.canParse && result.hint;
48
- };
49
- SimpleJsonTranslationParser.prototype.analyze = function (filePath, contents) {
50
- var diagnostics = new diagnostics_1.Diagnostics();
51
- // For this to be parsable, the extension must be `.json` and the contents must include "locale"
52
- // and "translations" keys.
53
- if ((0, path_1.extname)(filePath) !== '.json' ||
54
- !(contents.includes('"locale"') && contents.includes('"translations"'))) {
55
- diagnostics.warn('File does not have .json extension.');
56
- return { canParse: false, diagnostics: diagnostics };
57
- }
58
- try {
59
- var json = JSON.parse(contents);
60
- if (json.locale === undefined) {
61
- diagnostics.warn('Required "locale" property missing.');
62
- return { canParse: false, diagnostics: diagnostics };
63
- }
64
- if (typeof json.locale !== 'string') {
65
- diagnostics.warn('The "locale" property is not a string.');
66
- return { canParse: false, diagnostics: diagnostics };
67
- }
68
- if (json.translations === undefined) {
69
- diagnostics.warn('Required "translations" property missing.');
70
- return { canParse: false, diagnostics: diagnostics };
71
- }
72
- if (typeof json.translations !== 'object') {
73
- diagnostics.warn('The "translations" is not an object.');
74
- return { canParse: false, diagnostics: diagnostics };
75
- }
76
- return { canParse: true, diagnostics: diagnostics, hint: json };
77
- }
78
- catch (e) {
79
- diagnostics.warn('File is not valid JSON.');
80
- return { canParse: false, diagnostics: diagnostics };
81
- }
82
- };
83
- SimpleJsonTranslationParser.prototype.parse = function (_filePath, contents, json) {
84
- var _a = json || JSON.parse(contents), parsedLocale = _a.locale, translations = _a.translations;
85
- var parsedTranslations = {};
86
- for (var messageId in translations) {
87
- var targetMessage = translations[messageId];
88
- parsedTranslations[messageId] = (0, localize_1.ɵparseTranslation)(targetMessage);
89
- }
90
- return { locale: parsedLocale, translations: parsedTranslations, diagnostics: new diagnostics_1.Diagnostics() };
91
- };
92
- return SimpleJsonTranslationParser;
93
- }());
94
- exports.SimpleJsonTranslationParser = SimpleJsonTranslationParser;
95
- });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlX2pzb25fdHJhbnNsYXRpb25fcGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbG9jYWxpemUvc3JjL3Rvb2xzL3NyYy90cmFuc2xhdGUvdHJhbnNsYXRpb25fZmlsZXMvdHJhbnNsYXRpb25fcGFyc2Vycy9zaW1wbGVfanNvbl90cmFuc2xhdGlvbl9wYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQUE7Ozs7OztPQU1HO0lBQ0gsOENBQW9GO0lBQ3BGLDZCQUE2QjtJQUM3QiwyRUFBaUQ7SUFTakQ7Ozs7Ozs7Ozs7Ozs7OztPQWVHO0lBQ0g7UUFBQTtRQW9EQSxDQUFDO1FBbkRDOztXQUVHO1FBQ0gsOENBQVEsR0FBUixVQUFTLFFBQWdCLEVBQUUsUUFBZ0I7WUFDekMsSUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDaEQsT0FBTyxNQUFNLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEMsQ0FBQztRQUVELDZDQUFPLEdBQVAsVUFBUSxRQUFnQixFQUFFLFFBQWdCO1lBQ3hDLElBQU0sV0FBVyxHQUFHLElBQUkseUJBQVcsRUFBRSxDQUFDO1lBQ3RDLGdHQUFnRztZQUNoRywyQkFBMkI7WUFDM0IsSUFBSSxJQUFBLGNBQU8sRUFBQyxRQUFRLENBQUMsS0FBSyxPQUFPO2dCQUM3QixDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUMsRUFBRTtnQkFDM0UsV0FBVyxDQUFDLElBQUksQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO2dCQUN4RCxPQUFPLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLGFBQUEsRUFBQyxDQUFDO2FBQ3ZDO1lBQ0QsSUFBSTtnQkFDRixJQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBbUIsQ0FBQztnQkFDcEQsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRTtvQkFDN0IsV0FBVyxDQUFDLElBQUksQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO29CQUN4RCxPQUFPLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLGFBQUEsRUFBQyxDQUFDO2lCQUN2QztnQkFDRCxJQUFJLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxRQUFRLEVBQUU7b0JBQ25DLFdBQVcsQ0FBQyxJQUFJLENBQUMsd0NBQXdDLENBQUMsQ0FBQztvQkFDM0QsT0FBTyxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxhQUFBLEVBQUMsQ0FBQztpQkFDdkM7Z0JBQ0QsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRTtvQkFDbkMsV0FBVyxDQUFDLElBQUksQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO29CQUM5RCxPQUFPLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLGFBQUEsRUFBQyxDQUFDO2lCQUN2QztnQkFDRCxJQUFJLE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxRQUFRLEVBQUU7b0JBQ3pDLFdBQVcsQ0FBQyxJQUFJLENBQUMsc0NBQXNDLENBQUMsQ0FBQztvQkFDekQsT0FBTyxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxhQUFBLEVBQUMsQ0FBQztpQkFDdkM7Z0JBQ0QsT0FBTyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxhQUFBLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBQyxDQUFDO2FBQ2xEO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1YsV0FBVyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLGFBQUEsRUFBQyxDQUFDO2FBQ3ZDO1FBQ0gsQ0FBQztRQUVELDJDQUFLLEdBQUwsVUFBTSxTQUFpQixFQUFFLFFBQWdCLEVBQUUsSUFBcUI7WUFDeEQsSUFBQSxLQUF1QyxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQW1CLEVBQTVFLFlBQVksWUFBQSxFQUFFLFlBQVksa0JBQWtELENBQUM7WUFDNUYsSUFBTSxrQkFBa0IsR0FBMkMsRUFBRSxDQUFDO1lBQ3RFLEtBQUssSUFBTSxTQUFTLElBQUksWUFBWSxFQUFFO2dCQUNwQyxJQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQzlDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUEsNEJBQWlCLEVBQUMsYUFBYSxDQUFDLENBQUM7YUFDbEU7WUFDRCxPQUFPLEVBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLElBQUkseUJBQVcsRUFBRSxFQUFDLENBQUM7UUFDbEcsQ0FBQztRQUNILGtDQUFDO0lBQUQsQ0FBQyxBQXBERCxJQW9EQztJQXBEWSxrRUFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7ybVNZXNzYWdlSWQsIMm1UGFyc2VkVHJhbnNsYXRpb24sIMm1cGFyc2VUcmFuc2xhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvbG9jYWxpemUnO1xuaW1wb3J0IHtleHRuYW1lfSBmcm9tICdwYXRoJztcbmltcG9ydCB7RGlhZ25vc3RpY3N9IGZyb20gJy4uLy4uLy4uL2RpYWdub3N0aWNzJztcblxuaW1wb3J0IHtQYXJzZUFuYWx5c2lzLCBQYXJzZWRUcmFuc2xhdGlvbkJ1bmRsZSwgVHJhbnNsYXRpb25QYXJzZXJ9IGZyb20gJy4vdHJhbnNsYXRpb25fcGFyc2VyJztcblxuaW50ZXJmYWNlIFNpbXBsZUpzb25GaWxlIHtcbiAgbG9jYWxlOiBzdHJpbmc7XG4gIHRyYW5zbGF0aW9uczoge1ttZXNzYWdlSWQ6IHN0cmluZ106IHN0cmluZ307XG59XG5cbi8qKlxuICogQSB0cmFuc2xhdGlvbiBwYXJzZXIgdGhhdCBjYW4gcGFyc2UgSlNPTiB0aGF0IGhhcyB0aGUgZm9ybTpcbiAqXG4gKiBgYGBcbiAqIHtcbiAqICAgXCJsb2NhbGVcIjogXCIuLi5cIixcbiAqICAgXCJ0cmFuc2xhdGlvbnNcIjoge1xuICogICAgIFwibWVzc2FnZS1pZFwiOiBcIlRhcmdldCBtZXNzYWdlIHN0cmluZ1wiLFxuICogICAgIC4uLlxuICogICB9XG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBAc2VlIFNpbXBsZUpzb25UcmFuc2xhdGlvblNlcmlhbGl6ZXJcbiAqIEBwdWJsaWNBcGkgdXNlZCBieSBDTElcbiAqL1xuZXhwb3J0IGNsYXNzIFNpbXBsZUpzb25UcmFuc2xhdGlvblBhcnNlciBpbXBsZW1lbnRzIFRyYW5zbGF0aW9uUGFyc2VyPFNpbXBsZUpzb25GaWxlPiB7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgY2FuUGFyc2UoZmlsZVBhdGg6IHN0cmluZywgY29udGVudHM6IHN0cmluZyk6IFNpbXBsZUpzb25GaWxlfGZhbHNlIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLmFuYWx5emUoZmlsZVBhdGgsIGNvbnRlbnRzKTtcbiAgICByZXR1cm4gcmVzdWx0LmNhblBhcnNlICYmIHJlc3VsdC5oaW50O1xuICB9XG5cbiAgYW5hbHl6ZShmaWxlUGF0aDogc3RyaW5nLCBjb250ZW50czogc3RyaW5nKTogUGFyc2VBbmFseXNpczxTaW1wbGVKc29uRmlsZT4ge1xuICAgIGNvbnN0IGRpYWdub3N0aWNzID0gbmV3IERpYWdub3N0aWNzKCk7XG4gICAgLy8gRm9yIHRoaXMgdG8gYmUgcGFyc2FibGUsIHRoZSBleHRlbnNpb24gbXVzdCBiZSBgLmpzb25gIGFuZCB0aGUgY29udGVudHMgbXVzdCBpbmNsdWRlIFwibG9jYWxlXCJcbiAgICAvLyBhbmQgXCJ0cmFuc2xhdGlvbnNcIiBrZXlzLlxuICAgIGlmIChleHRuYW1lKGZpbGVQYXRoKSAhPT0gJy5qc29uJyB8fFxuICAgICAgICAhKGNvbnRlbnRzLmluY2x1ZGVzKCdcImxvY2FsZVwiJykgJiYgY29udGVudHMuaW5jbHVkZXMoJ1widHJhbnNsYXRpb25zXCInKSkpIHtcbiAgICAgIGRpYWdub3N0aWNzLndhcm4oJ0ZpbGUgZG9lcyBub3QgaGF2ZSAuanNvbiBleHRlbnNpb24uJyk7XG4gICAgICByZXR1cm4ge2NhblBhcnNlOiBmYWxzZSwgZGlhZ25vc3RpY3N9O1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3QganNvbiA9IEpTT04ucGFyc2UoY29udGVudHMpIGFzIFNpbXBsZUpzb25GaWxlO1xuICAgICAgaWYgKGpzb24ubG9jYWxlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZGlhZ25vc3RpY3Mud2FybignUmVxdWlyZWQgXCJsb2NhbGVcIiBwcm9wZXJ0eSBtaXNzaW5nLicpO1xuICAgICAgICByZXR1cm4ge2NhblBhcnNlOiBmYWxzZSwgZGlhZ25vc3RpY3N9O1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBqc29uLmxvY2FsZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgZGlhZ25vc3RpY3Mud2FybignVGhlIFwibG9jYWxlXCIgcHJvcGVydHkgaXMgbm90IGEgc3RyaW5nLicpO1xuICAgICAgICByZXR1cm4ge2NhblBhcnNlOiBmYWxzZSwgZGlhZ25vc3RpY3N9O1xuICAgICAgfVxuICAgICAgaWYgKGpzb24udHJhbnNsYXRpb25zID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZGlhZ25vc3RpY3Mud2FybignUmVxdWlyZWQgXCJ0cmFuc2xhdGlvbnNcIiBwcm9wZXJ0eSBtaXNzaW5nLicpO1xuICAgICAgICByZXR1cm4ge2NhblBhcnNlOiBmYWxzZSwgZGlhZ25vc3RpY3N9O1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBqc29uLnRyYW5zbGF0aW9ucyAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgZGlhZ25vc3RpY3Mud2FybignVGhlIFwidHJhbnNsYXRpb25zXCIgaXMgbm90IGFuIG9iamVjdC4nKTtcbiAgICAgICAgcmV0dXJuIHtjYW5QYXJzZTogZmFsc2UsIGRpYWdub3N0aWNzfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7Y2FuUGFyc2U6IHRydWUsIGRpYWdub3N0aWNzLCBoaW50OiBqc29ufTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBkaWFnbm9zdGljcy53YXJuKCdGaWxlIGlzIG5vdCB2YWxpZCBKU09OLicpO1xuICAgICAgcmV0dXJuIHtjYW5QYXJzZTogZmFsc2UsIGRpYWdub3N0aWNzfTtcbiAgICB9XG4gIH1cblxuICBwYXJzZShfZmlsZVBhdGg6IHN0cmluZywgY29udGVudHM6IHN0cmluZywganNvbj86IFNpbXBsZUpzb25GaWxlKTogUGFyc2VkVHJhbnNsYXRpb25CdW5kbGUge1xuICAgIGNvbnN0IHtsb2NhbGU6IHBhcnNlZExvY2FsZSwgdHJhbnNsYXRpb25zfSA9IGpzb24gfHwgSlNPTi5wYXJzZShjb250ZW50cykgYXMgU2ltcGxlSnNvbkZpbGU7XG4gICAgY29uc3QgcGFyc2VkVHJhbnNsYXRpb25zOiBSZWNvcmQ8ybVNZXNzYWdlSWQsIMm1UGFyc2VkVHJhbnNsYXRpb24+ID0ge307XG4gICAgZm9yIChjb25zdCBtZXNzYWdlSWQgaW4gdHJhbnNsYXRpb25zKSB7XG4gICAgICBjb25zdCB0YXJnZXRNZXNzYWdlID0gdHJhbnNsYXRpb25zW21lc3NhZ2VJZF07XG4gICAgICBwYXJzZWRUcmFuc2xhdGlvbnNbbWVzc2FnZUlkXSA9IMm1cGFyc2VUcmFuc2xhdGlvbih0YXJnZXRNZXNzYWdlKTtcbiAgICB9XG4gICAgcmV0dXJuIHtsb2NhbGU6IHBhcnNlZExvY2FsZSwgdHJhbnNsYXRpb25zOiBwYXJzZWRUcmFuc2xhdGlvbnMsIGRpYWdub3N0aWNzOiBuZXcgRGlhZ25vc3RpY3MoKX07XG4gIH1cbn1cbiJdfQ==
@@ -1,47 +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_parsers/translation_parse_error", ["require", "exports", "tslib", "@angular/compiler"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.TranslationParseError = 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
- /**
23
- * This error is thrown when there is a problem parsing a translation file.
24
- */
25
- var TranslationParseError = /** @class */ (function (_super) {
26
- (0, tslib_1.__extends)(TranslationParseError, _super);
27
- function TranslationParseError(span, msg, level) {
28
- if (level === void 0) { level = compiler_1.ParseErrorLevel.ERROR; }
29
- var _this = _super.call(this, contextualMessage(span, msg, level)) || this;
30
- _this.span = span;
31
- _this.msg = msg;
32
- _this.level = level;
33
- return _this;
34
- }
35
- return TranslationParseError;
36
- }(Error));
37
- exports.TranslationParseError = TranslationParseError;
38
- function contextualMessage(span, msg, level) {
39
- var ctx = span.start.getContext(100, 2);
40
- msg += "\nAt " + span.start + (span.details ? ", " + span.details : '') + ":\n";
41
- if (ctx) {
42
- msg += "..." + ctx.before + "[" + compiler_1.ParseErrorLevel[level] + " ->]" + ctx.after + "...\n";
43
- }
44
- return msg;
45
- }
46
- });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb25fcGFyc2VfZXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9sb2NhbGl6ZS9zcmMvdG9vbHMvc3JjL3RyYW5zbGF0ZS90cmFuc2xhdGlvbl9maWxlcy90cmFuc2xhdGlvbl9wYXJzZXJzL3RyYW5zbGF0aW9uX3BhcnNlX2Vycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7SUFBQTs7Ozs7O09BTUc7SUFDSCw4Q0FBbUU7SUFFbkU7O09BRUc7SUFDSDtRQUEyQyxzREFBSztRQUM5QywrQkFDVyxJQUFxQixFQUFTLEdBQVcsRUFDekMsS0FBOEM7WUFBOUMsc0JBQUEsRUFBQSxRQUF5QiwwQkFBZSxDQUFDLEtBQUs7WUFGekQsWUFHRSxrQkFBTSxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLFNBQzNDO1lBSFUsVUFBSSxHQUFKLElBQUksQ0FBaUI7WUFBUyxTQUFHLEdBQUgsR0FBRyxDQUFRO1lBQ3pDLFdBQUssR0FBTCxLQUFLLENBQXlDOztRQUV6RCxDQUFDO1FBQ0gsNEJBQUM7SUFBRCxDQUFDLEFBTkQsQ0FBMkMsS0FBSyxHQU0vQztJQU5ZLHNEQUFxQjtJQVFsQyxTQUFTLGlCQUFpQixDQUFDLElBQXFCLEVBQUUsR0FBVyxFQUFFLEtBQXNCO1FBQ25GLElBQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxQyxHQUFHLElBQUksVUFBUSxJQUFJLENBQUMsS0FBSyxJQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQUssSUFBSSxDQUFDLE9BQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFLLENBQUM7UUFDekUsSUFBSSxHQUFHLEVBQUU7WUFDUCxHQUFHLElBQUksUUFBTSxHQUFHLENBQUMsTUFBTSxTQUFJLDBCQUFlLENBQUMsS0FBSyxDQUFDLFlBQU8sR0FBRyxDQUFDLEtBQUssVUFBTyxDQUFDO1NBQzFFO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQge1BhcnNlRXJyb3JMZXZlbCwgUGFyc2VTb3VyY2VTcGFufSBmcm9tICdAYW5ndWxhci9jb21waWxlcic7XG5cbi8qKlxuICogVGhpcyBlcnJvciBpcyB0aHJvd24gd2hlbiB0aGVyZSBpcyBhIHByb2JsZW0gcGFyc2luZyBhIHRyYW5zbGF0aW9uIGZpbGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvblBhcnNlRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHVibGljIHNwYW46IFBhcnNlU291cmNlU3BhbiwgcHVibGljIG1zZzogc3RyaW5nLFxuICAgICAgcHVibGljIGxldmVsOiBQYXJzZUVycm9yTGV2ZWwgPSBQYXJzZUVycm9yTGV2ZWwuRVJST1IpIHtcbiAgICBzdXBlcihjb250ZXh0dWFsTWVzc2FnZShzcGFuLCBtc2csIGxldmVsKSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29udGV4dHVhbE1lc3NhZ2Uoc3BhbjogUGFyc2VTb3VyY2VTcGFuLCBtc2c6IHN0cmluZywgbGV2ZWw6IFBhcnNlRXJyb3JMZXZlbCk6IHN0cmluZyB7XG4gIGNvbnN0IGN0eCA9IHNwYW4uc3RhcnQuZ2V0Q29udGV4dCgxMDAsIDIpO1xuICBtc2cgKz0gYFxcbkF0ICR7c3Bhbi5zdGFydH0ke3NwYW4uZGV0YWlscyA/IGAsICR7c3Bhbi5kZXRhaWxzfWAgOiAnJ306XFxuYDtcbiAgaWYgKGN0eCkge1xuICAgIG1zZyArPSBgLi4uJHtjdHguYmVmb3JlfVske1BhcnNlRXJyb3JMZXZlbFtsZXZlbF19IC0+XSR7Y3R4LmFmdGVyfS4uLlxcbmA7XG4gIH1cbiAgcmV0dXJuIG1zZztcbn1cbiJdfQ==
@@ -1,13 +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_parsers/translation_parser", ["require", "exports"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- });
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb25fcGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbG9jYWxpemUvc3JjL3Rvb2xzL3NyYy90cmFuc2xhdGUvdHJhbnNsYXRpb25fZmlsZXMvdHJhbnNsYXRpb25fcGFyc2Vycy90cmFuc2xhdGlvbl9wYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0IHvJtU1lc3NhZ2VJZCwgybVQYXJzZWRUcmFuc2xhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvbG9jYWxpemUvcHJpdmF0ZSc7XG5pbXBvcnQge0RpYWdub3N0aWNzfSBmcm9tICcuLi8uLi8uLi9kaWFnbm9zdGljcyc7XG5cbi8qKlxuICogSW5kaWNhdGVzIHRoYXQgYSBwYXJzZXIgY2FuIHBhcnNlIGEgZ2l2ZW4gZmlsZSwgd2l0aCBhIGhpbnQgdGhhdCBjYW4gYmUgdXNlZCB0byBzcGVlZCB1cCBhY3R1YWxcbiAqIHBhcnNpbmcuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2FuUGFyc2VBbmFseXNpczxIaW50PiB7XG4gIGNhblBhcnNlOiB0cnVlO1xuICBkaWFnbm9zdGljczogRGlhZ25vc3RpY3M7XG4gIGhpbnQ6IEhpbnQ7XG59XG5cbi8qKlxuICogSW5kaWNhdGVzIHRoYXQgYSBwYXJzZXIgY2Fubm90IHBhcnNlIGEgZ2l2ZW4gZmlsZSB3aXRoIGRpYWdub3N0aWNzIGFzIHdoeSB0aGlzIGlzLlxuICogKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2Fubm90UGFyc2VBbmFseXNpcyB7XG4gIGNhblBhcnNlOiBmYWxzZTtcbiAgZGlhZ25vc3RpY3M6IERpYWdub3N0aWNzO1xufVxuXG4vKipcbiAqIEluZm9ybWF0aW9uIGFib3V0IHdoZXRoZXIgYSBgVHJhbnNsYXRpb25QYXJzZXJgIGNhbiBwYXJzZSBhIGdpdmVuIGZpbGUuXG4gKi9cbmV4cG9ydCB0eXBlIFBhcnNlQW5hbHlzaXM8SGludD4gPSBDYW5QYXJzZUFuYWx5c2lzPEhpbnQ+fENhbm5vdFBhcnNlQW5hbHlzaXM7XG5cbi8qKlxuICogQW4gb2JqZWN0IHRoYXQgaG9sZHMgdHJhbnNsYXRpb25zIHRoYXQgaGF2ZSBiZWVuIHBhcnNlZCBmcm9tIGEgdHJhbnNsYXRpb24gZmlsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJzZWRUcmFuc2xhdGlvbkJ1bmRsZSB7XG4gIGxvY2FsZTogc3RyaW5nfHVuZGVmaW5lZDtcbiAgdHJhbnNsYXRpb25zOiBSZWNvcmQ8ybVNZXNzYWdlSWQsIMm1UGFyc2VkVHJhbnNsYXRpb24+O1xuICBkaWFnbm9zdGljczogRGlhZ25vc3RpY3M7XG59XG5cbi8qKlxuICogSW1wbGVtZW50IHRoaXMgaW50ZXJmYWNlIHRvIHByb3ZpZGUgYSBjbGFzcyB0aGF0IGNhbiBwYXJzZSB0aGUgY29udGVudHMgb2YgYSB0cmFuc2xhdGlvbiBmaWxlLlxuICpcbiAqIFRoZSBgY2FuUGFyc2UoKWAgbWV0aG9kIGNhbiByZXR1cm4gYSBoaW50IHRoYXQgY2FuIGJlIHVzZWQgYnkgdGhlIGBwYXJzZSgpYCBtZXRob2QgdG8gc3BlZWQgdXBcbiAqIHBhcnNpbmcuIFRoaXMgYWxsb3dzIHRoZSBwYXJzZXIgdG8gZG8gc2lnbmlmaWNhbnQgd29yayB0byBkZXRlcm1pbmUgaWYgdGhlIGZpbGUgY2FuIGJlIHBhcnNlZFxuICogd2l0aG91dCBkdXBsaWNhdGluZyB0aGUgd29yayB3aGVuIGl0IGNvbWVzIHRvIGFjdHVhbGx5IHBhcnNpbmcgdGhlIGZpbGUuXG4gKlxuICogRXhhbXBsZSB1c2FnZTpcbiAqXG4gKiBgYGBcbiAqIGNvbnN0IHBhcnNlcjogVHJhbnNsYXRpb25QYXJzZXIgPSBnZXRQYXJzZXIoKTtcbiAqIGNvbnN0IHJlc3VsdCA9IHBhcnNlci5jYW5QYXJzZShmaWxlUGF0aCwgY29udGVudCk7XG4gKiBpZiAocmVzdWx0KSB7XG4gKiAgIHJldHVybiBwYXJzZXIucGFyc2UoZmlsZVBhdGgsIGNvbnRlbnQsIHJlc3VsdCk7XG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFuc2xhdGlvblBhcnNlcjxIaW50ID0gdHJ1ZT4ge1xuICAvKipcbiAgICogQ2FuIHRoaXMgcGFyc2VyIHBhcnNlIHRoZSBnaXZlbiBmaWxlP1xuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYGFuYWx5emUoKWAgaW5zdGVhZFxuICAgKlxuICAgKiBAcGFyYW0gZmlsZVBhdGggVGhlIGFic29sdXRlIHBhdGggdG8gdGhlIHRyYW5zbGF0aW9uIGZpbGUuXG4gICAqIEBwYXJhbSBjb250ZW50cyBUaGUgY29udGVudHMgb2YgdGhlIHRyYW5zbGF0aW9uIGZpbGUuXG4gICAqIEByZXR1cm5zIEEgaGludCwgd2hpY2ggY2FuIGJlIHVzZWQgaW4gZG9pbmcgdGhlIGFjdHVhbCBwYXJzaW5nLCBpZiB0aGUgZmlsZSBjYW4gYmUgcGFyc2VkIGJ5XG4gICAqIHRoaXMgcGFyc2VyOyBmYWxzZSBvdGhlcndpc2UuXG4gICAqL1xuICBjYW5QYXJzZShmaWxlUGF0aDogc3RyaW5nLCBjb250ZW50czogc3RyaW5nKTogSGludHxmYWxzZTtcblxuICAvKipcbiAgICogQW5hbHl6ZSB0aGUgZmlsZSB0byBzZWUgaWYgdGhpcyBwYXJzZXIgY2FuIHBhcnNlIHRoZSBnaXZlbiBmaWxlLlxuICAgKlxuICAgKiBAcGFyYW0gZmlsZVBhdGggVGhlIGFic29sdXRlIHBhdGggdG8gdGhlIHRyYW5zbGF0aW9uIGZpbGUuXG4gICAqIEBwYXJhbSBjb250ZW50cyBUaGUgY29udGVudHMgb2YgdGhlIHRyYW5zbGF0aW9uIGZpbGUuXG4gICAqIEByZXR1cm5zIEluZm9ybWF0aW9uIGluZGljYXRpbmcgd2hldGhlciB0aGUgZmlsZSBjYW4gYmUgcGFyc2VkIGJ5IHRoaXMgcGFyc2VyLlxuICAgKi9cbiAgYW5hbHl6ZShmaWxlUGF0aDogc3RyaW5nLCBjb250ZW50czogc3RyaW5nKTogUGFyc2VBbmFseXNpczxIaW50PjtcblxuICAvKipcbiAgICogUGFyc2VzIHRoZSBnaXZlbiBmaWxlLCBleHRyYWN0aW5nIHRoZSB0YXJnZXQgbG9jYWxlIGFuZCB0cmFuc2xhdGlvbnMuXG4gICAqXG4gICAqIE5vdGUgdGhhdCB0aGlzIG1ldGhvZCBzaG91bGQgbm90IHRocm93IGFuIGVycm9yLiBDaGVjayB0aGUgYGJ1bmRsZS5kaWFnbm9zdGljc2AgcHJvcGVydHkgZm9yXG4gICAqIHBvdGVudGlhbCBwYXJzaW5nIGVycm9ycyBhbmQgd2FybmluZ3MuXG4gICAqXG4gICAqIEBwYXJhbSBmaWxlUGF0aCBUaGUgYWJzb2x1dGUgcGF0aCB0byB0aGUgdHJhbnNsYXRpb24gZmlsZS5cbiAgICogQHBhcmFtIGNvbnRlbnRzIFRoZSBjb250ZW50cyBvZiB0aGUgdHJhbnNsYXRpb24gZmlsZS5cbiAgICogQHBhcmFtIGhpbnQgQSB2YWx1ZSB0aGF0IGNhbiBiZSB1c2VkIGJ5IHRoZSBwYXJzZXIgdG8gc3BlZWQgdXAgcGFyc2luZyBvZiB0aGUgZmlsZS4gVGhpcyB3aWxsXG4gICAqIGhhdmUgYmVlbiBwcm92aWRlZCBhcyB0aGUgcmV0dXJuIHJlc3VsdCBmcm9tIGNhbGxpbmcgYGNhblBhcnNlKClgLlxuICAgKiBAcmV0dXJucyBUaGUgdHJhbnNsYXRpb24gYnVuZGxlIHBhcnNlZCBmcm9tIHRoZSBmaWxlLlxuICAgKiBAdGhyb3dzIE5vIGVycm9ycy4gSWYgdGhlcmUgd2FzIGEgcHJvYmxlbSB3aXRoIHBhcnNpbmcgdGhlIGJ1bmRsZSB3aWxsIGNvbnRhaW4gZXJyb3JzXG4gICAqIGluIHRoZSBgZGlhZ25vc3RpY3NgIHByb3BlcnR5LlxuICAgKi9cbiAgcGFyc2UoZmlsZVBhdGg6IHN0cmluZywgY29udGVudHM6IHN0cmluZywgaGludDogSGludCk6IFBhcnNlZFRyYW5zbGF0aW9uQnVuZGxlO1xuICAvKipcbiAgICogUGFyc2VzIHRoZSBnaXZlbiBmaWxlLCBleHRyYWN0aW5nIHRoZSB0YXJnZXQgbG9jYWxlIGFuZCB0cmFuc2xhdGlvbnMuXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIFRoaXMgb3ZlcmxvYWQgaXMga2VwdCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS4gR29pbmcgZm9yd2FyZCB1c2UgdGhlIEhpbnRcbiAgICogcmV0dXJuZWQgZnJvbSBgY2FuUGFyc2UoKWAgc28gdGhhdCB0aGlzIG1ldGhvZCBjYW4gYXZvaWQgZHVwbGljYXRpbmcgZWZmb3J0LlxuICAgKlxuICAgKiBAcGFyYW0gZmlsZVBhdGggVGhlIGFic29sdXRlIHBhdGggdG8gdGhlIHRyYW5zbGF0aW9uIGZpbGUuXG4gICAqIEBwYXJhbSBjb250ZW50cyBUaGUgY29udGVudHMgb2YgdGhlIHRyYW5zbGF0aW9uIGZpbGUuXG4gICAqIEByZXR1cm5zIFRoZSB0cmFuc2xhdGlvbiBidW5kbGUgcGFyc2VkIGZyb20gdGhlIGZpbGUuXG4gICAqIEB0aHJvd3MgQW4gZXJyb3IgaWYgdGhlcmUgd2FzIGEgcHJvYmxlbSBwYXJzaW5nIHRoaXMgZmlsZS5cbiAgICovXG4gIHBhcnNlKGZpbGVQYXRoOiBzdHJpbmcsIGNvbnRlbnRzOiBzdHJpbmcpOiBQYXJzZWRUcmFuc2xhdGlvbkJ1bmRsZTtcbn1cbiJdfQ==
@@ -1,175 +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_parsers/translation_utils", ["require", "exports", "tslib", "@angular/compiler", "@angular/localize/src/tools/src/diagnostics", "@angular/localize/src/tools/src/translate/translation_files/translation_parsers/translation_parse_error"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.addErrorsToBundle = exports.addParseError = exports.addParseDiagnostic = exports.isNamedElement = exports.canParseXml = exports.parseInnerRange = exports.getAttribute = exports.getAttrOrThrow = 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 diagnostics_1 = require("@angular/localize/src/tools/src/diagnostics");
23
- var translation_parse_error_1 = require("@angular/localize/src/tools/src/translate/translation_files/translation_parsers/translation_parse_error");
24
- function getAttrOrThrow(element, attrName) {
25
- var attrValue = getAttribute(element, attrName);
26
- if (attrValue === undefined) {
27
- throw new translation_parse_error_1.TranslationParseError(element.sourceSpan, "Missing required \"" + attrName + "\" attribute:");
28
- }
29
- return attrValue;
30
- }
31
- exports.getAttrOrThrow = getAttrOrThrow;
32
- function getAttribute(element, attrName) {
33
- var attr = element.attrs.find(function (a) { return a.name === attrName; });
34
- return attr !== undefined ? attr.value : undefined;
35
- }
36
- exports.getAttribute = getAttribute;
37
- /**
38
- * Parse the "contents" of an XML element.
39
- *
40
- * This would be equivalent to parsing the `innerHTML` string of an HTML document.
41
- *
42
- * @param element The element whose inner range we want to parse.
43
- * @returns a collection of XML `Node` objects and any errors that were parsed from the element's
44
- * contents.
45
- */
46
- function parseInnerRange(element) {
47
- var xmlParser = new compiler_1.XmlParser();
48
- var xml = xmlParser.parse(element.sourceSpan.start.file.content, element.sourceSpan.start.file.url, { tokenizeExpansionForms: true, range: getInnerRange(element) });
49
- return xml;
50
- }
51
- exports.parseInnerRange = parseInnerRange;
52
- /**
53
- * Compute a `LexerRange` that contains all the children of the given `element`.
54
- * @param element The element whose inner range we want to compute.
55
- */
56
- function getInnerRange(element) {
57
- var start = element.startSourceSpan.end;
58
- var end = element.endSourceSpan.start;
59
- return {
60
- startPos: start.offset,
61
- startLine: start.line,
62
- startCol: start.col,
63
- endPos: end.offset,
64
- };
65
- }
66
- /**
67
- * Can this XML be parsed for translations, given the expected `rootNodeName` and expected root node
68
- * `attributes` that should appear in the file.
69
- *
70
- * @param filePath The path to the file being checked.
71
- * @param contents The contents of the file being checked.
72
- * @param rootNodeName The expected name of an XML root node that should exist.
73
- * @param attributes The attributes (and their values) that should appear on the root node.
74
- * @returns The `XmlTranslationParserHint` object for use by `TranslationParser.parse()` if the XML
75
- * document has the expected format.
76
- */
77
- function canParseXml(filePath, contents, rootNodeName, attributes) {
78
- var e_1, _a;
79
- var diagnostics = new diagnostics_1.Diagnostics();
80
- var xmlParser = new compiler_1.XmlParser();
81
- var xml = xmlParser.parse(contents, filePath);
82
- if (xml.rootNodes.length === 0 ||
83
- xml.errors.some(function (error) { return error.level === compiler_1.ParseErrorLevel.ERROR; })) {
84
- xml.errors.forEach(function (e) { return addParseError(diagnostics, e); });
85
- return { canParse: false, diagnostics: diagnostics };
86
- }
87
- var rootElements = xml.rootNodes.filter(isNamedElement(rootNodeName));
88
- var rootElement = rootElements[0];
89
- if (rootElement === undefined) {
90
- diagnostics.warn("The XML file does not contain a <" + rootNodeName + "> root node.");
91
- return { canParse: false, diagnostics: diagnostics };
92
- }
93
- var _loop_1 = function (attrKey) {
94
- var attr = rootElement.attrs.find(function (attr) { return attr.name === attrKey; });
95
- if (attr === undefined || attr.value !== attributes[attrKey]) {
96
- addParseDiagnostic(diagnostics, rootElement.sourceSpan, "The <" + rootNodeName + "> node does not have the required attribute: " + attrKey + "=\"" + attributes[attrKey] + "\".", compiler_1.ParseErrorLevel.WARNING);
97
- return { value: { canParse: false, diagnostics: diagnostics } };
98
- }
99
- };
100
- try {
101
- for (var _b = (0, tslib_1.__values)(Object.keys(attributes)), _c = _b.next(); !_c.done; _c = _b.next()) {
102
- var attrKey = _c.value;
103
- var state_1 = _loop_1(attrKey);
104
- if (typeof state_1 === "object")
105
- return state_1.value;
106
- }
107
- }
108
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
109
- finally {
110
- try {
111
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
112
- }
113
- finally { if (e_1) throw e_1.error; }
114
- }
115
- if (rootElements.length > 1) {
116
- xml.errors.push(new compiler_1.ParseError(xml.rootNodes[1].sourceSpan, 'Unexpected root node. XLIFF 1.2 files should only have a single <xliff> root node.', compiler_1.ParseErrorLevel.WARNING));
117
- }
118
- return { canParse: true, diagnostics: diagnostics, hint: { element: rootElement, errors: xml.errors } };
119
- }
120
- exports.canParseXml = canParseXml;
121
- /**
122
- * Create a predicate, which can be used by things like `Array.filter()`, that will match a named
123
- * XML Element from a collection of XML Nodes.
124
- *
125
- * @param name The expected name of the element to match.
126
- */
127
- function isNamedElement(name) {
128
- function predicate(node) {
129
- return node instanceof compiler_1.Element && node.name === name;
130
- }
131
- return predicate;
132
- }
133
- exports.isNamedElement = isNamedElement;
134
- /**
135
- * Add an XML parser related message to the given `diagnostics` object.
136
- */
137
- function addParseDiagnostic(diagnostics, sourceSpan, message, level) {
138
- addParseError(diagnostics, new compiler_1.ParseError(sourceSpan, message, level));
139
- }
140
- exports.addParseDiagnostic = addParseDiagnostic;
141
- /**
142
- * Copy the formatted error message from the given `parseError` object into the given `diagnostics`
143
- * object.
144
- */
145
- function addParseError(diagnostics, parseError) {
146
- if (parseError.level === compiler_1.ParseErrorLevel.ERROR) {
147
- diagnostics.error(parseError.toString());
148
- }
149
- else {
150
- diagnostics.warn(parseError.toString());
151
- }
152
- }
153
- exports.addParseError = addParseError;
154
- /**
155
- * Add the provided `errors` to the `bundle` diagnostics.
156
- */
157
- function addErrorsToBundle(bundle, errors) {
158
- var e_2, _a;
159
- try {
160
- for (var errors_1 = (0, tslib_1.__values)(errors), errors_1_1 = errors_1.next(); !errors_1_1.done; errors_1_1 = errors_1.next()) {
161
- var error = errors_1_1.value;
162
- addParseError(bundle.diagnostics, error);
163
- }
164
- }
165
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
166
- finally {
167
- try {
168
- if (errors_1_1 && !errors_1_1.done && (_a = errors_1.return)) _a.call(errors_1);
169
- }
170
- finally { if (e_2) throw e_2.error; }
171
- }
172
- }
173
- exports.addErrorsToBundle = addErrorsToBundle;
174
- });
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb25fdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9sb2NhbGl6ZS9zcmMvdG9vbHMvc3JjL3RyYW5zbGF0ZS90cmFuc2xhdGlvbl9maWxlcy90cmFuc2xhdGlvbl9wYXJzZXJzL3RyYW5zbGF0aW9uX3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7SUFBQTs7Ozs7O09BTUc7SUFDSCw4Q0FBc0k7SUFFdEksMkVBQWlEO0lBRWpELG1KQUFnRTtJQUdoRSxTQUFnQixjQUFjLENBQUMsT0FBZ0IsRUFBRSxRQUFnQjtRQUMvRCxJQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2xELElBQUksU0FBUyxLQUFLLFNBQVMsRUFBRTtZQUMzQixNQUFNLElBQUksK0NBQXFCLENBQzNCLE9BQU8sQ0FBQyxVQUFVLEVBQUUsd0JBQXFCLFFBQVEsa0JBQWMsQ0FBQyxDQUFDO1NBQ3RFO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQVBELHdDQU9DO0lBRUQsU0FBZ0IsWUFBWSxDQUFDLE9BQWdCLEVBQUUsUUFBZ0I7UUFDN0QsSUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBbkIsQ0FBbUIsQ0FBQyxDQUFDO1FBQzFELE9BQU8sSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3JELENBQUM7SUFIRCxvQ0FHQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsU0FBZ0IsZUFBZSxDQUFDLE9BQWdCO1FBQzlDLElBQU0sU0FBUyxHQUFHLElBQUksb0JBQVMsRUFBRSxDQUFDO1FBQ2xDLElBQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQ3ZCLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFDeEUsRUFBQyxzQkFBc0IsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUM7UUFDbkUsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBTkQsMENBTUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTLGFBQWEsQ0FBQyxPQUFnQjtRQUNyQyxJQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQztRQUMxQyxJQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsYUFBYyxDQUFDLEtBQUssQ0FBQztRQUN6QyxPQUFPO1lBQ0wsUUFBUSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3RCLFNBQVMsRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNyQixRQUFRLEVBQUUsS0FBSyxDQUFDLEdBQUc7WUFDbkIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNO1NBQ25CLENBQUM7SUFDSixDQUFDO0lBYUQ7Ozs7Ozs7Ozs7T0FVRztJQUNILFNBQWdCLFdBQVcsQ0FDdkIsUUFBZ0IsRUFBRSxRQUFnQixFQUFFLFlBQW9CLEVBQ3hELFVBQWtDOztRQUNwQyxJQUFNLFdBQVcsR0FBRyxJQUFJLHlCQUFXLEVBQUUsQ0FBQztRQUN0QyxJQUFNLFNBQVMsR0FBRyxJQUFJLG9CQUFTLEVBQUUsQ0FBQztRQUNsQyxJQUFNLEdBQUcsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUVoRCxJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDMUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBQSxLQUFLLElBQUksT0FBQSxLQUFLLENBQUMsS0FBSyxLQUFLLDBCQUFlLENBQUMsS0FBSyxFQUFyQyxDQUFxQyxDQUFDLEVBQUU7WUFDbkUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUE3QixDQUE2QixDQUFDLENBQUM7WUFDdkQsT0FBTyxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxhQUFBLEVBQUMsQ0FBQztTQUN2QztRQUVELElBQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ3hFLElBQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxJQUFJLFdBQVcsS0FBSyxTQUFTLEVBQUU7WUFDN0IsV0FBVyxDQUFDLElBQUksQ0FBQyxzQ0FBb0MsWUFBWSxpQkFBYyxDQUFDLENBQUM7WUFDakYsT0FBTyxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxhQUFBLEVBQUMsQ0FBQztTQUN2QztnQ0FFVSxPQUFPO1lBQ2hCLElBQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQUEsSUFBSSxJQUFJLE9BQUEsSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQXJCLENBQXFCLENBQUMsQ0FBQztZQUNuRSxJQUFJLElBQUksS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQzVELGtCQUFrQixDQUNkLFdBQVcsRUFBRSxXQUFXLENBQUMsVUFBVSxFQUNuQyxVQUFRLFlBQVkscURBQWdELE9BQU8sV0FDdkUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxRQUFJLEVBQzNCLDBCQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7Z0NBQ3RCLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLGFBQUEsRUFBQzthQUN0Qzs7O1lBVEgsS0FBc0IsSUFBQSxLQUFBLHNCQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUEsZ0JBQUE7Z0JBQXhDLElBQU0sT0FBTyxXQUFBO3NDQUFQLE9BQU87OzthQVVqQjs7Ozs7Ozs7O1FBRUQsSUFBSSxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMzQixHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLHFCQUFVLENBQzFCLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUMzQixvRkFBb0YsRUFDcEYsMEJBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQy9CO1FBRUQsT0FBTyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxhQUFBLEVBQUUsSUFBSSxFQUFFLEVBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBQyxFQUFDLENBQUM7SUFDekYsQ0FBQztJQXhDRCxrQ0F3Q0M7SUFFRDs7Ozs7T0FLRztJQUNILFNBQWdCLGNBQWMsQ0FBQyxJQUFZO1FBQ3pDLFNBQVMsU0FBUyxDQUFDLElBQVU7WUFDM0IsT0FBTyxJQUFJLFlBQVksa0JBQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQztRQUN2RCxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUxELHdDQUtDO0lBRUQ7O09BRUc7SUFDSCxTQUFnQixrQkFBa0IsQ0FDOUIsV0FBd0IsRUFBRSxVQUEyQixFQUFFLE9BQWUsRUFDdEUsS0FBc0I7UUFDeEIsYUFBYSxDQUFDLFdBQVcsRUFBRSxJQUFJLHFCQUFVLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFKRCxnREFJQztJQUVEOzs7T0FHRztJQUNILFNBQWdCLGFBQWEsQ0FBQyxXQUF3QixFQUFFLFVBQXNCO1FBQzVFLElBQUksVUFBVSxDQUFDLEtBQUssS0FBSywwQkFBZSxDQUFDLEtBQUssRUFBRTtZQUM5QyxXQUFXLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQzFDO2FBQU07WUFDTCxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQU5ELHNDQU1DO0lBRUQ7O09BRUc7SUFDSCxTQUFnQixpQkFBaUIsQ0FBQyxNQUErQixFQUFFLE1BQW9COzs7WUFDckYsS0FBb0IsSUFBQSxXQUFBLHNCQUFBLE1BQU0sQ0FBQSw4QkFBQSxrREFBRTtnQkFBdkIsSUFBTSxLQUFLLG1CQUFBO2dCQUNkLGFBQWEsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQzFDOzs7Ozs7Ozs7SUFDSCxDQUFDO0lBSkQsOENBSUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7RWxlbWVudCwgTGV4ZXJSYW5nZSwgTm9kZSwgUGFyc2VFcnJvciwgUGFyc2VFcnJvckxldmVsLCBQYXJzZVNvdXJjZVNwYW4sIFBhcnNlVHJlZVJlc3VsdCwgWG1sUGFyc2VyfSBmcm9tICdAYW5ndWxhci9jb21waWxlcic7XG5cbmltcG9ydCB7RGlhZ25vc3RpY3N9IGZyb20gJy4uLy4uLy4uL2RpYWdub3N0aWNzJztcblxuaW1wb3J0IHtUcmFuc2xhdGlvblBhcnNlRXJyb3J9IGZyb20gJy4vdHJhbnNsYXRpb25fcGFyc2VfZXJyb3InO1xuaW1wb3J0IHtQYXJzZUFuYWx5c2lzLCBQYXJzZWRUcmFuc2xhdGlvbkJ1bmRsZX0gZnJvbSAnLi90cmFuc2xhdGlvbl9wYXJzZXInO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXR0ck9yVGhyb3coZWxlbWVudDogRWxlbWVudCwgYXR0ck5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGF0dHJWYWx1ZSA9IGdldEF0dHJpYnV0ZShlbGVtZW50LCBhdHRyTmFtZSk7XG4gIGlmIChhdHRyVmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBUcmFuc2xhdGlvblBhcnNlRXJyb3IoXG4gICAgICAgIGVsZW1lbnQuc291cmNlU3BhbiwgYE1pc3NpbmcgcmVxdWlyZWQgXCIke2F0dHJOYW1lfVwiIGF0dHJpYnV0ZTpgKTtcbiAgfVxuICByZXR1cm4gYXR0clZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXR0cmlidXRlKGVsZW1lbnQ6IEVsZW1lbnQsIGF0dHJOYW1lOiBzdHJpbmcpOiBzdHJpbmd8dW5kZWZpbmVkIHtcbiAgY29uc3QgYXR0ciA9IGVsZW1lbnQuYXR0cnMuZmluZChhID0+IGEubmFtZSA9PT0gYXR0ck5hbWUpO1xuICByZXR1cm4gYXR0ciAhPT0gdW5kZWZpbmVkID8gYXR0ci52YWx1ZSA6IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBQYXJzZSB0aGUgXCJjb250ZW50c1wiIG9mIGFuIFhNTCBlbGVtZW50LlxuICpcbiAqIFRoaXMgd291bGQgYmUgZXF1aXZhbGVudCB0byBwYXJzaW5nIHRoZSBgaW5uZXJIVE1MYCBzdHJpbmcgb2YgYW4gSFRNTCBkb2N1bWVudC5cbiAqXG4gKiBAcGFyYW0gZWxlbWVudCBUaGUgZWxlbWVudCB3aG9zZSBpbm5lciByYW5nZSB3ZSB3YW50IHRvIHBhcnNlLlxuICogQHJldHVybnMgYSBjb2xsZWN0aW9uIG9mIFhNTCBgTm9kZWAgb2JqZWN0cyBhbmQgYW55IGVycm9ycyB0aGF0IHdlcmUgcGFyc2VkIGZyb20gdGhlIGVsZW1lbnQnc1xuICogICAgIGNvbnRlbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VJbm5lclJhbmdlKGVsZW1lbnQ6IEVsZW1lbnQpOiBQYXJzZVRyZWVSZXN1bHQge1xuICBjb25zdCB4bWxQYXJzZXIgPSBuZXcgWG1sUGFyc2VyKCk7XG4gIGNvbnN0IHhtbCA9IHhtbFBhcnNlci5wYXJzZShcbiAgICAgIGVsZW1lbnQuc291cmNlU3Bhbi5zdGFydC5maWxlLmNvbnRlbnQsIGVsZW1lbnQuc291cmNlU3Bhbi5zdGFydC5maWxlLnVybCxcbiAgICAgIHt0b2tlbml6ZUV4cGFuc2lvbkZvcm1zOiB0cnVlLCByYW5nZTogZ2V0SW5uZXJSYW5nZShlbGVtZW50KX0pO1xuICByZXR1cm4geG1sO1xufVxuXG4vKipcbiAqIENvbXB1dGUgYSBgTGV4ZXJSYW5nZWAgdGhhdCBjb250YWlucyBhbGwgdGhlIGNoaWxkcmVuIG9mIHRoZSBnaXZlbiBgZWxlbWVudGAuXG4gKiBAcGFyYW0gZWxlbWVudCBUaGUgZWxlbWVudCB3aG9zZSBpbm5lciByYW5nZSB3ZSB3YW50IHRvIGNvbXB1dGUuXG4gKi9cbmZ1bmN0aW9uIGdldElubmVyUmFuZ2UoZWxlbWVudDogRWxlbWVudCk6IExleGVyUmFuZ2Uge1xuICBjb25zdCBzdGFydCA9IGVsZW1lbnQuc3RhcnRTb3VyY2VTcGFuLmVuZDtcbiAgY29uc3QgZW5kID0gZWxlbWVudC5lbmRTb3VyY2VTcGFuIS5zdGFydDtcbiAgcmV0dXJuIHtcbiAgICBzdGFydFBvczogc3RhcnQub2Zmc2V0LFxuICAgIHN0YXJ0TGluZTogc3RhcnQubGluZSxcbiAgICBzdGFydENvbDogc3RhcnQuY29sLFxuICAgIGVuZFBvczogZW5kLm9mZnNldCxcbiAgfTtcbn1cblxuLyoqXG4gKiBUaGlzIFwiaGludFwiIG9iamVjdCBpcyB1c2VkIHRvIHBhc3MgaW5mb3JtYXRpb24gZnJvbSBgY2FuUGFyc2UoKWAgdG8gYHBhcnNlKClgIGZvclxuICogYFRyYW5zbGF0aW9uUGFyc2VyYHMgdGhhdCBleHBlY3QgWE1MIGNvbnRlbnRzLlxuICpcbiAqIFRoaXMgc2F2ZXMgdGhlIGBwYXJzZSgpYCBtZXRob2QgZnJvbSBoYXZpbmcgdG8gcmUtcGFyc2UgdGhlIFhNTC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBYbWxUcmFuc2xhdGlvblBhcnNlckhpbnQge1xuICBlbGVtZW50OiBFbGVtZW50O1xuICBlcnJvcnM6IFBhcnNlRXJyb3JbXTtcbn1cblxuLyoqXG4gKiBDYW4gdGhpcyBYTUwgYmUgcGFyc2VkIGZvciB0cmFuc2xhdGlvbnMsIGdpdmVuIHRoZSBleHBlY3RlZCBgcm9vdE5vZGVOYW1lYCBhbmQgZXhwZWN0ZWQgcm9vdCBub2RlXG4gKiBgYXR0cmlidXRlc2AgdGhhdCBzaG91bGQgYXBwZWFyIGluIHRoZSBmaWxlLlxuICpcbiAqIEBwYXJhbSBmaWxlUGF0aCBUaGUgcGF0aCB0byB0aGUgZmlsZSBiZWluZyBjaGVja2VkLlxuICogQHBhcmFtIGNvbnRlbnRzIFRoZSBjb250ZW50cyBvZiB0aGUgZmlsZSBiZWluZyBjaGVja2VkLlxuICogQHBhcmFtIHJvb3ROb2RlTmFtZSBUaGUgZXhwZWN0ZWQgbmFtZSBvZiBhbiBYTUwgcm9vdCBub2RlIHRoYXQgc2hvdWxkIGV4aXN0LlxuICogQHBhcmFtIGF0dHJpYnV0ZXMgVGhlIGF0dHJpYnV0ZXMgKGFuZCB0aGVpciB2YWx1ZXMpIHRoYXQgc2hvdWxkIGFwcGVhciBvbiB0aGUgcm9vdCBub2RlLlxuICogQHJldHVybnMgVGhlIGBYbWxUcmFuc2xhdGlvblBhcnNlckhpbnRgIG9iamVjdCBmb3IgdXNlIGJ5IGBUcmFuc2xhdGlvblBhcnNlci5wYXJzZSgpYCBpZiB0aGUgWE1MXG4gKiBkb2N1bWVudCBoYXMgdGhlIGV4cGVjdGVkIGZvcm1hdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhblBhcnNlWG1sKFxuICAgIGZpbGVQYXRoOiBzdHJpbmcsIGNvbnRlbnRzOiBzdHJpbmcsIHJvb3ROb2RlTmFtZTogc3RyaW5nLFxuICAgIGF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiBQYXJzZUFuYWx5c2lzPFhtbFRyYW5zbGF0aW9uUGFyc2VySGludD4ge1xuICBjb25zdCBkaWFnbm9zdGljcyA9IG5ldyBEaWFnbm9zdGljcygpO1xuICBjb25zdCB4bWxQYXJzZXIgPSBuZXcgWG1sUGFyc2VyKCk7XG4gIGNvbnN0IHhtbCA9IHhtbFBhcnNlci5wYXJzZShjb250ZW50cywgZmlsZVBhdGgpO1xuXG4gIGlmICh4bWwucm9vdE5vZGVzLmxlbmd0aCA9PT0gMCB8fFxuICAgICAgeG1sLmVycm9ycy5zb21lKGVycm9yID0+IGVycm9yLmxldmVsID09PSBQYXJzZUVycm9yTGV2ZWwuRVJST1IpKSB7XG4gICAgeG1sLmVycm9ycy5mb3JFYWNoKGUgPT4gYWRkUGFyc2VFcnJvcihkaWFnbm9zdGljcywgZSkpO1xuICAgIHJldHVybiB7Y2FuUGFyc2U6IGZhbHNlLCBkaWFnbm9zdGljc307XG4gIH1cblxuICBjb25zdCByb290RWxlbWVudHMgPSB4bWwucm9vdE5vZGVzLmZpbHRlcihpc05hbWVkRWxlbWVudChyb290Tm9kZU5hbWUpKTtcbiAgY29uc3Qgcm9vdEVsZW1lbnQgPSByb290RWxlbWVudHNbMF07XG4gIGlmIChyb290RWxlbWVudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgZGlhZ25vc3RpY3Mud2FybihgVGhlIFhNTCBmaWxlIGRvZXMgbm90IGNvbnRhaW4gYSA8JHtyb290Tm9kZU5hbWV9PiByb290IG5vZGUuYCk7XG4gICAgcmV0dXJuIHtjYW5QYXJzZTogZmFsc2UsIGRpYWdub3N0aWNzfTtcbiAgfVxuXG4gIGZvciAoY29uc3QgYXR0cktleSBvZiBPYmplY3Qua2V5cyhhdHRyaWJ1dGVzKSkge1xuICAgIGNvbnN0IGF0dHIgPSByb290RWxlbWVudC5hdHRycy5maW5kKGF0dHIgPT4gYXR0ci5uYW1lID09PSBhdHRyS2V5KTtcbiAgICBpZiAoYXR0ciA9PT0gdW5kZWZpbmVkIHx8IGF0dHIudmFsdWUgIT09IGF0dHJpYnV0ZXNbYXR0cktleV0pIHtcbiAgICAgIGFkZFBhcnNlRGlhZ25vc3RpYyhcbiAgICAgICAgICBkaWFnbm9zdGljcywgcm9vdEVsZW1lbnQuc291cmNlU3BhbixcbiAgICAgICAgICBgVGhlIDwke3Jvb3ROb2RlTmFtZX0+IG5vZGUgZG9lcyBub3QgaGF2ZSB0aGUgcmVxdWlyZWQgYXR0cmlidXRlOiAke2F0dHJLZXl9PVwiJHtcbiAgICAgICAgICAgICAgYXR0cmlidXRlc1thdHRyS2V5XX1cIi5gLFxuICAgICAgICAgIFBhcnNlRXJyb3JMZXZlbC5XQVJOSU5HKTtcbiAgICAgIHJldHVybiB7Y2FuUGFyc2U6IGZhbHNlLCBkaWFnbm9zdGljc307XG4gICAgfVxuICB9XG5cbiAgaWYgKHJvb3RFbGVtZW50cy5sZW5ndGggPiAxKSB7XG4gICAgeG1sLmVycm9ycy5wdXNoKG5ldyBQYXJzZUVycm9yKFxuICAgICAgICB4bWwucm9vdE5vZGVzWzFdLnNvdXJjZVNwYW4sXG4gICAgICAgICdVbmV4cGVjdGVkIHJvb3Qgbm9kZS4gWExJRkYgMS4yIGZpbGVzIHNob3VsZCBvbmx5IGhhdmUgYSBzaW5nbGUgPHhsaWZmPiByb290IG5vZGUuJyxcbiAgICAgICAgUGFyc2VFcnJvckxldmVsLldBUk5JTkcpKTtcbiAgfVxuXG4gIHJldHVybiB7Y2FuUGFyc2U6IHRydWUsIGRpYWdub3N0aWNzLCBoaW50OiB7ZWxlbWVudDogcm9vdEVsZW1lbnQsIGVycm9yczogeG1sLmVycm9yc319O1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIHByZWRpY2F0ZSwgd2hpY2ggY2FuIGJlIHVzZWQgYnkgdGhpbmdzIGxpa2UgYEFycmF5LmZpbHRlcigpYCwgdGhhdCB3aWxsIG1hdGNoIGEgbmFtZWRcbiAqIFhNTCBFbGVtZW50IGZyb20gYSBjb2xsZWN0aW9uIG9mIFhNTCBOb2Rlcy5cbiAqXG4gKiBAcGFyYW0gbmFtZSBUaGUgZXhwZWN0ZWQgbmFtZSBvZiB0aGUgZWxlbWVudCB0byBtYXRjaC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzTmFtZWRFbGVtZW50KG5hbWU6IHN0cmluZyk6IChub2RlOiBOb2RlKSA9PiBub2RlIGlzIEVsZW1lbnQge1xuICBmdW5jdGlvbiBwcmVkaWNhdGUobm9kZTogTm9kZSk6IG5vZGUgaXMgRWxlbWVudCB7XG4gICAgcmV0dXJuIG5vZGUgaW5zdGFuY2VvZiBFbGVtZW50ICYmIG5vZGUubmFtZSA9PT0gbmFtZTtcbiAgfVxuICByZXR1cm4gcHJlZGljYXRlO1xufVxuXG4vKipcbiAqIEFkZCBhbiBYTUwgcGFyc2VyIHJlbGF0ZWQgbWVzc2FnZSB0byB0aGUgZ2l2ZW4gYGRpYWdub3N0aWNzYCBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRQYXJzZURpYWdub3N0aWMoXG4gICAgZGlhZ25vc3RpY3M6IERpYWdub3N0aWNzLCBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW4sIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBsZXZlbDogUGFyc2VFcnJvckxldmVsKTogdm9pZCB7XG4gIGFkZFBhcnNlRXJyb3IoZGlhZ25vc3RpY3MsIG5ldyBQYXJzZUVycm9yKHNvdXJjZVNwYW4sIG1lc3NhZ2UsIGxldmVsKSk7XG59XG5cbi8qKlxuICogQ29weSB0aGUgZm9ybWF0dGVkIGVycm9yIG1lc3NhZ2UgZnJvbSB0aGUgZ2l2ZW4gYHBhcnNlRXJyb3JgIG9iamVjdCBpbnRvIHRoZSBnaXZlbiBgZGlhZ25vc3RpY3NgXG4gKiBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRQYXJzZUVycm9yKGRpYWdub3N0aWNzOiBEaWFnbm9zdGljcywgcGFyc2VFcnJvcjogUGFyc2VFcnJvcik6IHZvaWQge1xuICBpZiAocGFyc2VFcnJvci5sZXZlbCA9PT0gUGFyc2VFcnJvckxldmVsLkVSUk9SKSB7XG4gICAgZGlhZ25vc3RpY3MuZXJyb3IocGFyc2VFcnJvci50b1N0cmluZygpKTtcbiAgfSBlbHNlIHtcbiAgICBkaWFnbm9zdGljcy53YXJuKHBhcnNlRXJyb3IudG9TdHJpbmcoKSk7XG4gIH1cbn1cblxuLyoqXG4gKiBBZGQgdGhlIHByb3ZpZGVkIGBlcnJvcnNgIHRvIHRoZSBgYnVuZGxlYCBkaWFnbm9zdGljcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZEVycm9yc1RvQnVuZGxlKGJ1bmRsZTogUGFyc2VkVHJhbnNsYXRpb25CdW5kbGUsIGVycm9yczogUGFyc2VFcnJvcltdKTogdm9pZCB7XG4gIGZvciAoY29uc3QgZXJyb3Igb2YgZXJyb3JzKSB7XG4gICAgYWRkUGFyc2VFcnJvcihidW5kbGUuZGlhZ25vc3RpY3MsIGVycm9yKTtcbiAgfVxufVxuIl19