@po-ui/ng-code-editor 5.22.3 → 6.2.0

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 (55) hide show
  1. package/README.md +20 -20
  2. package/esm2020/lib/components/po-code-editor/interfaces/po-code-editor-registerable-options.interface.mjs +2 -0
  3. package/esm2020/lib/components/po-code-editor/interfaces/po-code-editor-registerable-suggestion.interface.mjs +2 -0
  4. package/esm2020/lib/components/po-code-editor/interfaces/po-code-editor-registerable-tokens.interface.mjs +2 -0
  5. package/esm2020/lib/components/po-code-editor/interfaces/po-code-editor-registerable.interface.mjs +2 -0
  6. package/esm2020/lib/components/po-code-editor/po-code-editor-base.component.mjs +261 -0
  7. package/esm2020/lib/components/po-code-editor/po-code-editor-register.service.mjs +66 -0
  8. package/esm2020/lib/components/po-code-editor/po-code-editor-suggestion.service.mjs +29 -0
  9. package/{esm2015/lib/components/po-code-editor/po-code-editor.component.js → esm2020/lib/components/po-code-editor/po-code-editor.component.mjs} +229 -225
  10. package/esm2020/lib/components/po-code-editor/po-code-editor.module.mjs +37 -0
  11. package/esm2020/lib/index.mjs +4 -0
  12. package/esm2020/po-ui-ng-code-editor.mjs +5 -0
  13. package/{esm2015/public-api.js → esm2020/public-api.mjs} +2 -2
  14. package/fesm2015/po-ui-ng-code-editor.mjs +632 -0
  15. package/fesm2015/po-ui-ng-code-editor.mjs.map +1 -0
  16. package/{fesm2015/po-ui-ng-code-editor.js → fesm2020/po-ui-ng-code-editor.mjs} +605 -582
  17. package/fesm2020/po-ui-ng-code-editor.mjs.map +1 -0
  18. package/lib/components/po-code-editor/interfaces/po-code-editor-registerable-options.interface.d.ts +22 -22
  19. package/lib/components/po-code-editor/interfaces/po-code-editor-registerable-suggestion.interface.d.ts +37 -37
  20. package/lib/components/po-code-editor/interfaces/po-code-editor-registerable-tokens.interface.d.ts +21 -21
  21. package/lib/components/po-code-editor/interfaces/po-code-editor-registerable.interface.d.ts +17 -17
  22. package/lib/components/po-code-editor/po-code-editor-base.component.d.ts +194 -191
  23. package/lib/components/po-code-editor/po-code-editor-register.service.d.ts +70 -67
  24. package/lib/components/po-code-editor/po-code-editor-suggestion.service.d.ts +10 -7
  25. package/lib/components/po-code-editor/po-code-editor.component.d.ts +61 -58
  26. package/lib/components/po-code-editor/po-code-editor.module.d.ts +16 -10
  27. package/lib/index.d.ts +7 -7
  28. package/package.json +31 -16
  29. package/po-ui-ng-code-editor-6.2.0.tgz +0 -0
  30. package/po-ui-ng-code-editor.d.ts +5 -6
  31. package/public-api.d.ts +1 -1
  32. package/schematics/README.md +98 -98
  33. package/schematics/collection.json +10 -10
  34. package/schematics/ng-add/index.d.ts +10 -10
  35. package/schematics/ng-add/index.js +38 -38
  36. package/schematics/ng-add/index.js.map +1 -1
  37. package/schematics/ng-add/index.spec.d.ts +1 -1
  38. package/schematics/ng-add/index.spec.js +113 -113
  39. package/schematics/ng-add/index.spec.js.map +1 -1
  40. package/schematics/ng-add/schema.json +7 -7
  41. package/bundles/po-ui-ng-code-editor.umd.js +0 -981
  42. package/bundles/po-ui-ng-code-editor.umd.js.map +0 -1
  43. package/esm2015/lib/components/po-code-editor/interfaces/po-code-editor-registerable-options.interface.js +0 -2
  44. package/esm2015/lib/components/po-code-editor/interfaces/po-code-editor-registerable-suggestion.interface.js +0 -2
  45. package/esm2015/lib/components/po-code-editor/interfaces/po-code-editor-registerable-tokens.interface.js +0 -2
  46. package/esm2015/lib/components/po-code-editor/interfaces/po-code-editor-registerable.interface.js +0 -2
  47. package/esm2015/lib/components/po-code-editor/po-code-editor-base.component.js +0 -248
  48. package/esm2015/lib/components/po-code-editor/po-code-editor-register.service.js +0 -63
  49. package/esm2015/lib/components/po-code-editor/po-code-editor-suggestion.service.js +0 -28
  50. package/esm2015/lib/components/po-code-editor/po-code-editor.module.js +0 -31
  51. package/esm2015/lib/index.js +0 -4
  52. package/esm2015/po-ui-ng-code-editor.js +0 -7
  53. package/fesm2015/po-ui-ng-code-editor.js.map +0 -1
  54. package/po-ui-ng-code-editor-5.22.3.tgz +0 -0
  55. package/po-ui-ng-code-editor.metadata.json +0 -1
@@ -1,225 +1,229 @@
1
- import { Component, ElementRef, forwardRef, NgZone, ViewChild } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { PoCodeEditorBaseComponent } from './po-code-editor-base.component';
4
- import { PoCodeEditorRegister } from './po-code-editor-register.service';
5
- import { PoCodeEditorSuggestionService } from './po-code-editor-suggestion.service';
6
- // variáveis relacionadas ao Monaco
7
- let loadedMonaco = false;
8
- let loadPromise;
9
- /* istanbul ignore next */
10
- const providers = [
11
- {
12
- provide: NG_VALUE_ACCESSOR,
13
- // eslint-disable-next-line
14
- useExisting: forwardRef(() => PoCodeEditorComponent),
15
- multi: true
16
- }
17
- ];
18
- /**
19
- * @docsExtends PoCodeEditorBaseComponent
20
- *
21
- * @example
22
- *
23
- * <example name="po-code-editor-basic" title="PO Code Editor Basic">
24
- * <file name="sample-po-code-editor-basic/sample-po-code-editor-basic.component.html"> </file>
25
- * <file name="sample-po-code-editor-basic/sample-po-code-editor-basic.component.ts"> </file>
26
- * </example>
27
- *
28
- * <example name="po-code-editor-labs" title="PO Code Editor Labs">
29
- * <file name="sample-po-code-editor-labs/sample-po-code-editor-labs.component.html"> </file>
30
- * <file name="sample-po-code-editor-labs/sample-po-code-editor-labs.component.ts"> </file>
31
- * </example>
32
- *
33
- * <example name="po-code-editor-diff" title="PO Code Editor - Diff">
34
- * <file name="sample-po-code-editor-diff/sample-po-code-editor-diff.component.html"> </file>
35
- * <file name="sample-po-code-editor-diff/sample-po-code-editor-diff.component.ts"> </file>
36
- * </example>
37
- *
38
- * <example name="po-code-editor-terraform" title="PO Code Editor - Terraform">
39
- * <file name="sample-po-code-editor-terraform/sample-po-code-editor-terraform.component.html"> </file>
40
- * <file name="sample-po-code-editor-terraform/sample-po-code-editor-terraform.component.ts"> </file>
41
- * <file name="sample-po-code-editor-terraform/sample-po-code-editor-terraform.constant.ts"> </file>
42
- * <file name="sample-po-code-editor-terraform/sample-po-code-editor-terraform.module.ts"> </file>
43
- * </example>
44
- *
45
- * <example name="po-code-editor-suggestion" title="PO Code Editor Suggestion">
46
- * <file name="sample-po-code-editor-suggestion/sample-po-code-editor-suggestion.component.html"> </file>
47
- * <file name="sample-po-code-editor-suggestion/sample-po-code-editor-suggestion.component.ts"> </file>
48
- * </example>
49
- */
50
- export class PoCodeEditorComponent extends PoCodeEditorBaseComponent {
51
- constructor(zone, el, poCodeEditorSuggestionService, codeEditorRegister) {
52
- super();
53
- this.zone = zone;
54
- this.el = el;
55
- this.poCodeEditorSuggestionService = poCodeEditorSuggestionService;
56
- this.codeEditorRegister = codeEditorRegister;
57
- this.canLoad = false;
58
- }
59
- /* istanbul ignore next */
60
- ngAfterViewInit() {
61
- if (loadedMonaco) {
62
- /* istanbul ignore next */
63
- loadPromise.then(() => {
64
- setTimeout(() => {
65
- if (this.el.nativeElement.offsetWidth) {
66
- this.registerCustomLanguage();
67
- this.initMonaco(this.getOptions());
68
- }
69
- else {
70
- this.canLoad = true;
71
- }
72
- });
73
- });
74
- }
75
- else {
76
- loadedMonaco = true;
77
- loadPromise = new Promise((resolve) => {
78
- /* istanbul ignore next */
79
- const onGotAmdLoader = () => {
80
- window.require.config({ paths: { 'vs': './assets/monaco/vs' } });
81
- window.require(['vs/editor/editor.main'], () => {
82
- setTimeout(() => {
83
- if (this.el.nativeElement.offsetWidth) {
84
- this.registerCustomLanguage();
85
- this.initMonaco(this.getOptions());
86
- }
87
- else {
88
- this.canLoad = true;
89
- }
90
- resolve();
91
- });
92
- });
93
- };
94
- if (!window.require) {
95
- const loaderScript = document.createElement('script');
96
- loaderScript.type = 'text/javascript';
97
- loaderScript.src = './assets/monaco/vs/loader.js';
98
- loaderScript.addEventListener('load', onGotAmdLoader);
99
- document.body.appendChild(loaderScript);
100
- }
101
- });
102
- }
103
- }
104
- ngDoCheck() {
105
- if (this.canLoad && this.el.nativeElement.offsetWidth) {
106
- this.registerCustomLanguage();
107
- this.initMonaco(this.getOptions());
108
- this.canLoad = false;
109
- }
110
- }
111
- /* istanbul ignore next */
112
- monacoCreateModel(value) {
113
- return monaco.editor.createModel(value);
114
- }
115
- setValueInEditor() {
116
- if (this.showDiff) {
117
- setTimeout(() => {
118
- if (this.editor) {
119
- this.editor.setModel({
120
- original: this.monacoCreateModel(this.value),
121
- modified: this.monacoCreateModel(this.modifiedValue)
122
- });
123
- }
124
- });
125
- }
126
- else {
127
- setTimeout(() => {
128
- if (this.editor) {
129
- this.editor.setValue(this.value);
130
- }
131
- });
132
- }
133
- }
134
- setLanguage(language) {
135
- if (this.showDiff) {
136
- this.setMonacoLanguage(this.editor.getModel().original, language);
137
- this.setMonacoLanguage(this.editor.getModel().modified, language);
138
- }
139
- else {
140
- this.setMonacoLanguage(this.editor.getModel(), language);
141
- }
142
- }
143
- /* istanbul ignore next */
144
- setTheme(theme) {
145
- monaco.editor.setTheme(theme);
146
- }
147
- setReadOnly(readOnly) {
148
- this.editor.updateOptions({ readOnly: readOnly });
149
- }
150
- /* istanbul ignore next */
151
- setSuggestions(newSuggestions, language = this.language) {
152
- if (!newSuggestions) {
153
- return;
154
- }
155
- const suggestions = this.poCodeEditorSuggestionService.getSuggestion(language, newSuggestions);
156
- monaco.languages.registerCompletionItemProvider(language, {
157
- provideCompletionItems: () => ({ suggestions })
158
- });
159
- }
160
- writeValue(value) {
161
- this.value = value && value instanceof Array ? value[0] : value;
162
- this.modifiedValue = value && value instanceof Array && value.length > 0 ? value[1] : '';
163
- this.setValueInEditor();
164
- }
165
- /* istanbul ignore next */
166
- initMonaco(options) {
167
- if (this.showDiff) {
168
- this.editor = monaco.editor.createDiffEditor(this.editorContainer.nativeElement, options);
169
- this.editor.setModel({
170
- original: monaco.editor.createModel(this.value),
171
- modified: monaco.editor.createModel(this.modifiedValue)
172
- });
173
- this.editor.onDidUpdateDiff((e) => {
174
- const original = this.editor.getModel().original.getValue();
175
- const modified = this.editor.getModel().modified.getValue();
176
- this.onChangePropagate([original, modified]);
177
- });
178
- }
179
- else {
180
- this.editor = monaco.editor.create(this.editorContainer.nativeElement, options);
181
- this.editor.setValue(this.value);
182
- this.editor.onDidChangeModelContent((e) => {
183
- const value = this.editor.getValue();
184
- this.onChangePropagate(value);
185
- this.zone.run(() => (this.value = value));
186
- });
187
- }
188
- setTimeout(() => {
189
- this.setLanguage(this.language);
190
- this.setSuggestions(this.suggestions);
191
- }, 500);
192
- }
193
- /* istanbul ignore next */
194
- setMonacoLanguage(model, language) {
195
- monaco.editor.setModelLanguage(model, language);
196
- }
197
- registerCustomLanguage() {
198
- if (this.codeEditorRegister.language) {
199
- monaco.languages.register({ id: this.codeEditorRegister.language });
200
- if (this.codeEditorRegister.options) {
201
- monaco.languages.setMonarchTokensProvider(this.codeEditorRegister.language, this.codeEditorRegister.options);
202
- }
203
- if (this.codeEditorRegister.suggestions) {
204
- this.setSuggestions(this.codeEditorRegister.suggestions.provideCompletionItems().suggestions, this.codeEditorRegister.language);
205
- }
206
- }
207
- }
208
- }
209
- PoCodeEditorComponent.decorators = [
210
- { type: Component, args: [{
211
- selector: 'po-code-editor',
212
- template: "<div #editorContainer [style.height]=\"height\"></div>\r\n",
213
- providers
214
- },] }
215
- ];
216
- PoCodeEditorComponent.ctorParameters = () => [
217
- { type: NgZone },
218
- { type: ElementRef },
219
- { type: PoCodeEditorSuggestionService },
220
- { type: PoCodeEditorRegister }
221
- ];
222
- PoCodeEditorComponent.propDecorators = {
223
- editorContainer: [{ type: ViewChild, args: ['editorContainer', { static: true },] }]
224
- };
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tY29kZS1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29kZS1lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL3BvLWNvZGUtZWRpdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBVyxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDdkgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFekUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFcEYsbUNBQW1DO0FBQ25DLElBQUksWUFBWSxHQUFZLEtBQUssQ0FBQztBQUNsQyxJQUFJLFdBQTBCLENBQUM7QUFNL0IsMEJBQTBCO0FBQzFCLE1BQU0sU0FBUyxHQUFvQjtJQUNqQztRQUNFLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsMkJBQTJCO1FBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUM7UUFDcEQsS0FBSyxFQUFFLElBQUk7S0FDWjtDQUNGLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCRztBQU1ILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx5QkFBeUI7SUFLbEUsWUFDVSxJQUFZLEVBQ1osRUFBYyxFQUNkLDZCQUE0RCxFQUM1RCxrQkFBeUM7UUFFakQsS0FBSyxFQUFFLENBQUM7UUFMQSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGtD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b3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBEb0NoZWNrLCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBOZ1pvbmUsIFZpZXdDaGlsZCwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBQb0NvZGVFZGl0b3JCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1jb2RlLWVkaXRvci1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBvQ29kZUVkaXRvclJlZ2lzdGVyIH0gZnJvbSAnLi9wby1jb2RlLWVkaXRvci1yZWdpc3Rlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlU3VnZ2VzdGlvbiB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1jb2RlLWVkaXRvci1yZWdpc3RlcmFibGUtc3VnZ2VzdGlvbi5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBQb0NvZGVFZGl0b3JTdWdnZXN0aW9uU2VydmljZSB9IGZyb20gJy4vcG8tY29kZS1lZGl0b3Itc3VnZ2VzdGlvbi5zZXJ2aWNlJztcclxuXHJcbi8vIHZhcmnDoXZlaXMgcmVsYWNpb25hZGFzIGFvIE1vbmFjb1xyXG5sZXQgbG9hZGVkTW9uYWNvOiBib29sZWFuID0gZmFsc2U7XHJcbmxldCBsb2FkUHJvbWlzZTogUHJvbWlzZTx2b2lkPjtcclxuXHJcbmRlY2xhcmUgY29uc3QgbW9uYWNvOiBhbnk7XHJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxyXG5kZWNsYXJlIGNvbnN0IHJlcXVpcmU6IGFueTtcclxuXHJcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXHJcbmNvbnN0IHByb3ZpZGVyczogQXJyYXk8UHJvdmlkZXI+ID0gW1xyXG4gIHtcclxuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXHJcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQb0NvZGVFZGl0b3JDb21wb25lbnQpLFxyXG4gICAgbXVsdGk6IHRydWVcclxuICB9XHJcbl07XHJcblxyXG4vKipcclxuICogQGRvY3NFeHRlbmRzIFBvQ29kZUVkaXRvckJhc2VDb21wb25lbnRcclxuICpcclxuICogQGV4YW1wbGVcclxuICpcclxuICogPGV4YW1wbGUgbmFtZT1cInBvLWNvZGUtZWRpdG9yLWJhc2ljXCIgdGl0bGU9XCJQTyBDb2RlIEVkaXRvciBCYXNpY1wiPlxyXG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci1iYXNpYy9zYW1wbGUtcG8tY29kZS1lZGl0b3ItYmFzaWMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxyXG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci1iYXNpYy9zYW1wbGUtcG8tY29kZS1lZGl0b3ItYmFzaWMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cclxuICogPC9leGFtcGxlPlxyXG4gKlxyXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tY29kZS1lZGl0b3ItbGFic1wiIHRpdGxlPVwiUE8gQ29kZSBFZGl0b3IgTGFic1wiPlxyXG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci1sYWJzL3NhbXBsZS1wby1jb2RlLWVkaXRvci1sYWJzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cclxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tY29kZS1lZGl0b3ItbGFicy9zYW1wbGUtcG8tY29kZS1lZGl0b3ItbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxyXG4gKiA8L2V4YW1wbGU+XHJcbiAqXHJcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1jb2RlLWVkaXRvci1kaWZmXCIgdGl0bGU9XCJQTyBDb2RlIEVkaXRvciAtIERpZmZcIj5cclxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tY29kZS1lZGl0b3ItZGlmZi9zYW1wbGUtcG8tY29kZS1lZGl0b3ItZGlmZi5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XHJcbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWNvZGUtZWRpdG9yLWRpZmYvc2FtcGxlLXBvLWNvZGUtZWRpdG9yLWRpZmYuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cclxuICogPC9leGFtcGxlPlxyXG4gKlxyXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tY29kZS1lZGl0b3ItdGVycmFmb3JtXCIgdGl0bGU9XCJQTyBDb2RlIEVkaXRvciAtIFRlcnJhZm9ybVwiPlxyXG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci10ZXJyYWZvcm0vc2FtcGxlLXBvLWNvZGUtZWRpdG9yLXRlcnJhZm9ybS5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XHJcbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWNvZGUtZWRpdG9yLXRlcnJhZm9ybS9zYW1wbGUtcG8tY29kZS1lZGl0b3ItdGVycmFmb3JtLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XHJcbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWNvZGUtZWRpdG9yLXRlcnJhZm9ybS9zYW1wbGUtcG8tY29kZS1lZGl0b3ItdGVycmFmb3JtLmNvbnN0YW50LnRzXCI+IDwvZmlsZT5cclxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tY29kZS1lZGl0b3ItdGVycmFmb3JtL3NhbXBsZS1wby1jb2RlLWVkaXRvci10ZXJyYWZvcm0ubW9kdWxlLnRzXCI+IDwvZmlsZT5cclxuICogPC9leGFtcGxlPlxyXG4gKlxyXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tY29kZS1lZGl0b3Itc3VnZ2VzdGlvblwiIHRpdGxlPVwiUE8gQ29kZSBFZGl0b3IgU3VnZ2VzdGlvblwiPlxyXG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci1zdWdnZXN0aW9uL3NhbXBsZS1wby1jb2RlLWVkaXRvci1zdWdnZXN0aW9uLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cclxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tY29kZS1lZGl0b3Itc3VnZ2VzdGlvbi9zYW1wbGUtcG8tY29kZS1lZGl0b3Itc3VnZ2VzdGlvbi5jb21wb25lbnQudHNcIj4gPC9maWxlPlxyXG4gKiA8L2V4YW1wbGU+XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3BvLWNvZGUtZWRpdG9yJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcG8tY29kZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHByb3ZpZGVyc1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUG9Db2RlRWRpdG9yQ29tcG9uZW50IGV4dGVuZHMgUG9Db2RlRWRpdG9yQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIERvQ2hlY2sge1xyXG4gIEBWaWV3Q2hpbGQoJ2VkaXRvckNvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pIGVkaXRvckNvbnRhaW5lcjogRWxlbWVudFJlZjtcclxuXHJcbiAgY2FuTG9hZCA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgem9uZTogTmdab25lLFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgcG9Db2RlRWRpdG9yU3VnZ2VzdGlvblNlcnZpY2U6IFBvQ29kZUVkaXRvclN1Z2dlc3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb2RlRWRpdG9yUmVnaXN0ZXI/OiBQb0NvZGVFZGl0b3JSZWdpc3RlclxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKGxvYWRlZE1vbmFjbykge1xyXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xyXG4gICAgICBsb2FkUHJvbWlzZS50aGVuKCgpID0+IHtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIGlmICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgpIHtcclxuICAgICAgICAgICAgdGhpcy5yZWdpc3RlckN1c3RvbUxhbmd1YWdlKCk7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdE1vbmFjbyh0aGlzLmdldE9wdGlvbnMoKSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmNhbkxvYWQgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxvYWRlZE1vbmFjbyA9IHRydWU7XHJcbiAgICAgIGxvYWRQcm9taXNlID0gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmU6IGFueSkgPT4ge1xyXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXHJcbiAgICAgICAgY29uc3Qgb25Hb3RBbWRMb2FkZXI6IGFueSA9ICgpID0+IHtcclxuICAgICAgICAgICg8YW55PndpbmRvdykucmVxdWlyZS5jb25maWcoeyBwYXRoczogeyAndnMnOiAnLi9hc3NldHMvbW9uYWNvL3ZzJyB9IH0pO1xyXG4gICAgICAgICAgKDxhbnk+d2luZG93KS5yZXF1aXJlKFsndnMvZWRpdG9yL2VkaXRvci5tYWluJ10sICgpID0+IHtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKHRoaXMuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZWdpc3RlckN1c3RvbUxhbmd1YWdlKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRNb25hY28odGhpcy5nZXRPcHRpb25zKCkpO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNhbkxvYWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgaWYgKCEoPGFueT53aW5kb3cpLnJlcXVpcmUpIHtcclxuICAgICAgICAgIGNvbnN0IGxvYWRlclNjcmlwdDogSFRNTFNjcmlwdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcclxuICAgICAgICAgIGxvYWRlclNjcmlwdC50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7XHJcbiAgICAgICAgICBsb2FkZXJTY3JpcHQuc3JjID0gJy4vYXNzZXRzL21vbmFjby92cy9sb2FkZXIuanMnO1xyXG4gICAgICAgICAgbG9hZGVyU2NyaXB0LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBvbkdvdEFtZExvYWRlcik7XHJcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxvYWRlclNjcmlwdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nRG9DaGVjaygpIHtcclxuICAgIGlmICh0aGlzLmNhbkxvYWQgJiYgdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoKSB7XHJcbiAgICAgIHRoaXMucmVnaXN0ZXJDdXN0b21MYW5ndWFnZSgpO1xyXG4gICAgICB0aGlzLmluaXRNb25hY28odGhpcy5nZXRPcHRpb25zKCkpO1xyXG4gICAgICB0aGlzLmNhbkxvYWQgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXHJcbiAgbW9uYWNvQ3JlYXRlTW9kZWwodmFsdWU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIG1vbmFjby5lZGl0b3IuY3JlYXRlTW9kZWwodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgc2V0VmFsdWVJbkVkaXRvcigpIHtcclxuICAgIGlmICh0aGlzLnNob3dEaWZmKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmVkaXRvcikge1xyXG4gICAgICAgICAgdGhpcy5lZGl0b3Iuc2V0TW9kZWwoe1xyXG4gICAgICAgICAgICBvcmlnaW5hbDogdGhpcy5tb25hY29DcmVhdGVNb2RlbCh0aGlzLnZhbHVlKSxcclxuICAgICAgICAgICAgbW9kaWZpZWQ6IHRoaXMubW9uYWNvQ3JlYXRlTW9kZWwodGhpcy5tb2RpZmllZFZhbHVlKVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmVkaXRvcikge1xyXG4gICAgICAgICAgdGhpcy5lZGl0b3Iuc2V0VmFsdWUodGhpcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldExhbmd1YWdlKGxhbmd1YWdlOiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLnNob3dEaWZmKSB7XHJcbiAgICAgIHRoaXMuc2V0TW9uYWNvTGFuZ3VhZ2UodGhpcy5lZGl0b3IuZ2V0TW9kZWwoKS5vcmlnaW5hbCwgbGFuZ3VhZ2UpO1xyXG4gICAgICB0aGlzLnNldE1vbmFjb0xhbmd1YWdlKHRoaXMuZWRpdG9yLmdldE1vZGVsKCkubW9kaWZpZWQsIGxhbmd1YWdlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0TW9uYWNvTGFuZ3VhZ2UodGhpcy5lZGl0b3IuZ2V0TW9kZWwoKSwgbGFuZ3VhZ2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cclxuICBzZXRUaGVtZSh0aGVtZTogc3RyaW5nKSB7XHJcbiAgICBtb25hY28uZWRpdG9yLnNldFRoZW1lKHRoZW1lKTtcclxuICB9XHJcblxyXG4gIHNldFJlYWRPbmx5KHJlYWRPbmx5OiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmVkaXRvci51cGRhdGVPcHRpb25zKHsgcmVhZE9ubHk6IHJlYWRPbmx5IH0pO1xyXG4gIH1cclxuXHJcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cclxuICBzZXRTdWdnZXN0aW9ucyhuZXdTdWdnZXN0aW9uczogQXJyYXk8UG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlU3VnZ2VzdGlvbj4sIGxhbmd1YWdlID0gdGhpcy5sYW5ndWFnZSkge1xyXG4gICAgaWYgKCFuZXdTdWdnZXN0aW9ucykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc3VnZ2VzdGlvbnMgPSB0aGlzLnBvQ29kZUVkaXRvclN1Z2dlc3Rpb25TZXJ2aWNlLmdldFN1Z2dlc3Rpb24obGFuZ3VhZ2UsIG5ld1N1Z2dlc3Rpb25zKTtcclxuXHJcbiAgICBtb25hY28ubGFuZ3VhZ2VzLnJlZ2lzdGVyQ29tcGxldGlvbkl0ZW1Qcm92aWRlcihsYW5ndWFnZSwge1xyXG4gICAgICBwcm92aWRlQ29tcGxldGlvbkl0ZW1zOiAoKSA9PiAoeyBzdWdnZXN0aW9ucyB9KVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlKSB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWUgJiYgdmFsdWUgaW5zdGFuY2VvZiBBcnJheSA/IHZhbHVlWzBdIDogdmFsdWU7XHJcbiAgICB0aGlzLm1vZGlmaWVkVmFsdWUgPSB2YWx1ZSAmJiB2YWx1ZSBpbnN0YW5jZW9mIEFycmF5ICYmIHZhbHVlLmxlbmd0aCA+IDAgPyB2YWx1ZVsxXSA6ICcnO1xyXG4gICAgdGhpcy5zZXRWYWx1ZUluRWRpdG9yKCk7XHJcbiAgfVxyXG5cclxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xyXG4gIHByaXZhdGUgaW5pdE1vbmFjbyhvcHRpb25zOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNob3dEaWZmKSB7XHJcbiAgICAgIHRoaXMuZWRpdG9yID0gbW9uYWNvLmVkaXRvci5jcmVhdGVEaWZmRWRpdG9yKHRoaXMuZWRpdG9yQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsIG9wdGlvbnMpO1xyXG5cclxuICAgICAgdGhpcy5lZGl0b3Iuc2V0TW9kZWwoe1xyXG4gICAgICAgIG9yaWdpbmFsOiBtb25hY28uZWRpdG9yLmNyZWF0ZU1vZGVsKHRoaXMudmFsdWUpLFxyXG4gICAgICAgIG1vZGlmaWVkOiBtb25hY28uZWRpdG9yLmNyZWF0ZU1vZGVsKHRoaXMubW9kaWZpZWRWYWx1ZSlcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLmVkaXRvci5vbkRpZFVwZGF0ZURpZmYoKGU6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsID0gdGhpcy5lZGl0b3IuZ2V0TW9kZWwoKS5vcmlnaW5hbC5nZXRWYWx1ZSgpO1xyXG4gICAgICAgIGNvbnN0IG1vZGlmaWVkID0gdGhpcy5lZGl0b3IuZ2V0TW9kZWwoKS5tb2RpZmllZC5nZXRWYWx1ZSgpO1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2VQcm9wYWdhdGUoW29yaWdpbmFsLCBtb2RpZmllZF0pO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZWRpdG9yID0gbW9uYWNvLmVkaXRvci5jcmVhdGUodGhpcy5lZGl0b3JDb250YWluZXIubmF0aXZlRWxlbWVudCwgb3B0aW9ucyk7XHJcbiAgICAgIHRoaXMuZWRpdG9yLnNldFZhbHVlKHRoaXMudmFsdWUpO1xyXG4gICAgICB0aGlzLmVkaXRvci5vbkRpZENoYW5nZU1vZGVsQ29udGVudCgoZTogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmVkaXRvci5nZXRWYWx1ZSgpO1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2VQcm9wYWdhdGUodmFsdWUpO1xyXG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4gKHRoaXMudmFsdWUgPSB2YWx1ZSkpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNldExhbmd1YWdlKHRoaXMubGFuZ3VhZ2UpO1xyXG4gICAgICB0aGlzLnNldFN1Z2dlc3Rpb25zKHRoaXMuc3VnZ2VzdGlvbnMpO1xyXG4gICAgfSwgNTAwKTtcclxuICB9XHJcblxyXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXHJcbiAgcHJpdmF0ZSBzZXRNb25hY29MYW5ndWFnZShtb2RlbCwgbGFuZ3VhZ2UpIHtcclxuICAgIG1vbmFjby5lZGl0b3Iuc2V0TW9kZWxMYW5ndWFnZShtb2RlbCwgbGFuZ3VhZ2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWdpc3RlckN1c3RvbUxhbmd1YWdlKCkge1xyXG4gICAgaWYgKHRoaXMuY29kZUVkaXRvclJlZ2lzdGVyLmxhbmd1YWdlKSB7XHJcbiAgICAgIG1vbmFjby5sYW5ndWFnZXMucmVnaXN0ZXIoeyBpZDogdGhpcy5jb2RlRWRpdG9yUmVnaXN0ZXIubGFuZ3VhZ2UgfSk7XHJcblxyXG4gICAgICBpZiAodGhpcy5jb2RlRWRpdG9yUmVnaXN0ZXIub3B0aW9ucykge1xyXG4gICAgICAgIG1vbmFjby5sYW5ndWFnZXMuc2V0TW9uYXJjaFRva2Vuc1Byb3ZpZGVyKHRoaXMuY29kZUVkaXRvclJlZ2lzdGVyLmxhbmd1YWdlLCB0aGlzLmNvZGVFZGl0b3JSZWdpc3Rlci5vcHRpb25zKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMuY29kZUVkaXRvclJlZ2lzdGVyLnN1Z2dlc3Rpb25zKSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdWdnZXN0aW9ucyhcclxuICAgICAgICAgIHRoaXMuY29kZUVkaXRvclJlZ2lzdGVyLnN1Z2dlc3Rpb25zLnByb3ZpZGVDb21wbGV0aW9uSXRlbXMoKS5zdWdnZXN0aW9ucyxcclxuICAgICAgICAgIHRoaXMuY29kZUVkaXRvclJlZ2lzdGVyLmxhbmd1YWdlXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
1
+ import { Component, forwardRef, ViewChild } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { PoCodeEditorBaseComponent } from './po-code-editor-base.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./po-code-editor-suggestion.service";
6
+ import * as i2 from "./po-code-editor-register.service";
7
+ const _c0 = ["editorContainer"];
8
+ // variáveis relacionadas ao Monaco
9
+ let loadedMonaco = false;
10
+ let loadPromise;
11
+ /* istanbul ignore next */
12
+ const providers = [
13
+ {
14
+ provide: NG_VALUE_ACCESSOR,
15
+ // eslint-disable-next-line
16
+ useExisting: forwardRef(() => PoCodeEditorComponent),
17
+ multi: true
18
+ }
19
+ ];
20
+ /**
21
+ * @docsExtends PoCodeEditorBaseComponent
22
+ *
23
+ * @example
24
+ *
25
+ * <example name="po-code-editor-basic" title="PO Code Editor Basic">
26
+ * <file name="sample-po-code-editor-basic/sample-po-code-editor-basic.component.html"> </file>
27
+ * <file name="sample-po-code-editor-basic/sample-po-code-editor-basic.component.ts"> </file>
28
+ * </example>
29
+ *
30
+ * <example name="po-code-editor-labs" title="PO Code Editor Labs">
31
+ * <file name="sample-po-code-editor-labs/sample-po-code-editor-labs.component.html"> </file>
32
+ * <file name="sample-po-code-editor-labs/sample-po-code-editor-labs.component.ts"> </file>
33
+ * </example>
34
+ *
35
+ * <example name="po-code-editor-diff" title="PO Code Editor - Diff">
36
+ * <file name="sample-po-code-editor-diff/sample-po-code-editor-diff.component.html"> </file>
37
+ * <file name="sample-po-code-editor-diff/sample-po-code-editor-diff.component.ts"> </file>
38
+ * </example>
39
+ *
40
+ * <example name="po-code-editor-terraform" title="PO Code Editor - Terraform">
41
+ * <file name="sample-po-code-editor-terraform/sample-po-code-editor-terraform.component.html"> </file>
42
+ * <file name="sample-po-code-editor-terraform/sample-po-code-editor-terraform.component.ts"> </file>
43
+ * <file name="sample-po-code-editor-terraform/sample-po-code-editor-terraform.constant.ts"> </file>
44
+ * <file name="sample-po-code-editor-terraform/sample-po-code-editor-terraform.module.ts"> </file>
45
+ * </example>
46
+ *
47
+ * <example name="po-code-editor-suggestion" title="PO Code Editor Suggestion">
48
+ * <file name="sample-po-code-editor-suggestion/sample-po-code-editor-suggestion.component.html"> </file>
49
+ * <file name="sample-po-code-editor-suggestion/sample-po-code-editor-suggestion.component.ts"> </file>
50
+ * </example>
51
+ */
52
+ export class PoCodeEditorComponent extends PoCodeEditorBaseComponent {
53
+ constructor(zone, el, poCodeEditorSuggestionService, codeEditorRegister) {
54
+ super();
55
+ this.zone = zone;
56
+ this.el = el;
57
+ this.poCodeEditorSuggestionService = poCodeEditorSuggestionService;
58
+ this.codeEditorRegister = codeEditorRegister;
59
+ this.canLoad = false;
60
+ }
61
+ /* istanbul ignore next */
62
+ ngAfterViewInit() {
63
+ if (loadedMonaco) {
64
+ /* istanbul ignore next */
65
+ loadPromise.then(() => {
66
+ setTimeout(() => {
67
+ if (this.el.nativeElement.offsetWidth) {
68
+ this.registerCustomLanguage();
69
+ this.initMonaco(this.getOptions());
70
+ }
71
+ else {
72
+ this.canLoad = true;
73
+ }
74
+ });
75
+ });
76
+ }
77
+ else {
78
+ loadedMonaco = true;
79
+ loadPromise = new Promise((resolve) => {
80
+ /* istanbul ignore next */
81
+ const onGotAmdLoader = () => {
82
+ window.require.config({ paths: { 'vs': './assets/monaco/vs' } });
83
+ window.require(['vs/editor/editor.main'], () => {
84
+ setTimeout(() => {
85
+ if (this.el.nativeElement.offsetWidth) {
86
+ this.registerCustomLanguage();
87
+ this.initMonaco(this.getOptions());
88
+ }
89
+ else {
90
+ this.canLoad = true;
91
+ }
92
+ resolve();
93
+ });
94
+ });
95
+ };
96
+ if (!window.require) {
97
+ const loaderScript = document.createElement('script');
98
+ loaderScript.type = 'text/javascript';
99
+ loaderScript.src = './assets/monaco/vs/loader.js';
100
+ loaderScript.addEventListener('load', onGotAmdLoader);
101
+ document.body.appendChild(loaderScript);
102
+ }
103
+ });
104
+ }
105
+ }
106
+ ngDoCheck() {
107
+ if (this.canLoad && this.el.nativeElement.offsetWidth) {
108
+ this.registerCustomLanguage();
109
+ this.initMonaco(this.getOptions());
110
+ this.canLoad = false;
111
+ }
112
+ }
113
+ /* istanbul ignore next */
114
+ monacoCreateModel(value) {
115
+ return monaco.editor.createModel(value);
116
+ }
117
+ setValueInEditor() {
118
+ if (this.showDiff) {
119
+ setTimeout(() => {
120
+ if (this.editor) {
121
+ this.editor.setModel({
122
+ original: this.monacoCreateModel(this.value),
123
+ modified: this.monacoCreateModel(this.modifiedValue)
124
+ });
125
+ }
126
+ });
127
+ }
128
+ else {
129
+ setTimeout(() => {
130
+ if (this.editor) {
131
+ this.editor.setValue(this.value);
132
+ }
133
+ });
134
+ }
135
+ }
136
+ setLanguage(language) {
137
+ if (this.showDiff) {
138
+ this.setMonacoLanguage(this.editor.getModel().original, language);
139
+ this.setMonacoLanguage(this.editor.getModel().modified, language);
140
+ }
141
+ else {
142
+ this.setMonacoLanguage(this.editor.getModel(), language);
143
+ }
144
+ }
145
+ /* istanbul ignore next */
146
+ setTheme(theme) {
147
+ monaco.editor.setTheme(theme);
148
+ }
149
+ setReadOnly(readOnly) {
150
+ this.editor.updateOptions({ readOnly: readOnly });
151
+ }
152
+ /* istanbul ignore next */
153
+ setSuggestions(newSuggestions, language = this.language) {
154
+ if (!newSuggestions) {
155
+ return;
156
+ }
157
+ const suggestions = this.poCodeEditorSuggestionService.getSuggestion(language, newSuggestions);
158
+ monaco.languages.registerCompletionItemProvider(language, {
159
+ provideCompletionItems: () => ({ suggestions })
160
+ });
161
+ }
162
+ writeValue(value) {
163
+ this.value = value && value instanceof Array ? value[0] : value;
164
+ this.modifiedValue = value && value instanceof Array && value.length > 0 ? value[1] : '';
165
+ this.setValueInEditor();
166
+ }
167
+ /* istanbul ignore next */
168
+ initMonaco(options) {
169
+ if (this.showDiff) {
170
+ this.editor = monaco.editor.createDiffEditor(this.editorContainer.nativeElement, options);
171
+ this.editor.setModel({
172
+ original: monaco.editor.createModel(this.value),
173
+ modified: monaco.editor.createModel(this.modifiedValue)
174
+ });
175
+ this.editor.onDidUpdateDiff((e) => {
176
+ const original = this.editor.getModel().original.getValue();
177
+ const modified = this.editor.getModel().modified.getValue();
178
+ this.onChangePropagate([original, modified]);
179
+ });
180
+ }
181
+ else {
182
+ this.editor = monaco.editor.create(this.editorContainer.nativeElement, options);
183
+ this.editor.setValue(this.value);
184
+ this.editor.onDidChangeModelContent((e) => {
185
+ const value = this.editor.getValue();
186
+ this.onChangePropagate(value);
187
+ this.zone.run(() => (this.value = value));
188
+ });
189
+ }
190
+ setTimeout(() => {
191
+ this.setLanguage(this.language);
192
+ this.setSuggestions(this.suggestions);
193
+ }, 500);
194
+ }
195
+ /* istanbul ignore next */
196
+ setMonacoLanguage(model, language) {
197
+ monaco.editor.setModelLanguage(model, language);
198
+ }
199
+ registerCustomLanguage() {
200
+ if (this.codeEditorRegister.language) {
201
+ monaco.languages.register({ id: this.codeEditorRegister.language });
202
+ if (this.codeEditorRegister.options) {
203
+ monaco.languages.setMonarchTokensProvider(this.codeEditorRegister.language, this.codeEditorRegister.options);
204
+ }
205
+ if (this.codeEditorRegister.suggestions) {
206
+ this.setSuggestions(this.codeEditorRegister.suggestions.provideCompletionItems().suggestions, this.codeEditorRegister.language);
207
+ }
208
+ }
209
+ }
210
+ }
211
+ PoCodeEditorComponent.ɵfac = function PoCodeEditorComponent_Factory(t) { return new (t || PoCodeEditorComponent)(i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.PoCodeEditorSuggestionService), i0.ɵɵdirectiveInject(i2.PoCodeEditorRegister)); };
212
+ PoCodeEditorComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoCodeEditorComponent, selectors: [["po-code-editor"]], viewQuery: function PoCodeEditorComponent_Query(rf, ctx) { if (rf & 1) {
213
+ i0.ɵɵviewQuery(_c0, 7);
214
+ } if (rf & 2) {
215
+ let _t;
216
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.editorContainer = _t.first);
217
+ } }, features: [i0.ɵɵProvidersFeature(providers), i0.ɵɵInheritDefinitionFeature], decls: 2, vars: 2, consts: [["editorContainer", ""]], template: function PoCodeEditorComponent_Template(rf, ctx) { if (rf & 1) {
218
+ i0.ɵɵelement(0, "div", null, 0);
219
+ } if (rf & 2) {
220
+ i0.ɵɵstyleProp("height", ctx.height);
221
+ } }, encapsulation: 2 });
222
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoCodeEditorComponent, [{
223
+ type: Component,
224
+ args: [{ selector: 'po-code-editor', providers: providers, template: "<div #editorContainer [style.height]=\"height\"></div>\n" }]
225
+ }], function () { return [{ type: i0.NgZone }, { type: i0.ElementRef }, { type: i1.PoCodeEditorSuggestionService }, { type: i2.PoCodeEditorRegister }]; }, { editorContainer: [{
226
+ type: ViewChild,
227
+ args: ['editorContainer', { static: true }]
228
+ }] }); })();
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tY29kZS1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29kZS1lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL3BvLWNvZGUtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvZGUtZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9wby1jb2RlLWVkaXRvci9wby1jb2RlLWVkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBdUIsVUFBVSxFQUFVLFNBQVMsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUN2SCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7QUFLNUUsbUNBQW1DO0FBQ25DLElBQUksWUFBWSxHQUFZLEtBQUssQ0FBQztBQUNsQyxJQUFJLFdBQTBCLENBQUM7QUFNL0IsMEJBQTBCO0FBQzFCLE1BQU0sU0FBUyxHQUFvQjtJQUNqQztRQUNFLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsMkJBQTJCO1FBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUM7UUFDcEQsS0FBSyxFQUFFLElBQUk7S0FDWjtDQUNGLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCRztBQU1ILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx5QkFBeUI7SUFLbEUsWUFDVSxJQUFZLEVBQ1osRUFBYyxFQUNkLDZCQUE0RCxFQUM1RCxrQkFBeUM7UUFFakQsS0FBSyxFQUFFLENBQUM7UUFMQSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGtDQUE2QixHQUE3Qiw2QkFBNkIsQ0FBK0I7UUFDNUQsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUF1QjtRQU5uRCxZQUFPLEdBQUcsS0FBSyxDQUFDO0lBU2hCLENBQUM7SUFFRCwwQkFBMEI7SUFDMUIsZUFBZTtRQUNiLElBQUksWUFBWSxFQUFFO1lBQ2hCLDBCQUEwQjtZQUMxQixXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDcEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDZCxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRTt3QkFDckMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7d0JBQzlCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7cUJBQ3BDO3lCQUFNO3dCQUNMLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO3FCQUNyQjtnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDcEIsV0FBVyxHQUFHLElBQUksT0FBTyxDQUFPLENBQUMsT0FBWSxFQUFFLEVBQUU7Z0JBQy9DLDBCQUEwQjtnQkFDMUIsTUFBTSxjQUFjLEdBQVEsR0FBRyxFQUFFO29CQUN6QixNQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDbEUsTUFBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLHVCQUF1QixDQUFDLEVBQUUsR0FBRyxFQUFFO3dCQUNwRCxVQUFVLENBQUMsR0FBRyxFQUFFOzRCQUNkLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFO2dDQUNyQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztnQ0FDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQzs2QkFDcEM7aUNBQU07Z0NBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7NkJBQ3JCOzRCQUNELE9BQU8sRUFBRSxDQUFDO3dCQUNaLENBQUMsQ0FBQyxDQUFDO29CQUNMLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQztnQkFFRixJQUFJLENBQU8sTUFBTyxDQUFDLE9BQU8sRUFBRTtvQkFDMUIsTUFBTSxZQUFZLEdBQXNCLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ3pFLFlBQVksQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUM7b0JBQ3RDLFlBQVksQ0FBQyxHQUFHLEdBQUcsOEJBQThCLENBQUM7b0JBQ2xELFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUM7b0JBQ3RELFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO2lCQUN6QztZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUU7WUFDckQsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUN0QjtJQUNILENBQUM7SUFFRCwwQkFBMEI7SUFDMUIsaUJBQWlCLENBQUMsS0FBYTtRQUM3QixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7d0JBQ25CLFFBQVEsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQzt3QkFDNUMsUUFBUSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO3FCQUNyRCxDQUFDLENBQUM7aUJBQ0o7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtvQkFDZixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ2xDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsUUFBZ0I7UUFDMUIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNsRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDbkU7YUFBTTtZQUNMLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQzFEO0lBQ0gsQ0FBQztJQUVELDBCQUEwQjtJQUMxQixRQUFRLENBQUMsS0FBYTtRQUNwQixNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVyxDQUFDLFFBQWlCO1FBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELDBCQUEwQjtJQUMxQixjQUFjLENBQUMsY0FBeUQsRUFBRSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVE7UUFDaEcsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNuQixPQUFPO1NBQ1I7UUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsNkJBQTZCLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUUvRixNQUFNLENBQUMsU0FBUyxDQUFDLDhCQUE4QixDQUFDLFFBQVEsRUFBRTtZQUN4RCxzQkFBc0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUM7U0FDaEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFLO1FBQ2QsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDaEUsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLElBQUksS0FBSyxZQUFZLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDekYsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELDBCQUEwQjtJQUNsQixVQUFVLENBQUMsT0FBWTtRQUM3QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBRTFGLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO2dCQUNuQixRQUFRLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFDL0MsUUFBUSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7YUFDeEQsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtnQkFDckMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQzVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUM1RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUMvQyxDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ2hGLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUU7Z0JBQzdDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDNUMsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN4QyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDO0lBRUQsMEJBQTBCO0lBQ2xCLGlCQUFpQixDQUFDLEtBQUssRUFBRSxRQUFRO1FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFO1lBQ3BDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBRXBFLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRTtnQkFDbkMsTUFBTSxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUM5RztZQUVELElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRTtnQkFDdkMsSUFBSSxDQUFDLGNBQWMsQ0FDakIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLFdBQVcsRUFDeEUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FDakMsQ0FBQzthQUNIO1NBQ0Y7SUFDSCxDQUFDOzswRkFqTFUscUJBQXFCO3dFQUFyQixxQkFBcUI7Ozs7OzBDQUZoQyxTQUFTO1FDN0RYLCtCQUFvRDs7UUFBOUIsb0NBQXVCOzt1RkQrRGhDLHFCQUFxQjtjQUxqQyxTQUFTOzJCQUNFLGdCQUFnQixhQUUxQixTQUFTO2lLQUd1QyxlQUFlO2tCQUE5RCxTQUFTO21CQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRG9DaGVjaywgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgTmdab25lLCBWaWV3Q2hpbGQsIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgUG9Db2RlRWRpdG9yQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vcG8tY29kZS1lZGl0b3ItYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9Db2RlRWRpdG9yUmVnaXN0ZXIgfSBmcm9tICcuL3BvLWNvZGUtZWRpdG9yLXJlZ2lzdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlU3VnZ2VzdGlvbiB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1jb2RlLWVkaXRvci1yZWdpc3RlcmFibGUtc3VnZ2VzdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9Db2RlRWRpdG9yU3VnZ2VzdGlvblNlcnZpY2UgfSBmcm9tICcuL3BvLWNvZGUtZWRpdG9yLXN1Z2dlc3Rpb24uc2VydmljZSc7XG5cbi8vIHZhcmnDoXZlaXMgcmVsYWNpb25hZGFzIGFvIE1vbmFjb1xubGV0IGxvYWRlZE1vbmFjbzogYm9vbGVhbiA9IGZhbHNlO1xubGV0IGxvYWRQcm9taXNlOiBQcm9taXNlPHZvaWQ+O1xuXG5kZWNsYXJlIGNvbnN0IG1vbmFjbzogYW55O1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG5kZWNsYXJlIGNvbnN0IHJlcXVpcmU6IGFueTtcblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmNvbnN0IHByb3ZpZGVyczogQXJyYXk8UHJvdmlkZXI+ID0gW1xuICB7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUG9Db2RlRWRpdG9yQ29tcG9uZW50KSxcbiAgICBtdWx0aTogdHJ1ZVxuICB9XG5dO1xuXG4vKipcbiAqIEBkb2NzRXh0ZW5kcyBQb0NvZGVFZGl0b3JCYXNlQ29tcG9uZW50XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tY29kZS1lZGl0b3ItYmFzaWNcIiB0aXRsZT1cIlBPIENvZGUgRWRpdG9yIEJhc2ljXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci1iYXNpYy9zYW1wbGUtcG8tY29kZS1lZGl0b3ItYmFzaWMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tY29kZS1lZGl0b3ItYmFzaWMvc2FtcGxlLXBvLWNvZGUtZWRpdG9yLWJhc2ljLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLWNvZGUtZWRpdG9yLWxhYnNcIiB0aXRsZT1cIlBPIENvZGUgRWRpdG9yIExhYnNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWNvZGUtZWRpdG9yLWxhYnMvc2FtcGxlLXBvLWNvZGUtZWRpdG9yLWxhYnMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tY29kZS1lZGl0b3ItbGFicy9zYW1wbGUtcG8tY29kZS1lZGl0b3ItbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1jb2RlLWVkaXRvci1kaWZmXCIgdGl0bGU9XCJQTyBDb2RlIEVkaXRvciAtIERpZmZcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWNvZGUtZWRpdG9yLWRpZmYvc2FtcGxlLXBvLWNvZGUtZWRpdG9yLWRpZmYuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tY29kZS1lZGl0b3ItZGlmZi9zYW1wbGUtcG8tY29kZS1lZGl0b3ItZGlmZi5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1jb2RlLWVkaXRvci10ZXJyYWZvcm1cIiB0aXRsZT1cIlBPIENvZGUgRWRpdG9yIC0gVGVycmFmb3JtXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci10ZXJyYWZvcm0vc2FtcGxlLXBvLWNvZGUtZWRpdG9yLXRlcnJhZm9ybS5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci10ZXJyYWZvcm0vc2FtcGxlLXBvLWNvZGUtZWRpdG9yLXRlcnJhZm9ybS5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tY29kZS1lZGl0b3ItdGVycmFmb3JtL3NhbXBsZS1wby1jb2RlLWVkaXRvci10ZXJyYWZvcm0uY29uc3RhbnQudHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tY29kZS1lZGl0b3ItdGVycmFmb3JtL3NhbXBsZS1wby1jb2RlLWVkaXRvci10ZXJyYWZvcm0ubW9kdWxlLnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tY29kZS1lZGl0b3Itc3VnZ2VzdGlvblwiIHRpdGxlPVwiUE8gQ29kZSBFZGl0b3IgU3VnZ2VzdGlvblwiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tY29kZS1lZGl0b3Itc3VnZ2VzdGlvbi9zYW1wbGUtcG8tY29kZS1lZGl0b3Itc3VnZ2VzdGlvbi5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci1zdWdnZXN0aW9uL3NhbXBsZS1wby1jb2RlLWVkaXRvci1zdWdnZXN0aW9uLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BvLWNvZGUtZWRpdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvLWNvZGUtZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzXG59KVxuZXhwb3J0IGNsYXNzIFBvQ29kZUVkaXRvckNvbXBvbmVudCBleHRlbmRzIFBvQ29kZUVkaXRvckJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBEb0NoZWNrIHtcbiAgQFZpZXdDaGlsZCgnZWRpdG9yQ29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSkgZWRpdG9yQ29udGFpbmVyOiBFbGVtZW50UmVmO1xuXG4gIGNhbkxvYWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcG9Db2RlRWRpdG9yU3VnZ2VzdGlvblNlcnZpY2U6IFBvQ29kZUVkaXRvclN1Z2dlc3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY29kZUVkaXRvclJlZ2lzdGVyPzogUG9Db2RlRWRpdG9yUmVnaXN0ZXJcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAobG9hZGVkTW9uYWNvKSB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgbG9hZFByb21pc2UudGhlbigoKSA9PiB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgpIHtcbiAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJDdXN0b21MYW5ndWFnZSgpO1xuICAgICAgICAgICAgdGhpcy5pbml0TW9uYWNvKHRoaXMuZ2V0T3B0aW9ucygpKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jYW5Mb2FkID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvYWRlZE1vbmFjbyA9IHRydWU7XG4gICAgICBsb2FkUHJvbWlzZSA9IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlOiBhbnkpID0+IHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgY29uc3Qgb25Hb3RBbWRMb2FkZXI6IGFueSA9ICgpID0+IHtcbiAgICAgICAgICAoPGFueT53aW5kb3cpLnJlcXVpcmUuY29uZmlnKHsgcGF0aHM6IHsgJ3ZzJzogJy4vYXNzZXRzL21vbmFjby92cycgfSB9KTtcbiAgICAgICAgICAoPGFueT53aW5kb3cpLnJlcXVpcmUoWyd2cy9lZGl0b3IvZWRpdG9yLm1haW4nXSwgKCkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlZ2lzdGVyQ3VzdG9tTGFuZ3VhZ2UoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRNb25hY28odGhpcy5nZXRPcHRpb25zKCkpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FuTG9hZCA9IHRydWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKCEoPGFueT53aW5kb3cpLnJlcXVpcmUpIHtcbiAgICAgICAgICBjb25zdCBsb2FkZXJTY3JpcHQ6IEhUTUxTY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICAgICAgbG9hZGVyU2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcbiAgICAgICAgICBsb2FkZXJTY3JpcHQuc3JjID0gJy4vYXNzZXRzL21vbmFjby92cy9sb2FkZXIuanMnO1xuICAgICAgICAgIGxvYWRlclNjcmlwdC5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgb25Hb3RBbWRMb2FkZXIpO1xuICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobG9hZGVyU2NyaXB0KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdEb0NoZWNrKCkge1xuICAgIGlmICh0aGlzLmNhbkxvYWQgJiYgdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoKSB7XG4gICAgICB0aGlzLnJlZ2lzdGVyQ3VzdG9tTGFuZ3VhZ2UoKTtcbiAgICAgIHRoaXMuaW5pdE1vbmFjbyh0aGlzLmdldE9wdGlvbnMoKSk7XG4gICAgICB0aGlzLmNhbkxvYWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBtb25hY29DcmVhdGVNb2RlbCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG1vbmFjby5lZGl0b3IuY3JlYXRlTW9kZWwodmFsdWUpO1xuICB9XG5cbiAgc2V0VmFsdWVJbkVkaXRvcigpIHtcbiAgICBpZiAodGhpcy5zaG93RGlmZikge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmVkaXRvcikge1xuICAgICAgICAgIHRoaXMuZWRpdG9yLnNldE1vZGVsKHtcbiAgICAgICAgICAgIG9yaWdpbmFsOiB0aGlzLm1vbmFjb0NyZWF0ZU1vZGVsKHRoaXMudmFsdWUpLFxuICAgICAgICAgICAgbW9kaWZpZWQ6IHRoaXMubW9uYWNvQ3JlYXRlTW9kZWwodGhpcy5tb2RpZmllZFZhbHVlKVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmVkaXRvcikge1xuICAgICAgICAgIHRoaXMuZWRpdG9yLnNldFZhbHVlKHRoaXMudmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBzZXRMYW5ndWFnZShsYW5ndWFnZTogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuc2hvd0RpZmYpIHtcbiAgICAgIHRoaXMuc2V0TW9uYWNvTGFuZ3VhZ2UodGhpcy5lZGl0b3IuZ2V0TW9kZWwoKS5vcmlnaW5hbCwgbGFuZ3VhZ2UpO1xuICAgICAgdGhpcy5zZXRNb25hY29MYW5ndWFnZSh0aGlzLmVkaXRvci5nZXRNb2RlbCgpLm1vZGlmaWVkLCBsYW5ndWFnZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0TW9uYWNvTGFuZ3VhZ2UodGhpcy5lZGl0b3IuZ2V0TW9kZWwoKSwgbGFuZ3VhZ2UpO1xuICAgIH1cbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHNldFRoZW1lKHRoZW1lOiBzdHJpbmcpIHtcbiAgICBtb25hY28uZWRpdG9yLnNldFRoZW1lKHRoZW1lKTtcbiAgfVxuXG4gIHNldFJlYWRPbmx5KHJlYWRPbmx5OiBib29sZWFuKSB7XG4gICAgdGhpcy5lZGl0b3IudXBkYXRlT3B0aW9ucyh7IHJlYWRPbmx5OiByZWFkT25seSB9KTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHNldFN1Z2dlc3Rpb25zKG5ld1N1Z2dlc3Rpb25zOiBBcnJheTxQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGVTdWdnZXN0aW9uPiwgbGFuZ3VhZ2UgPSB0aGlzLmxhbmd1YWdlKSB7XG4gICAgaWYgKCFuZXdTdWdnZXN0aW9ucykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHN1Z2dlc3Rpb25zID0gdGhpcy5wb0NvZGVFZGl0b3JTdWdnZXN0aW9uU2VydmljZS5nZXRTdWdnZXN0aW9uKGxhbmd1YWdlLCBuZXdTdWdnZXN0aW9ucyk7XG5cbiAgICBtb25hY28ubGFuZ3VhZ2VzLnJlZ2lzdGVyQ29tcGxldGlvbkl0ZW1Qcm92aWRlcihsYW5ndWFnZSwge1xuICAgICAgcHJvdmlkZUNvbXBsZXRpb25JdGVtczogKCkgPT4gKHsgc3VnZ2VzdGlvbnMgfSlcbiAgICB9KTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWUpIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWUgJiYgdmFsdWUgaW5zdGFuY2VvZiBBcnJheSA/IHZhbHVlWzBdIDogdmFsdWU7XG4gICAgdGhpcy5tb2RpZmllZFZhbHVlID0gdmFsdWUgJiYgdmFsdWUgaW5zdGFuY2VvZiBBcnJheSAmJiB2YWx1ZS5sZW5ndGggPiAwID8gdmFsdWVbMV0gOiAnJztcbiAgICB0aGlzLnNldFZhbHVlSW5FZGl0b3IoKTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHByaXZhdGUgaW5pdE1vbmFjbyhvcHRpb25zOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zaG93RGlmZikge1xuICAgICAgdGhpcy5lZGl0b3IgPSBtb25hY28uZWRpdG9yLmNyZWF0ZURpZmZFZGl0b3IodGhpcy5lZGl0b3JDb250YWluZXIubmF0aXZlRWxlbWVudCwgb3B0aW9ucyk7XG5cbiAgICAgIHRoaXMuZWRpdG9yLnNldE1vZGVsKHtcbiAgICAgICAgb3JpZ2luYWw6IG1vbmFjby5lZGl0b3IuY3JlYXRlTW9kZWwodGhpcy52YWx1ZSksXG4gICAgICAgIG1vZGlmaWVkOiBtb25hY28uZWRpdG9yLmNyZWF0ZU1vZGVsKHRoaXMubW9kaWZpZWRWYWx1ZSlcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmVkaXRvci5vbkRpZFVwZGF0ZURpZmYoKGU6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBvcmlnaW5hbCA9IHRoaXMuZWRpdG9yLmdldE1vZGVsKCkub3JpZ2luYWwuZ2V0VmFsdWUoKTtcbiAgICAgICAgY29uc3QgbW9kaWZpZWQgPSB0aGlzLmVkaXRvci5nZXRNb2RlbCgpLm1vZGlmaWVkLmdldFZhbHVlKCk7XG4gICAgICAgIHRoaXMub25DaGFuZ2VQcm9wYWdhdGUoW29yaWdpbmFsLCBtb2RpZmllZF0pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZWRpdG9yID0gbW9uYWNvLmVkaXRvci5jcmVhdGUodGhpcy5lZGl0b3JDb250YWluZXIubmF0aXZlRWxlbWVudCwgb3B0aW9ucyk7XG4gICAgICB0aGlzLmVkaXRvci5zZXRWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICAgIHRoaXMuZWRpdG9yLm9uRGlkQ2hhbmdlTW9kZWxDb250ZW50KChlOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmVkaXRvci5nZXRWYWx1ZSgpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlUHJvcGFnYXRlKHZhbHVlKTtcbiAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiAodGhpcy52YWx1ZSA9IHZhbHVlKSk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnNldExhbmd1YWdlKHRoaXMubGFuZ3VhZ2UpO1xuICAgICAgdGhpcy5zZXRTdWdnZXN0aW9ucyh0aGlzLnN1Z2dlc3Rpb25zKTtcbiAgICB9LCA1MDApO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHJpdmF0ZSBzZXRNb25hY29MYW5ndWFnZShtb2RlbCwgbGFuZ3VhZ2UpIHtcbiAgICBtb25hY28uZWRpdG9yLnNldE1vZGVsTGFuZ3VhZ2UobW9kZWwsIGxhbmd1YWdlKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVnaXN0ZXJDdXN0b21MYW5ndWFnZSgpIHtcbiAgICBpZiAodGhpcy5jb2RlRWRpdG9yUmVnaXN0ZXIubGFuZ3VhZ2UpIHtcbiAgICAgIG1vbmFjby5sYW5ndWFnZXMucmVnaXN0ZXIoeyBpZDogdGhpcy5jb2RlRWRpdG9yUmVnaXN0ZXIubGFuZ3VhZ2UgfSk7XG5cbiAgICAgIGlmICh0aGlzLmNvZGVFZGl0b3JSZWdpc3Rlci5vcHRpb25zKSB7XG4gICAgICAgIG1vbmFjby5sYW5ndWFnZXMuc2V0TW9uYXJjaFRva2Vuc1Byb3ZpZGVyKHRoaXMuY29kZUVkaXRvclJlZ2lzdGVyLmxhbmd1YWdlLCB0aGlzLmNvZGVFZGl0b3JSZWdpc3Rlci5vcHRpb25zKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuY29kZUVkaXRvclJlZ2lzdGVyLnN1Z2dlc3Rpb25zKSB7XG4gICAgICAgIHRoaXMuc2V0U3VnZ2VzdGlvbnMoXG4gICAgICAgICAgdGhpcy5jb2RlRWRpdG9yUmVnaXN0ZXIuc3VnZ2VzdGlvbnMucHJvdmlkZUNvbXBsZXRpb25JdGVtcygpLnN1Z2dlc3Rpb25zLFxuICAgICAgICAgIHRoaXMuY29kZUVkaXRvclJlZ2lzdGVyLmxhbmd1YWdlXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2ICNlZGl0b3JDb250YWluZXIgW3N0eWxlLmhlaWdodF09XCJoZWlnaHRcIj48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,37 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { PoCodeEditorComponent } from './po-code-editor.component';
4
+ import { PoCodeEditorRegister } from './po-code-editor-register.service';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * @description
8
+ *
9
+ * Módulo do componente po-code-editor.
10
+ */
11
+ export class PoCodeEditorModule {
12
+ static forRegister(props) {
13
+ return {
14
+ ngModule: PoCodeEditorModule,
15
+ providers: [
16
+ {
17
+ provide: PoCodeEditorRegister,
18
+ useValue: props
19
+ }
20
+ ]
21
+ };
22
+ }
23
+ }
24
+ PoCodeEditorModule.ɵfac = function PoCodeEditorModule_Factory(t) { return new (t || PoCodeEditorModule)(); };
25
+ PoCodeEditorModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: PoCodeEditorModule });
26
+ PoCodeEditorModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [PoCodeEditorRegister], imports: [[CommonModule]] });
27
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoCodeEditorModule, [{
28
+ type: NgModule,
29
+ args: [{
30
+ imports: [CommonModule],
31
+ declarations: [PoCodeEditorComponent],
32
+ exports: [PoCodeEditorComponent],
33
+ providers: [PoCodeEditorRegister]
34
+ }]
35
+ }], null, null); })();
36
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(PoCodeEditorModule, { declarations: [PoCodeEditorComponent], imports: [CommonModule], exports: [PoCodeEditorComponent] }); })();
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tY29kZS1lZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29kZS1lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL3BvLWNvZGUtZWRpdG9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7O0FBR3pFOzs7O0dBSUc7QUFPSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBK0I7UUFDaEQsT0FBTztZQUNMLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxvQkFBb0I7b0JBQzdCLFFBQVEsRUFBRSxLQUFLO2lCQUNoQjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7O29GQVhVLGtCQUFrQjtvRUFBbEIsa0JBQWtCO3lFQUZsQixDQUFDLG9CQUFvQixDQUFDLFlBSHhCLENBQUMsWUFBWSxDQUFDO3VGQUtaLGtCQUFrQjtjQU45QixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2dCQUN2QixZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnQkFDckMsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7Z0JBQ2hDLFNBQVMsRUFBRSxDQUFDLG9CQUFvQixDQUFDO2FBQ2xDOzt3RkFDWSxrQkFBa0IsbUJBSmQscUJBQXFCLGFBRDFCLFlBQVksYUFFWixxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgUG9Db2RlRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9wby1jb2RlLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9Db2RlRWRpdG9yUmVnaXN0ZXIgfSBmcm9tICcuL3BvLWNvZGUtZWRpdG9yLXJlZ2lzdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLWNvZGUtZWRpdG9yLXJlZ2lzdGVyYWJsZS5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIE3Ds2R1bG8gZG8gY29tcG9uZW50ZSBwby1jb2RlLWVkaXRvci5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1BvQ29kZUVkaXRvckNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtQb0NvZGVFZGl0b3JDb21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtQb0NvZGVFZGl0b3JSZWdpc3Rlcl1cbn0pXG5leHBvcnQgY2xhc3MgUG9Db2RlRWRpdG9yTW9kdWxlIHtcbiAgc3RhdGljIGZvclJlZ2lzdGVyKHByb3BzOiBQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGUpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFBvQ29kZUVkaXRvck1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogUG9Db2RlRWRpdG9yTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBQb0NvZGVFZGl0b3JSZWdpc3RlcixcbiAgICAgICAgICB1c2VWYWx1ZTogcHJvcHNcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export { PoCodeEditorComponent } from './components/po-code-editor/po-code-editor.component';
2
+ export { PoCodeEditorRegister } from './components/po-code-editor/po-code-editor-register.service';
3
+ export { PoCodeEditorModule } from './components/po-code-editor/po-code-editor.module';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2RlLWVkaXRvci9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBRTdGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBT25HLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgUG9Db2RlRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL3BvLWNvZGUtZWRpdG9yLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB7IFBvQ29kZUVkaXRvclJlZ2lzdGVyIH0gZnJvbSAnLi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL3BvLWNvZGUtZWRpdG9yLXJlZ2lzdGVyLnNlcnZpY2UnO1xuXG5leHBvcnQgeyBQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGUgfSBmcm9tICcuL2NvbXBvbmVudHMvcG8tY29kZS1lZGl0b3IvaW50ZXJmYWNlcy9wby1jb2RlLWVkaXRvci1yZWdpc3RlcmFibGUuaW50ZXJmYWNlJztcbmV4cG9ydCB7IFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZU9wdGlvbnMgfSBmcm9tICcuL2NvbXBvbmVudHMvcG8tY29kZS1lZGl0b3IvaW50ZXJmYWNlcy9wby1jb2RlLWVkaXRvci1yZWdpc3RlcmFibGUtb3B0aW9ucy5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlVG9rZW5zIH0gZnJvbSAnLi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL2ludGVyZmFjZXMvcG8tY29kZS1lZGl0b3ItcmVnaXN0ZXJhYmxlLXRva2Vucy5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlU3VnZ2VzdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy9wby1jb2RlLWVkaXRvci9pbnRlcmZhY2VzL3BvLWNvZGUtZWRpdG9yLXJlZ2lzdGVyYWJsZS1zdWdnZXN0aW9uLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7IFBvQ29kZUVkaXRvck1vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9wby1jb2RlLWVkaXRvci9wby1jb2RlLWVkaXRvci5tb2R1bGUnO1xuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdWktbmctY29kZS1lZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9jb2RlLWVkaXRvci9zcmMvcG8tdWktbmctY29kZS1lZGl0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,2 +1,2 @@
1
- export * from './lib/index';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvZGUtZWRpdG9yL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvaW5kZXgnO1xyXG4iXX0=
1
+ export * from './lib/index';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvZGUtZWRpdG9yL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvaW5kZXgnO1xuIl19