@po-ui/ng-code-editor 5.22.1 → 6.1.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.
- package/{esm2015/lib/components/po-code-editor/interfaces/po-code-editor-registerable-options.interface.js → esm2020/lib/components/po-code-editor/interfaces/po-code-editor-registerable-options.interface.mjs} +0 -0
- package/{esm2015/lib/components/po-code-editor/interfaces/po-code-editor-registerable-suggestion.interface.js → esm2020/lib/components/po-code-editor/interfaces/po-code-editor-registerable-suggestion.interface.mjs} +0 -0
- package/{esm2015/lib/components/po-code-editor/interfaces/po-code-editor-registerable-tokens.interface.js → esm2020/lib/components/po-code-editor/interfaces/po-code-editor-registerable-tokens.interface.mjs} +0 -0
- package/{esm2015/lib/components/po-code-editor/interfaces/po-code-editor-registerable.interface.js → esm2020/lib/components/po-code-editor/interfaces/po-code-editor-registerable.interface.mjs} +0 -0
- package/esm2020/lib/components/po-code-editor/po-code-editor-base.component.mjs +261 -0
- package/esm2020/lib/components/po-code-editor/po-code-editor-register.service.mjs +66 -0
- package/esm2020/lib/components/po-code-editor/po-code-editor-suggestion.service.mjs +29 -0
- package/{esm2015/lib/components/po-code-editor/po-code-editor.component.js → esm2020/lib/components/po-code-editor/po-code-editor.component.mjs} +24 -20
- package/esm2020/lib/components/po-code-editor/po-code-editor.module.mjs +37 -0
- package/{esm2015/lib/index.js → esm2020/lib/index.mjs} +0 -0
- package/esm2020/po-ui-ng-code-editor.mjs +5 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/fesm2015/po-ui-ng-code-editor.mjs +632 -0
- package/fesm2015/po-ui-ng-code-editor.mjs.map +1 -0
- package/{fesm2015/po-ui-ng-code-editor.js → fesm2020/po-ui-ng-code-editor.mjs} +86 -63
- package/fesm2020/po-ui-ng-code-editor.mjs.map +1 -0
- package/lib/components/po-code-editor/po-code-editor-base.component.d.ts +3 -0
- package/lib/components/po-code-editor/po-code-editor-register.service.d.ts +3 -0
- package/lib/components/po-code-editor/po-code-editor-suggestion.service.d.ts +3 -0
- package/lib/components/po-code-editor/po-code-editor.component.d.ts +3 -0
- package/lib/components/po-code-editor/po-code-editor.module.d.ts +6 -0
- package/package.json +30 -15
- package/po-ui-ng-code-editor-6.1.0.tgz +0 -0
- package/po-ui-ng-code-editor.d.ts +1 -2
- package/schematics/ng-add/index.js +5 -5
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-add/index.spec.js +23 -23
- package/schematics/ng-add/index.spec.js.map +1 -1
- package/bundles/po-ui-ng-code-editor.umd.js +0 -981
- package/bundles/po-ui-ng-code-editor.umd.js.map +0 -1
- package/esm2015/lib/components/po-code-editor/po-code-editor-base.component.js +0 -248
- package/esm2015/lib/components/po-code-editor/po-code-editor-register.service.js +0 -63
- package/esm2015/lib/components/po-code-editor/po-code-editor-suggestion.service.js +0 -28
- package/esm2015/lib/components/po-code-editor/po-code-editor.module.js +0 -31
- package/esm2015/po-ui-ng-code-editor.js +0 -7
- package/fesm2015/po-ui-ng-code-editor.js.map +0 -1
- package/po-ui-ng-code-editor-5.22.1.tgz +0 -0
- package/po-ui-ng-code-editor.metadata.json +0 -1
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
import { Input, Directive } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
const PO_CODE_EDITOR_THEMES = ['vs-dark', 'vs', 'hc-black'];
|
|
4
|
+
const PO_CODE_EDITOR_THEME_DEFAULT = 'vs';
|
|
5
|
+
/**
|
|
6
|
+
* @description
|
|
7
|
+
*
|
|
8
|
+
* O `po-code-editor` é um componente para edição de código fonte baseado no Monaco Editor da Microsoft.
|
|
9
|
+
*
|
|
10
|
+
* Sendo assim, algumas configurações presentes no Monaco podem ser utilizadas aqui, como a escolha da linguagem
|
|
11
|
+
* (utilizando o highlight syntax específico), escolha do tema e opção de diff, além de ser muito similar ao Visual
|
|
12
|
+
* Studio Code, com autocomplete e fechamento automático de brackets.
|
|
13
|
+
*
|
|
14
|
+
* Este componente pode ser usado em qualquer situação que necessite de adição de códigos, como por exemplo, criar
|
|
15
|
+
* receitas utilizando Terraform para gerenciar topologias.
|
|
16
|
+
* É importante ressaltar que este não é um componente para edição de textos comuns.
|
|
17
|
+
*
|
|
18
|
+
* O [(ngModel)] deve ser usado para manipular o conteúdo do po-code-editor, ou seja, tanto para incluir um conteúdo quanto
|
|
19
|
+
* para recuperar o conteúdo do po-code-editor, utiliza-se uma variável passada por [(ngModel)].
|
|
20
|
+
*
|
|
21
|
+
* #### Adicionando o pacote @po-ui/ng-code-editor
|
|
22
|
+
*
|
|
23
|
+
* Para instalar o pacote `po-code-editor` em sua aplicação execute:
|
|
24
|
+
*
|
|
25
|
+
* ```shell
|
|
26
|
+
* ng add @po-ui/ng-code-editor
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* O comando `ng add` do `Angular CLI`:
|
|
30
|
+
* - inclui o `po-code-editor` no seu projeto;
|
|
31
|
+
* - adiciona o módulo `PoCodeEditorModule`:;
|
|
32
|
+
*
|
|
33
|
+
* ```
|
|
34
|
+
* // app.module.ts
|
|
35
|
+
* ...
|
|
36
|
+
* import { PoModule } from '@po-ui/ng-components';
|
|
37
|
+
* import { PoCodeEditorModule } from '@po-ui/ng-code-editor';
|
|
38
|
+
* ...
|
|
39
|
+
* @NgModule({
|
|
40
|
+
* imports: [
|
|
41
|
+
* ...
|
|
42
|
+
* PoModule,
|
|
43
|
+
* PoCodeEditorModule
|
|
44
|
+
* ],
|
|
45
|
+
* ...
|
|
46
|
+
* })
|
|
47
|
+
* export class AppModule { }
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* - adiciona o tema PO UI e também o *asset* do Monaco no arquivo `angular.json`, conforme abaixo:
|
|
51
|
+
*
|
|
52
|
+
* <pre ngNonBindable>
|
|
53
|
+
* ...
|
|
54
|
+
* "assets": [
|
|
55
|
+
* { "glob": "**/*", "input": "node_modules/monaco-editor/min", "output": "/assets/monaco/" }
|
|
56
|
+
* ],
|
|
57
|
+
* "styles": [
|
|
58
|
+
* "./node_modules/@po-ui/style/css/po-theme-default.min.css"
|
|
59
|
+
* ]
|
|
60
|
+
* ...
|
|
61
|
+
* </pre>
|
|
62
|
+
*/
|
|
63
|
+
export class PoCodeEditorBaseComponent {
|
|
64
|
+
constructor() {
|
|
65
|
+
this.modifiedValue = '';
|
|
66
|
+
this.value = '';
|
|
67
|
+
this._height = 150;
|
|
68
|
+
this._language = 'plainText';
|
|
69
|
+
this._readonly = false;
|
|
70
|
+
this._showDiff = false;
|
|
71
|
+
this._theme = PO_CODE_EDITOR_THEME_DEFAULT;
|
|
72
|
+
/* istanbul ignore next */
|
|
73
|
+
this.onTouched = (value) => { };
|
|
74
|
+
/* istanbul ignore next */
|
|
75
|
+
this.onChangePropagate = (value) => { };
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* @optional
|
|
79
|
+
*
|
|
80
|
+
* @description
|
|
81
|
+
*
|
|
82
|
+
* Linguagem na qual será apresentado o código fonte.
|
|
83
|
+
* Para saber quais são as linguagens compatíveis, consulte a documentação oficial do
|
|
84
|
+
* [**Monaco Editor**](https://microsoft.github.io/monaco-editor/).
|
|
85
|
+
*
|
|
86
|
+
* Também é possível adicionar uma nova linguagem personalizada utilizando o serviço:
|
|
87
|
+
* [**po-code-editor-register**](https://po-ui.io/documentation/po-code-editor-register?view=doc).
|
|
88
|
+
*
|
|
89
|
+
* @default `plainText`
|
|
90
|
+
*/
|
|
91
|
+
set language(language) {
|
|
92
|
+
this._language = language && language.length ? language.trim() : 'plainText';
|
|
93
|
+
if (this.editor && this._language) {
|
|
94
|
+
this.setLanguage(this._language);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
get language() {
|
|
98
|
+
return this._language;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* @optional
|
|
102
|
+
*
|
|
103
|
+
* @description
|
|
104
|
+
*
|
|
105
|
+
* Indica se o editor será aberto em modo de leitura.
|
|
106
|
+
*
|
|
107
|
+
* Neste caso, não é possível editar o código inserido.
|
|
108
|
+
*
|
|
109
|
+
* Obs: Esta propriedade não refletirá efeito se alterada após o carregamento do componente.
|
|
110
|
+
*
|
|
111
|
+
* @default `false`
|
|
112
|
+
*/
|
|
113
|
+
set readonly(readonly) {
|
|
114
|
+
this._readonly = readonly === '' ? true : this.convertToBoolean(readonly);
|
|
115
|
+
if (this.editor) {
|
|
116
|
+
this.setReadOnly(readonly);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
get readonly() {
|
|
120
|
+
return this._readonly;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* @optional
|
|
124
|
+
*
|
|
125
|
+
* @description
|
|
126
|
+
*
|
|
127
|
+
* Indica se o editor será aberto em modo de comparação.
|
|
128
|
+
*
|
|
129
|
+
* Caso esteja habilitada esta opção, então o [(ngModel)] deverá ser passado como um array, cuja primeira opção deve
|
|
130
|
+
* conter uma string com o código original e na segunda posição uma string código modificado para efeito de
|
|
131
|
+
* comparação. Neste caso, o usuário conseguirá editar apenas o código modificado e isso refletirá na segunda posição
|
|
132
|
+
* do array consequentemente.
|
|
133
|
+
*
|
|
134
|
+
* Obs: Esta propriedade não refletirá efeito se alterada após o carregamento do componente.
|
|
135
|
+
*
|
|
136
|
+
* @default `false`
|
|
137
|
+
*/
|
|
138
|
+
set showDiff(showDiff) {
|
|
139
|
+
this._showDiff = showDiff === '' ? true : this.convertToBoolean(showDiff);
|
|
140
|
+
}
|
|
141
|
+
get showDiff() {
|
|
142
|
+
return this._showDiff;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* @optional
|
|
146
|
+
*
|
|
147
|
+
* @description
|
|
148
|
+
*
|
|
149
|
+
* Lista de sugestões usadas pelo autocomplete dentro do editor.
|
|
150
|
+
*
|
|
151
|
+
* Para visualizar a lista de sugestões use o comando `CTRL + SPACE`.
|
|
152
|
+
*
|
|
153
|
+
* Caso o editor esteja usando uma linguagem que já tenha uma lista de sugestões predefinida, o valor passado será adicionado
|
|
154
|
+
* a lista preexistente, aumentando as opções para o usuário.
|
|
155
|
+
*
|
|
156
|
+
* Caso tenha mais de um editor da mesma linguagem na aplicação, as sugestões serão adicionadas para que todos os editores da mesma linguagem
|
|
157
|
+
* tenham as mesmas sugestões.
|
|
158
|
+
*
|
|
159
|
+
* ```
|
|
160
|
+
* <po-code-editor
|
|
161
|
+
* [p-suggestions]="[{ label: 'po', insertText: 'Portinari UI' }, { label: 'ng', insertText: 'Angular' }]">
|
|
162
|
+
* </po-code-editor>
|
|
163
|
+
* ```
|
|
164
|
+
*
|
|
165
|
+
* Ao fornecer uma lista de sugestões é possível acelerar a escrita de scripts pelos usuários.
|
|
166
|
+
*/
|
|
167
|
+
set suggestions(values) {
|
|
168
|
+
this._suggestions = values;
|
|
169
|
+
if (this.editor && this._suggestions) {
|
|
170
|
+
this.setSuggestions(this._suggestions);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
get suggestions() {
|
|
174
|
+
return this._suggestions;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* @optional
|
|
178
|
+
*
|
|
179
|
+
* @description
|
|
180
|
+
*
|
|
181
|
+
* Define um tema para o editor.
|
|
182
|
+
*
|
|
183
|
+
* Temas válidos:
|
|
184
|
+
* - `vs-dark`
|
|
185
|
+
* - `vs`
|
|
186
|
+
* - `hc-black`
|
|
187
|
+
*
|
|
188
|
+
* É importante salientar que o tema será aplicados a todos os componentes po-code-editor existentes na tela,
|
|
189
|
+
* ou seja, todas as instâncias do componente receberão o último tema atribuído ou o tema da última instância
|
|
190
|
+
* criada.
|
|
191
|
+
*
|
|
192
|
+
* @default `vs`
|
|
193
|
+
*/
|
|
194
|
+
set theme(theme) {
|
|
195
|
+
this._theme = PO_CODE_EDITOR_THEMES.includes(theme) ? theme : PO_CODE_EDITOR_THEME_DEFAULT;
|
|
196
|
+
if (this.editor) {
|
|
197
|
+
this.setTheme(theme);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
get theme() {
|
|
201
|
+
return this._theme;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* @optional
|
|
205
|
+
*
|
|
206
|
+
* @description
|
|
207
|
+
*
|
|
208
|
+
* Define a altura do componente em pixels do po-code-editor.
|
|
209
|
+
* Esta propriedade não poderá ser alterada após o componente ter sido iniciado.
|
|
210
|
+
* A altura mínima é 150 pixels.
|
|
211
|
+
*/
|
|
212
|
+
set height(height) {
|
|
213
|
+
this._height = parseFloat(height) >= 150 ? parseFloat(height) : 150;
|
|
214
|
+
}
|
|
215
|
+
get height() {
|
|
216
|
+
return `${this._height}px`;
|
|
217
|
+
}
|
|
218
|
+
getOptions() {
|
|
219
|
+
return { language: this.language, theme: this.theme, readOnly: this.readonly };
|
|
220
|
+
}
|
|
221
|
+
registerOnChange(fn) {
|
|
222
|
+
this.onChangePropagate = fn;
|
|
223
|
+
}
|
|
224
|
+
registerOnTouched(fn) {
|
|
225
|
+
this.onTouched = fn;
|
|
226
|
+
}
|
|
227
|
+
convertToBoolean(val) {
|
|
228
|
+
if (typeof val === 'string') {
|
|
229
|
+
val = val.toLowerCase().trim();
|
|
230
|
+
return val === 'true' || val === 'on' || val === '';
|
|
231
|
+
}
|
|
232
|
+
if (typeof val === 'number') {
|
|
233
|
+
return val === 1;
|
|
234
|
+
}
|
|
235
|
+
return !!val;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
PoCodeEditorBaseComponent.ɵfac = function PoCodeEditorBaseComponent_Factory(t) { return new (t || PoCodeEditorBaseComponent)(); };
|
|
239
|
+
PoCodeEditorBaseComponent.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PoCodeEditorBaseComponent, inputs: { language: ["p-language", "language"], readonly: ["p-readonly", "readonly"], showDiff: ["p-show-diff", "showDiff"], suggestions: ["p-suggestions", "suggestions"], theme: ["p-theme", "theme"], height: ["p-height", "height"] } });
|
|
240
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoCodeEditorBaseComponent, [{
|
|
241
|
+
type: Directive
|
|
242
|
+
}], null, { language: [{
|
|
243
|
+
type: Input,
|
|
244
|
+
args: ['p-language']
|
|
245
|
+
}], readonly: [{
|
|
246
|
+
type: Input,
|
|
247
|
+
args: ['p-readonly']
|
|
248
|
+
}], showDiff: [{
|
|
249
|
+
type: Input,
|
|
250
|
+
args: ['p-show-diff']
|
|
251
|
+
}], suggestions: [{
|
|
252
|
+
type: Input,
|
|
253
|
+
args: ['p-suggestions']
|
|
254
|
+
}], theme: [{
|
|
255
|
+
type: Input,
|
|
256
|
+
args: ['p-theme']
|
|
257
|
+
}], height: [{
|
|
258
|
+
type: Input,
|
|
259
|
+
args: ['p-height']
|
|
260
|
+
}] }); })();
|
|
261
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tY29kZS1lZGl0b3ItYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2RlLWVkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvcG8tY29kZS1lZGl0b3IvcG8tY29kZS1lZGl0b3ItYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS2pELE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQzVELE1BQU0sNEJBQTRCLEdBQUcsSUFBSSxDQUFDO0FBRTFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5REc7QUFFSCxNQUFNLE9BQWdCLHlCQUF5QjtJQUQvQztRQUdFLGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBQzNCLFVBQUssR0FBUSxFQUFFLENBQUM7UUFFUixZQUFPLEdBQVcsR0FBRyxDQUFDO1FBQ3RCLGNBQVMsR0FBRyxXQUFXLENBQUM7UUFDeEIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBRTNCLFdBQU0sR0FBRyw0QkFBNEIsQ0FBQztRQStKOUMsMEJBQTBCO1FBQzFCLGNBQVMsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQy9CLDBCQUEwQjtRQUMxQixzQkFBaUIsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO0tBb0N4QztJQXBNQzs7Ozs7Ozs7Ozs7OztPQWFHO0lBQ0gsSUFBeUIsUUFBUSxDQUFDLFFBQWdCO1FBQ2hELElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEs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R0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVTLGdCQUFnQixDQUFDLEdBQVE7UUFDakMsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUU7WUFDM0IsR0FBRyxHQUFHLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMvQixPQUFPLEdBQUcsS0FBSyxNQUFNLElBQUksR0FBRyxLQUFLLElBQUksSUFBSSxHQUFHLEtBQUssRUFBRSxDQUFDO1NBQ3JEO1FBRUQsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUU7WUFDM0IsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDO1NBQ2xCO1FBRUQsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ2YsQ0FBQzs7a0dBck1tQix5QkFBeUI7NEVBQXpCLHlCQUF5Qjt1RkFBekIseUJBQXlCO2NBRDlDLFNBQVM7Z0JBMkJpQixRQUFRO2tCQUFoQyxLQUFLO21CQUFDLFlBQVk7WUF5Qk0sUUFBUTtrQkFBaEMsS0FBSzttQkFBQyxZQUFZO1lBNEJPLFFBQVE7a0JBQWpDLEtBQUs7bUJBQUMsYUFBYTtZQStCUSxXQUFXO2tCQUF0QyxLQUFLO21CQUFDLGVBQWU7WUE4QkEsS0FBSztrQkFBMUIsS0FBSzttQkFBQyxTQUFTO1lBcUJPLE1BQU07a0JBQTVCLEtBQUs7bUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0LCBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGVTdWdnZXN0aW9uIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLWNvZGUtZWRpdG9yLXJlZ2lzdGVyYWJsZS1zdWdnZXN0aW9uLmludGVyZmFjZSc7XG5cbmNvbnN0IFBPX0NPREVfRURJVE9SX1RIRU1FUyA9IFsndnMtZGFyaycsICd2cycsICdoYy1ibGFjayddO1xuY29uc3QgUE9fQ09ERV9FRElUT1JfVEhFTUVfREVGQVVMVCA9ICd2cyc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogTyBgcG8tY29kZS1lZGl0b3JgIMOpIHVtIGNvbXBvbmVudGUgcGFyYSBlZGnDp8OjbyBkZSBjw7NkaWdvIGZvbnRlIGJhc2VhZG8gbm8gTW9uYWNvIEVkaXRvciBkYSBNaWNyb3NvZnQuXG4gKlxuICogU2VuZG8gYXNzaW0sIGFsZ3VtYXMgY29uZmlndXJhw6fDtWVzIHByZXNlbnRlcyBubyBNb25hY28gcG9kZW0gc2VyIHV0aWxpemFkYXMgYXF1aSwgY29tbyBhIGVzY29saGEgZGEgbGluZ3VhZ2VtXG4gKiAodXRpbGl6YW5kbyBvIGhpZ2hsaWdodCBzeW50YXggZXNwZWPDrWZpY28pLCBlc2NvbGhhIGRvIHRlbWEgZSBvcMOnw6NvIGRlIGRpZmYsIGFsw6ltIGRlIHNlciBtdWl0byBzaW1pbGFyIGFvIFZpc3VhbFxuICogU3R1ZGlvIENvZGUsIGNvbSBhdXRvY29tcGxldGUgZSBmZWNoYW1lbnRvIGF1dG9tw6F0aWNvIGRlIGJyYWNrZXRzLlxuICpcbiAqIEVzdGUgY29tcG9uZW50ZSBwb2RlIHNlciB1c2FkbyBlbSBxdWFscXVlciBzaXR1YcOnw6NvIHF1ZSBuZWNlc3NpdGUgZGUgYWRpw6fDo28gZGUgY8OzZGlnb3MsIGNvbW8gcG9yIGV4ZW1wbG8sIGNyaWFyXG4gKiByZWNlaXRhcyB1dGlsaXphbmRvIFRlcnJhZm9ybSBwYXJhIGdlcmVuY2lhciB0b3BvbG9naWFzLlxuICogw4kgaW1wb3J0YW50ZSByZXNzYWx0YXIgcXVlIGVzdGUgbsOjbyDDqSB1bSBjb21wb25lbnRlIHBhcmEgZWRpw6fDo28gZGUgdGV4dG9zIGNvbXVucy5cbiAqXG4gKiBPIFsobmdNb2RlbCldIGRldmUgc2VyIHVzYWRvIHBhcmEgbWFuaXB1bGFyIG8gY29udGXDumRvIGRvIHBvLWNvZGUtZWRpdG9yLCBvdSBzZWphLCB0YW50byBwYXJhIGluY2x1aXIgdW0gY29udGXDumRvIHF1YW50b1xuICogcGFyYSByZWN1cGVyYXIgbyBjb250ZcO6ZG8gZG8gcG8tY29kZS1lZGl0b3IsIHV0aWxpemEtc2UgdW1hIHZhcmnDoXZlbCBwYXNzYWRhIHBvciBbKG5nTW9kZWwpXS5cbiAqXG4gKiAjIyMjIEFkaWNpb25hbmRvIG8gcGFjb3RlIEBwby11aS9uZy1jb2RlLWVkaXRvclxuICpcbiAqIFBhcmEgaW5zdGFsYXIgbyBwYWNvdGUgYHBvLWNvZGUtZWRpdG9yYCBlbSBzdWEgYXBsaWNhw6fDo28gZXhlY3V0ZTpcbiAqXG4gKiBgYGBzaGVsbFxuICogbmcgYWRkIEBwby11aS9uZy1jb2RlLWVkaXRvclxuICogYGBgXG4gKlxuICogTyBjb21hbmRvIGBuZyBhZGRgIGRvIGBBbmd1bGFyIENMSWA6XG4gKiAtIGluY2x1aSBvIGBwby1jb2RlLWVkaXRvcmAgbm8gc2V1IHByb2pldG87XG4gKiAtIGFkaWNpb25hIG8gbcOzZHVsbyBgUG9Db2RlRWRpdG9yTW9kdWxlYDo7XG4gKlxuICogYGBgXG4gKiAvLyBhcHAubW9kdWxlLnRzXG4gKiAuLi5cbiAqIGltcG9ydCB7IFBvTW9kdWxlIH0gZnJvbSAnQHBvLXVpL25nLWNvbXBvbmVudHMnO1xuICogaW1wb3J0IHsgUG9Db2RlRWRpdG9yTW9kdWxlIH0gZnJvbSAnQHBvLXVpL25nLWNvZGUtZWRpdG9yJztcbiAqIC4uLlxuICogQE5nTW9kdWxlKHtcbiAqICAgaW1wb3J0czogW1xuICogICAgIC4uLlxuICogICAgIFBvTW9kdWxlLFxuICogICAgIFBvQ29kZUVkaXRvck1vZHVsZVxuICogICBdLFxuICogICAuLi5cbiAqIH0pXG4gKiBleHBvcnQgY2xhc3MgQXBwTW9kdWxlIHsgfVxuICogYGBgXG4gKlxuICogLSBhZGljaW9uYSBvIHRlbWEgUE8gVUkgZSB0YW1iw6ltIG8gKmFzc2V0KiBkbyBNb25hY28gbm8gYXJxdWl2byBgYW5ndWxhci5qc29uYCwgY29uZm9ybWUgYWJhaXhvOlxuICpcbiAqIDxwcmUgbmdOb25CaW5kYWJsZT5cbiAqIC4uLlxuICogXCJhc3NldHNcIjogW1xuICogICAgeyBcImdsb2JcIjogXCImIzQyOyYjNDI7LyYjNDI7XCIsIFwiaW5wdXRcIjogXCJub2RlX21vZHVsZXMvbW9uYWNvLWVkaXRvci9taW5cIiwgXCJvdXRwdXRcIjogXCIvYXNzZXRzL21vbmFjby9cIiB9XG4gKiAgXSxcbiAqIFwic3R5bGVzXCI6IFtcbiAqICAgIFwiLi9ub2RlX21vZHVsZXMvQHBvLXVpL3N0eWxlL2Nzcy9wby10aGVtZS1kZWZhdWx0Lm1pbi5jc3NcIlxuICogXVxuICogLi4uXG4gKiA8L3ByZT5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUG9Db2RlRWRpdG9yQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgZWRpdG9yOiBhbnk7XG4gIG1vZGlmaWVkVmFsdWU6IHN0cmluZyA9ICcnO1xuICB2YWx1ZTogYW55ID0gJyc7XG5cbiAgcHJpdmF0ZSBfaGVpZ2h0OiBudW1iZXIgPSAxNTA7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gJ3BsYWluVGV4dCc7XG4gIHByaXZhdGUgX3JlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3Nob3dEaWZmOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3N1Z2dlc3Rpb25zOiBBcnJheTxQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGVTdWdnZXN0aW9uPjtcbiAgcHJpdmF0ZSBfdGhlbWUgPSBQT19DT0RFX0VESVRPUl9USEVNRV9ERUZBVUxUO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIExpbmd1YWdlbSBuYSBxdWFsIHNlcsOhIGFwcmVzZW50YWRvIG8gY8OzZGlnbyBmb250ZS5cbiAgICogUGFyYSBzYWJlciBxdWFpcyBzw6NvIGFzIGxpbmd1YWdlbnMgY29tcGF0w612ZWlzLCBjb25zdWx0ZSBhIGRvY3VtZW50YcOnw6NvIG9maWNpYWwgZG9cbiAgICogWyoqTW9uYWNvIEVkaXRvcioqXShodHRwczovL21pY3Jvc29mdC5naXRodWIuaW8vbW9uYWNvLWVkaXRvci8pLlxuICAgKlxuICAgKiBUYW1iw6ltIMOpIHBvc3PDrXZlbCBhZGljaW9uYXIgdW1hIG5vdmEgbGluZ3VhZ2VtIHBlcnNvbmFsaXphZGEgdXRpbGl6YW5kbyBvIHNlcnZpw6dvOlxuICAgKiBbKipwby1jb2RlLWVkaXRvci1yZWdpc3RlcioqXShodHRwczovL3BvLXVpLmlvL2RvY3VtZW50YXRpb24vcG8tY29kZS1lZGl0b3ItcmVnaXN0ZXI/dmlldz1kb2MpLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgcGxhaW5UZXh0YFxuICAgKi9cbiAgQElucHV0KCdwLWxhbmd1YWdlJykgc2V0IGxhbmd1YWdlKGxhbmd1YWdlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9sYW5ndWFnZSA9IGxhbmd1YWdlICYmIGxhbmd1YWdlLmxlbmd0aCA/IGxhbmd1YWdlLnRyaW0oKSA6ICdwbGFpblRleHQnO1xuXG4gICAgaWYgKHRoaXMuZWRpdG9yICYmIHRoaXMuX2xhbmd1YWdlKSB7XG4gICAgICB0aGlzLnNldExhbmd1YWdlKHRoaXMuX2xhbmd1YWdlKTtcbiAgICB9XG4gIH1cblxuICBnZXQgbGFuZ3VhZ2UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbGFuZ3VhZ2U7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBJbmRpY2Egc2UgbyBlZGl0b3Igc2Vyw6EgYWJlcnRvIGVtIG1vZG8gZGUgbGVpdHVyYS5cbiAgICpcbiAgICogTmVzdGUgY2FzbywgbsOjbyDDqSBwb3Nzw612ZWwgZWRpdGFyIG8gY8OzZGlnbyBpbnNlcmlkby5cbiAgICpcbiAgICogT2JzOiBFc3RhIHByb3ByaWVkYWRlIG7Do28gcmVmbGV0aXLDoSBlZmVpdG8gc2UgYWx0ZXJhZGEgYXDDs3MgbyBjYXJyZWdhbWVudG8gZG8gY29tcG9uZW50ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgQElucHV0KCdwLXJlYWRvbmx5Jykgc2V0IHJlYWRvbmx5KHJlYWRvbmx5OiBib29sZWFuKSB7XG4gICAgdGhpcy5fcmVhZG9ubHkgPSA8YW55PnJlYWRvbmx5ID09PSAnJyA/IHRydWUgOiB0aGlzLmNvbnZlcnRUb0Jvb2xlYW4ocmVhZG9ubHkpO1xuXG4gICAgaWYgKHRoaXMuZWRpdG9yKSB7XG4gICAgICB0aGlzLnNldFJlYWRPbmx5KHJlYWRvbmx5KTtcbiAgICB9XG4gIH1cblxuICBnZXQgcmVhZG9ubHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlYWRvbmx5O1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogSW5kaWNhIHNlIG8gZWRpdG9yIHNlcsOhIGFiZXJ0byBlbSBtb2RvIGRlIGNvbXBhcmHDp8Ojby5cbiAgICpcbiAgICogQ2FzbyBlc3RlamEgaGFiaWxpdGFkYSBlc3RhIG9ww6fDo28sIGVudMOjbyBvIFsobmdNb2RlbCldIGRldmVyw6Egc2VyIHBhc3NhZG8gY29tbyB1bSBhcnJheSwgY3VqYSBwcmltZWlyYSBvcMOnw6NvIGRldmVcbiAgICogY29udGVyIHVtYSBzdHJpbmcgY29tIG8gY8OzZGlnbyBvcmlnaW5hbCBlIG5hIHNlZ3VuZGEgcG9zacOnw6NvIHVtYSBzdHJpbmcgY8OzZGlnbyBtb2RpZmljYWRvIHBhcmEgZWZlaXRvIGRlXG4gICAqIGNvbXBhcmHDp8Ojby4gTmVzdGUgY2FzbywgbyB1c3XDoXJpbyBjb25zZWd1aXLDoSBlZGl0YXIgYXBlbmFzIG8gY8OzZGlnbyBtb2RpZmljYWRvIGUgaXNzbyByZWZsZXRpcsOhIG5hIHNlZ3VuZGEgcG9zacOnw6NvXG4gICAqIGRvIGFycmF5IGNvbnNlcXVlbnRlbWVudGUuXG4gICAqXG4gICAqIE9iczogRXN0YSBwcm9wcmllZGFkZSBuw6NvIHJlZmxldGlyw6EgZWZlaXRvIHNlIGFsdGVyYWRhIGFww7NzIG8gY2FycmVnYW1lbnRvIGRvIGNvbXBvbmVudGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCgncC1zaG93LWRpZmYnKSBzZXQgc2hvd0RpZmYoc2hvd0RpZmY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93RGlmZiA9IDxhbnk+c2hvd0RpZmYgPT09ICcnID8gdHJ1ZSA6IHRoaXMuY29udmVydFRvQm9vbGVhbihzaG93RGlmZik7XG4gIH1cblxuICBnZXQgc2hvd0RpZmYoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Nob3dEaWZmO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogTGlzdGEgZGUgc3VnZXN0w7VlcyB1c2FkYXMgcGVsbyBhdXRvY29tcGxldGUgZGVudHJvIGRvIGVkaXRvci5cbiAgICpcbiAgICogUGFyYSB2aXN1YWxpemFyIGEgbGlzdGEgZGUgc3VnZXN0w7VlcyB1c2UgbyBjb21hbmRvIGBDVFJMICsgU1BBQ0VgLlxuICAgKlxuICAgKiBDYXNvIG8gZWRpdG9yIGVzdGVqYSB1c2FuZG8gdW1hIGxpbmd1YWdlbSBxdWUgasOhIHRlbmhhIHVtYSBsaXN0YSBkZSBzdWdlc3TDtWVzIHByZWRlZmluaWRhLCBvIHZhbG9yIHBhc3NhZG8gc2Vyw6EgYWRpY2lvbmFkb1xuICAgKiBhIGxpc3RhIHByZWV4aXN0ZW50ZSwgYXVtZW50YW5kbyBhcyBvcMOnw7VlcyBwYXJhIG8gdXN1w6FyaW8uXG4gICAqXG4gICAqIENhc28gdGVuaGEgbWFpcyBkZSB1bSBlZGl0b3IgZGEgbWVzbWEgbGluZ3VhZ2VtIG5hIGFwbGljYcOnw6NvLCBhcyBzdWdlc3TDtWVzIHNlcsOjbyBhZGljaW9uYWRhcyBwYXJhIHF1ZSB0b2RvcyBvcyBlZGl0b3JlcyBkYSBtZXNtYSBsaW5ndWFnZW1cbiAgICogdGVuaGFtIGFzIG1lc21hcyBzdWdlc3TDtWVzLlxuICAgKlxuICAgKiBgYGBcbiAgICogIDxwby1jb2RlLWVkaXRvclxuICAgKiAgICBbcC1zdWdnZXN0aW9uc109XCJbeyBsYWJlbDogJ3BvJywgaW5zZXJ0VGV4dDogJ1BvcnRpbmFyaSBVSScgfSwgeyBsYWJlbDogJ25nJywgaW5zZXJ0VGV4dDogJ0FuZ3VsYXInIH1dXCI+XG4gICAqICA8L3BvLWNvZGUtZWRpdG9yPlxuICAgKiBgYGBcbiAgICpcbiAgICogQW8gZm9ybmVjZXIgdW1hIGxpc3RhIGRlIHN1Z2VzdMO1ZXMgw6kgcG9zc8OtdmVsIGFjZWxlcmFyIGEgZXNjcml0YSBkZSBzY3JpcHRzIHBlbG9zIHVzdcOhcmlvcy5cbiAgICovXG4gIEBJbnB1dCgncC1zdWdnZXN0aW9ucycpIHNldCBzdWdnZXN0aW9ucyh2YWx1ZXM6IEFycmF5PFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZVN1Z2dlc3Rpb24+KSB7XG4gICAgdGhpcy5fc3VnZ2VzdGlvbnMgPSB2YWx1ZXM7XG5cbiAgICBpZiAodGhpcy5lZGl0b3IgJiYgdGhpcy5fc3VnZ2VzdGlvbnMpIHtcbiAgICAgIHRoaXMuc2V0U3VnZ2VzdGlvbnModGhpcy5fc3VnZ2VzdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBzdWdnZXN0aW9ucygpOiBBcnJheTxQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGVTdWdnZXN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N1Z2dlc3Rpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRGVmaW5lIHVtIHRlbWEgcGFyYSBvIGVkaXRvci5cbiAgICpcbiAgICogVGVtYXMgdsOhbGlkb3M6XG4gICAqICAtIGB2cy1kYXJrYFxuICAgKiAgLSBgdnNgXG4gICAqICAtIGBoYy1ibGFja2BcbiAgICpcbiAgICogw4kgaW1wb3J0YW50ZSBzYWxpZW50YXIgcXVlIG8gdGVtYSBzZXLDoSBhcGxpY2Fkb3MgYSB0b2RvcyBvcyBjb21wb25lbnRlcyBwby1jb2RlLWVkaXRvciBleGlzdGVudGVzIG5hIHRlbGEsXG4gICAqIG91IHNlamEsIHRvZGFzIGFzIGluc3TDom5jaWFzIGRvIGNvbXBvbmVudGUgcmVjZWJlcsOjbyBvIMO6bHRpbW8gdGVtYSBhdHJpYnXDrWRvIG91IG8gdGVtYSBkYSDDumx0aW1hIGluc3TDom5jaWFcbiAgICogY3JpYWRhLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgdnNgXG4gICAqL1xuICBASW5wdXQoJ3AtdGhlbWUnKSBzZXQgdGhlbWUodGhlbWU6IHN0cmluZykge1xuICAgIHRoaXMuX3RoZW1lID0gUE9fQ09ERV9FRElUT1JfVEhFTUVTLmluY2x1ZGVzKHRoZW1lKSA/IHRoZW1lIDogUE9fQ09ERV9FRElUT1JfVEhFTUVfREVGQVVMVDtcblxuICAgIGlmICh0aGlzLmVkaXRvcikge1xuICAgICAgdGhpcy5zZXRUaGVtZSh0aGVtZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHRoZW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3RoZW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRGVmaW5lIGEgYWx0dXJhIGRvIGNvbXBvbmVudGUgZW0gcGl4ZWxzIGRvIHBvLWNvZGUtZWRpdG9yLlxuICAgKiBFc3RhIHByb3ByaWVkYWRlIG7Do28gcG9kZXLDoSBzZXIgYWx0ZXJhZGEgYXDDs3MgbyBjb21wb25lbnRlIHRlciBzaWRvIGluaWNpYWRvLlxuICAgKiBBIGFsdHVyYSBtw61uaW1hIMOpIDE1MCBwaXhlbHMuXG4gICAqL1xuICBASW5wdXQoJ3AtaGVpZ2h0Jykgc2V0IGhlaWdodChoZWlnaHQ6IHN0cmluZykge1xuICAgIHRoaXMuX2hlaWdodCA9IHBhcnNlRmxvYXQoaGVpZ2h0KSA+PSAxNTAgPyBwYXJzZUZsb2F0KGhlaWdodCkgOiAxNTA7XG4gIH1cblxuICBnZXQgaGVpZ2h0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuX2hlaWdodH1weGA7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBvblRvdWNoZWQgPSAodmFsdWU6IGFueSkgPT4ge307XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIG9uQ2hhbmdlUHJvcGFnYXRlID0gKHZhbHVlOiBhbnkpID0+IHt9O1xuXG4gIGdldE9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIHsgbGFuZ3VhZ2U6IHRoaXMubGFuZ3VhZ2UsIHRoZW1lOiB0aGlzLnRoZW1lLCByZWFkT25seTogdGhpcy5yZWFkb25seSB9O1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZVByb3BhZ2F0ZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBwcm90ZWN0ZWQgY29udmVydFRvQm9vbGVhbih2YWw6IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgICAgdmFsID0gdmFsLnRvTG93ZXJDYXNlKCkudHJpbSgpO1xuICAgICAgcmV0dXJuIHZhbCA9PT0gJ3RydWUnIHx8IHZhbCA9PT0gJ29uJyB8fCB2YWwgPT09ICcnO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIHZhbCA9PT0gMTtcbiAgICB9XG5cbiAgICByZXR1cm4gISF2YWw7XG4gIH1cblxuICBhYnN0cmFjdCB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpO1xuXG4gIGFic3RyYWN0IHNldExhbmd1YWdlKHZhbHVlOiBhbnkpO1xuXG4gIGFic3RyYWN0IHNldFRoZW1lKHZhbHVlOiBhbnkpO1xuXG4gIGFic3RyYWN0IHNldFJlYWRPbmx5KHZhbHVlOiBhbnkpO1xuXG4gIGFic3RyYWN0IHNldFN1Z2dlc3Rpb25zKHZhbHVlOiBhbnkpO1xufVxuIl19
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* @description
|
|
5
|
+
*
|
|
6
|
+
* Wrapper para registro de sintaxes customizadas para o po-code-editor.
|
|
7
|
+
*
|
|
8
|
+
* Para utilização do serviço de idiomas **PoCodeEditorRegister**,
|
|
9
|
+
* deve-se importar o módulo PoCodeEditorModule mesmo já tendo importado
|
|
10
|
+
* o módulo PoModule.
|
|
11
|
+
* Na importação opcionalmente pode ser invocado o método **forRegister** informando um objeto para configuração.
|
|
12
|
+
*
|
|
13
|
+
* Exemplo de configuração:
|
|
14
|
+
* ```
|
|
15
|
+
* import { PoCodeEditorModule, PoCodeEditorRegisterable } from '@po-ui/ng-code-editor';
|
|
16
|
+
*
|
|
17
|
+
* declare const monaco: any; // Importante para usar configurações com tipos definidos pelo Monaco
|
|
18
|
+
*
|
|
19
|
+
* // A função `provideCompletionItems` precisa ser exportada para ser compatível com AOT.
|
|
20
|
+
* export function provideCompletionItems() {
|
|
21
|
+
* const suggestions = [{
|
|
22
|
+
* label: 'terraform',
|
|
23
|
+
* insertText: '#terraform language'
|
|
24
|
+
* }, {
|
|
25
|
+
* label: 'server',
|
|
26
|
+
* insertText: 'server ${1:ip}'
|
|
27
|
+
* }];
|
|
28
|
+
*
|
|
29
|
+
* return { suggestions: suggestions };
|
|
30
|
+
* }
|
|
31
|
+
*
|
|
32
|
+
* const customEditor: PoCodeEditorRegisterable = {
|
|
33
|
+
* language: 'terraform',
|
|
34
|
+
* options: {
|
|
35
|
+
* keywords: ['resource', 'provider', 'variable', 'output', 'module', 'true', 'false'],
|
|
36
|
+
* operators: ['{', '}', '(', ')', '[', ']', '?', ':'],
|
|
37
|
+
* symbols: /[=><!~?:&|+\-*\/\^%]+/,
|
|
38
|
+
* escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
|
|
39
|
+
* tokenizer: {
|
|
40
|
+
* ...
|
|
41
|
+
* }
|
|
42
|
+
* },
|
|
43
|
+
* suggestions: { provideCompletionItems: provideCompletionItems }
|
|
44
|
+
* };
|
|
45
|
+
*
|
|
46
|
+
* @NgModule({
|
|
47
|
+
* declarations: [],
|
|
48
|
+
* imports: [
|
|
49
|
+
* PoModule,
|
|
50
|
+
* PoCodeEditorModule.forRegister(customEditor)
|
|
51
|
+
* ],
|
|
52
|
+
* bootstrap: [AppComponent]
|
|
53
|
+
* })
|
|
54
|
+
* ```
|
|
55
|
+
*
|
|
56
|
+
* > As configurações para o registro de uma nova sintaxe no Monaco code editor podem ser encontradas em
|
|
57
|
+
* > [**Monaco Editor**](https://microsoft.github.io/monaco-editor/playground.html#extending-language-services-custom-languages).
|
|
58
|
+
*/
|
|
59
|
+
export class PoCodeEditorRegister {
|
|
60
|
+
}
|
|
61
|
+
PoCodeEditorRegister.ɵfac = function PoCodeEditorRegister_Factory(t) { return new (t || PoCodeEditorRegister)(); };
|
|
62
|
+
PoCodeEditorRegister.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PoCodeEditorRegister, factory: PoCodeEditorRegister.ɵfac });
|
|
63
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoCodeEditorRegister, [{
|
|
64
|
+
type: Injectable
|
|
65
|
+
}], null, null); })();
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tY29kZS1lZGl0b3ItcmVnaXN0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvZGUtZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9wby1jb2RlLWVkaXRvci9wby1jb2RlLWVkaXRvci1yZWdpc3Rlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdURHO0FBRUgsTUFBTSxPQUFPLG9CQUFvQjs7d0ZBQXBCLG9CQUFvQjswRUFBcEIsb0JBQW9CLFdBQXBCLG9CQUFvQjt1RkFBcEIsb0JBQW9CO2NBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZSB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1jb2RlLWVkaXRvci1yZWdpc3RlcmFibGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZU9wdGlvbnMgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tY29kZS1lZGl0b3ItcmVnaXN0ZXJhYmxlLW9wdGlvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZVN1Z2dlc3Rpb25UeXBlIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLWNvZGUtZWRpdG9yLXJlZ2lzdGVyYWJsZS1zdWdnZXN0aW9uLmludGVyZmFjZSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogV3JhcHBlciBwYXJhIHJlZ2lzdHJvIGRlIHNpbnRheGVzIGN1c3RvbWl6YWRhcyBwYXJhIG8gcG8tY29kZS1lZGl0b3IuXG4gKlxuICogUGFyYSB1dGlsaXphw6fDo28gZG8gc2VydmnDp28gZGUgaWRpb21hcyAqKlBvQ29kZUVkaXRvclJlZ2lzdGVyKiosXG4gKiBkZXZlLXNlIGltcG9ydGFyIG8gbcOzZHVsbyBQb0NvZGVFZGl0b3JNb2R1bGUgbWVzbW8gasOhIHRlbmRvIGltcG9ydGFkb1xuICogbyBtw7NkdWxvIFBvTW9kdWxlLlxuICogTmEgaW1wb3J0YcOnw6NvIG9wY2lvbmFsbWVudGUgcG9kZSBzZXIgaW52b2NhZG8gbyBtw6l0b2RvICoqZm9yUmVnaXN0ZXIqKiBpbmZvcm1hbmRvIHVtIG9iamV0byBwYXJhIGNvbmZpZ3VyYcOnw6NvLlxuICpcbiAqIEV4ZW1wbG8gZGUgY29uZmlndXJhw6fDo286XG4gKiBgYGBcbiAqIGltcG9ydCB7IFBvQ29kZUVkaXRvck1vZHVsZSwgUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlIH0gZnJvbSAnQHBvLXVpL25nLWNvZGUtZWRpdG9yJztcbiAqXG4gKiBkZWNsYXJlIGNvbnN0IG1vbmFjbzogYW55OyAvLyBJbXBvcnRhbnRlIHBhcmEgdXNhciBjb25maWd1cmHDp8O1ZXMgY29tIHRpcG9zIGRlZmluaWRvcyBwZWxvIE1vbmFjb1xuICpcbiAqIC8vIEEgZnVuw6fDo28gYHByb3ZpZGVDb21wbGV0aW9uSXRlbXNgIHByZWNpc2Egc2VyIGV4cG9ydGFkYSBwYXJhIHNlciBjb21wYXTDrXZlbCBjb20gQU9ULlxuICogZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVDb21wbGV0aW9uSXRlbXMoKSB7XG4gKiAgIGNvbnN0IHN1Z2dlc3Rpb25zID0gW3tcbiAqICAgICBsYWJlbDogJ3RlcnJhZm9ybScsXG4gKiAgICAgaW5zZXJ0VGV4dDogJyN0ZXJyYWZvcm0gbGFuZ3VhZ2UnXG4gKiAgIH0sIHtcbiAqICAgICBsYWJlbDogJ3NlcnZlcicsXG4gKiAgICAgaW5zZXJ0VGV4dDogJ3NlcnZlciAkezE6aXB9J1xuICogICB9XTtcbiAqXG4gKiAgIHJldHVybiB7IHN1Z2dlc3Rpb25zOiBzdWdnZXN0aW9ucyB9O1xuICogfVxuICpcbiAqIGNvbnN0IGN1c3RvbUVkaXRvcjogUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlID0ge1xuICogICBsYW5ndWFnZTogJ3RlcnJhZm9ybScsXG4gKiAgIG9wdGlvbnM6IHtcbiAqICAgICBrZXl3b3JkczogWydyZXNvdXJjZScsICdwcm92aWRlcicsICd2YXJpYWJsZScsICdvdXRwdXQnLCAnbW9kdWxlJywgJ3RydWUnLCAnZmFsc2UnXSxcbiAqICAgICBvcGVyYXRvcnM6IFsneycsICd9JywgJygnLCAnKScsICdbJywgJ10nLCAnPycsICc6J10sXG4gKiAgICAgc3ltYm9sczogIC9bPT48IX4/OiZ8K1xcLSpcXC9cXF4lXSsvLFxuICogICAgIGVzY2FwZXM6IC9cXFxcKD86W2FiZm5ydHZcXFxcXCInXXx4WzAtOUEtRmEtZl17MSw0fXx1WzAtOUEtRmEtZl17NH18VVswLTlBLUZhLWZdezh9KS8sXG4gKiAgICAgdG9rZW5pemVyOiB7XG4gKiAgICAgIC4uLlxuICogICAgIH1cbiAqICAgfSxcbiAqICAgc3VnZ2VzdGlvbnM6IHsgcHJvdmlkZUNvbXBsZXRpb25JdGVtczogcHJvdmlkZUNvbXBsZXRpb25JdGVtcyB9XG4gKiB9O1xuICpcbiAqIEBOZ01vZHVsZSh7XG4gKiAgIGRlY2xhcmF0aW9uczogW10sXG4gKiAgIGltcG9ydHM6IFtcbiAqICAgICBQb01vZHVsZSxcbiAqICAgICBQb0NvZGVFZGl0b3JNb2R1bGUuZm9yUmVnaXN0ZXIoY3VzdG9tRWRpdG9yKVxuICogICBdLFxuICogICBib290c3RyYXA6IFtBcHBDb21wb25lbnRdXG4gKiB9KVxuICogYGBgXG4gKlxuICogPiBBcyBjb25maWd1cmHDp8O1ZXMgcGFyYSBvIHJlZ2lzdHJvIGRlIHVtYSBub3ZhIHNpbnRheGUgbm8gTW9uYWNvIGNvZGUgZWRpdG9yIHBvZGVtIHNlciBlbmNvbnRyYWRhcyBlbVxuICogPiBbKipNb25hY28gRWRpdG9yKipdKGh0dHBzOi8vbWljcm9zb2Z0LmdpdGh1Yi5pby9tb25hY28tZWRpdG9yL3BsYXlncm91bmQuaHRtbCNleHRlbmRpbmctbGFuZ3VhZ2Utc2VydmljZXMtY3VzdG9tLWxhbmd1YWdlcykuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQb0NvZGVFZGl0b3JSZWdpc3RlciBpbXBsZW1lbnRzIFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZSB7XG4gIC8qKiBTaW50YXhlIGEgc2VyIHJlZ2lzdHJhZGEuICovXG4gIGxhbmd1YWdlOiBzdHJpbmc7XG5cbiAgLyoqIE9ww6fDtWVzIGRhIHNpbnRheGUgcGFyYSByZWdpc3RybyBubyBwby1jb2RlLWVkaXRvci4gKi9cbiAgb3B0aW9uczogUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlT3B0aW9ucztcblxuICAvKiogTGlzdGEgZGUgc3VnZXN0w7VlcyBwYXJhIGEgZnVuw6fDo28gZGUgYXV0b2NvbXBsZXRlIChDVFJMICsgU1BBQ0UpLiAqL1xuICBzdWdnZXN0aW9ucz86IFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZVN1Z2dlc3Rpb25UeXBlO1xufVxuIl19
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class PoCodeEditorSuggestionService {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.suggestions = {};
|
|
6
|
+
}
|
|
7
|
+
getSuggestion(language, newSuggestion) {
|
|
8
|
+
if (this.suggestions[language]) {
|
|
9
|
+
const deduplicateSuggestions = this.deduplicateSuggestions(this.suggestions[language], newSuggestion);
|
|
10
|
+
this.suggestions[language] = [...this.suggestions[language], ...deduplicateSuggestions];
|
|
11
|
+
return deduplicateSuggestions;
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
return (this.suggestions[language] = [...newSuggestion]);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
deduplicateSuggestions(originalSuggestions, newSuggestions) {
|
|
18
|
+
return newSuggestions.filter(newItem => !originalSuggestions.find(originalItem => originalItem['label'] === newItem['label']));
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
PoCodeEditorSuggestionService.ɵfac = function PoCodeEditorSuggestionService_Factory(t) { return new (t || PoCodeEditorSuggestionService)(); };
|
|
22
|
+
PoCodeEditorSuggestionService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PoCodeEditorSuggestionService, factory: PoCodeEditorSuggestionService.ɵfac, providedIn: 'root' });
|
|
23
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoCodeEditorSuggestionService, [{
|
|
24
|
+
type: Injectable,
|
|
25
|
+
args: [{
|
|
26
|
+
providedIn: 'root'
|
|
27
|
+
}]
|
|
28
|
+
}], function () { return []; }, null); })();
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tY29kZS1lZGl0b3Itc3VnZ2VzdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29kZS1lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL3BvLWNvZGUtZWRpdG9yLXN1Z2dlc3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVMzQyxNQUFNLE9BQU8sNkJBQTZCO0lBRXhDO1FBRFEsZ0JBQVcsR0FBK0IsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFVCxhQUFhLENBQUMsUUFBZ0IsRUFBRSxhQUF3RDtRQUM3RixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDOUIsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUN0RyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEdBQUcsc0JBQXNCLENBQUMsQ0FBQztZQUN4RixPQUFPLHNCQUFzQixDQUFDO1NBQy9CO2FBQU07WUFDTCxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQztTQUMxRDtJQUNILENBQUM7SUFFTyxzQkFBc0IsQ0FDNUIsbUJBQThELEVBQzlELGNBQXlEO1FBRXpELE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FDMUIsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FDakcsQ0FBQztJQUNKLENBQUM7OzBHQXJCVSw2QkFBNkI7bUZBQTdCLDZCQUE2QixXQUE3Qiw2QkFBNkIsbUJBRjVCLE1BQU07dUZBRVAsNkJBQTZCO2NBSHpDLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFBvQ29kZUVkaXRvclN1Z2dlc3Rpb25MaXN0LFxuICBQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGVTdWdnZXN0aW9uXG59IGZyb20gJy4vaW50ZXJmYWNlcy9wby1jb2RlLWVkaXRvci1yZWdpc3RlcmFibGUtc3VnZ2VzdGlvbi5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQb0NvZGVFZGl0b3JTdWdnZXN0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgc3VnZ2VzdGlvbnM6IFBvQ29kZUVkaXRvclN1Z2dlc3Rpb25MaXN0ID0ge307XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBwdWJsaWMgZ2V0U3VnZ2VzdGlvbihsYW5ndWFnZTogc3RyaW5nLCBuZXdTdWdnZXN0aW9uOiBBcnJheTxQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGVTdWdnZXN0aW9uPikge1xuICAgIGlmICh0aGlzLnN1Z2dlc3Rpb25zW2xhbmd1YWdlXSkge1xuICAgICAgY29uc3QgZGVkdXBsaWNhdGVTdWdnZXN0aW9ucyA9IHRoaXMuZGVkdXBsaWNhdGVTdWdnZXN0aW9ucyh0aGlzLnN1Z2dlc3Rpb25zW2xhbmd1YWdlXSwgbmV3U3VnZ2VzdGlvbik7XG4gICAgICB0aGlzLnN1Z2dlc3Rpb25zW2xhbmd1YWdlXSA9IFsuLi50aGlzLnN1Z2dlc3Rpb25zW2xhbmd1YWdlXSwgLi4uZGVkdXBsaWNhdGVTdWdnZXN0aW9uc107XG4gICAgICByZXR1cm4gZGVkdXBsaWNhdGVTdWdnZXN0aW9ucztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICh0aGlzLnN1Z2dlc3Rpb25zW2xhbmd1YWdlXSA9IFsuLi5uZXdTdWdnZXN0aW9uXSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkZWR1cGxpY2F0ZVN1Z2dlc3Rpb25zKFxuICAgIG9yaWdpbmFsU3VnZ2VzdGlvbnM6IEFycmF5PFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZVN1Z2dlc3Rpb24+LFxuICAgIG5ld1N1Z2dlc3Rpb25zOiBBcnJheTxQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGVTdWdnZXN0aW9uPlxuICApIHtcbiAgICByZXR1cm4gbmV3U3VnZ2VzdGlvbnMuZmlsdGVyKFxuICAgICAgbmV3SXRlbSA9PiAhb3JpZ2luYWxTdWdnZXN0aW9ucy5maW5kKG9yaWdpbmFsSXRlbSA9PiBvcmlnaW5hbEl0ZW1bJ2xhYmVsJ10gPT09IG5ld0l0ZW1bJ2xhYmVsJ10pXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { Component,
|
|
1
|
+
import { Component, forwardRef, ViewChild } from '@angular/core';
|
|
2
2
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
3
|
import { PoCodeEditorBaseComponent } from './po-code-editor-base.component';
|
|
4
|
-
import
|
|
5
|
-
import
|
|
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"];
|
|
6
8
|
// variáveis relacionadas ao Monaco
|
|
7
9
|
let loadedMonaco = false;
|
|
8
10
|
let loadPromise;
|
|
@@ -206,20 +208,22 @@ export class PoCodeEditorComponent extends PoCodeEditorBaseComponent {
|
|
|
206
208
|
}
|
|
207
209
|
}
|
|
208
210
|
}
|
|
209
|
-
PoCodeEditorComponent
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
]
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tY29kZS1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29kZS1lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL3BvLWNvZGUtZWRpdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBVyxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDdkgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFekUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFcEYsbUNBQW1DO0FBQ25DLElBQUksWUFBWSxHQUFZLEtBQUssQ0FBQztBQUNsQyxJQUFJLFdBQTBCLENBQUM7QUFNL0IsMEJBQTBCO0FBQzFCLE1BQU0sU0FBUyxHQUFvQjtJQUNqQztRQUNFLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsMkJBQTJCO1FBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUM7UUFDcEQsS0FBSyxFQUFFLElBQUk7S0FDWjtDQUNGLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCRztBQU1ILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx5QkFBeUI7SUFLbEUsWUFDVSxJQUFZLEVBQ1osRUFBYyxFQUNkLDZCQUE0RCxFQUM1RCxrQkFBeUM7UUFFakQsS0FBSyxFQUFFLENBQUM7UUFMQSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGtD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b3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBEb0NoZWNrLCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBOZ1pvbmUsIFZpZXdDaGlsZCwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBQb0NvZGVFZGl0b3JCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1jb2RlLWVkaXRvci1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb0NvZGVFZGl0b3JSZWdpc3RlciB9IGZyb20gJy4vcG8tY29kZS1lZGl0b3ItcmVnaXN0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGVTdWdnZXN0aW9uIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLWNvZGUtZWRpdG9yLXJlZ2lzdGVyYWJsZS1zdWdnZXN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb0NvZGVFZGl0b3JTdWdnZXN0aW9uU2VydmljZSB9IGZyb20gJy4vcG8tY29kZS1lZGl0b3Itc3VnZ2VzdGlvbi5zZXJ2aWNlJztcblxuLy8gdmFyacOhdmVpcyByZWxhY2lvbmFkYXMgYW8gTW9uYWNvXG5sZXQgbG9hZGVkTW9uYWNvOiBib29sZWFuID0gZmFsc2U7XG5sZXQgbG9hZFByb21pc2U6IFByb21pc2U8dm9pZD47XG5cbmRlY2xhcmUgY29uc3QgbW9uYWNvOiBhbnk7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbmRlY2xhcmUgY29uc3QgcmVxdWlyZTogYW55O1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuY29uc3QgcHJvdmlkZXJzOiBBcnJheTxQcm92aWRlcj4gPSBbXG4gIHtcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQb0NvZGVFZGl0b3JDb21wb25lbnQpLFxuICAgIG11bHRpOiB0cnVlXG4gIH1cbl07XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvQ29kZUVkaXRvckJhc2VDb21wb25lbnRcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1jb2RlLWVkaXRvci1iYXNpY1wiIHRpdGxlPVwiUE8gQ29kZSBFZGl0b3IgQmFzaWNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWNvZGUtZWRpdG9yLWJhc2ljL3NhbXBsZS1wby1jb2RlLWVkaXRvci1iYXNpYy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci1iYXNpYy9zYW1wbGUtcG8tY29kZS1lZGl0b3ItYmFzaWMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tY29kZS1lZGl0b3ItbGFic1wiIHRpdGxlPVwiUE8gQ29kZSBFZGl0b3IgTGFic1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tY29kZS1lZGl0b3ItbGFicy9zYW1wbGUtcG8tY29kZS1lZGl0b3ItbGFicy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci1sYWJzL3NhbXBsZS1wby1jb2RlLWVkaXRvci1sYWJzLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLWNvZGUtZWRpdG9yLWRpZmZcIiB0aXRsZT1cIlBPIENvZGUgRWRpdG9yIC0gRGlmZlwiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tY29kZS1lZGl0b3ItZGlmZi9zYW1wbGUtcG8tY29kZS1lZGl0b3ItZGlmZi5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci1kaWZmL3NhbXBsZS1wby1jb2RlLWVkaXRvci1kaWZmLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLWNvZGUtZWRpdG9yLXRlcnJhZm9ybVwiIHRpdGxlPVwiUE8gQ29kZSBFZGl0b3IgLSBUZXJyYWZvcm1cIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWNvZGUtZWRpdG9yLXRlcnJhZm9ybS9zYW1wbGUtcG8tY29kZS1lZGl0b3ItdGVycmFmb3JtLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWNvZGUtZWRpdG9yLXRlcnJhZm9ybS9zYW1wbGUtcG8tY29kZS1lZGl0b3ItdGVycmFmb3JtLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci10ZXJyYWZvcm0vc2FtcGxlLXBvLWNvZGUtZWRpdG9yLXRlcnJhZm9ybS5jb25zdGFudC50c1wiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci10ZXJyYWZvcm0vc2FtcGxlLXBvLWNvZGUtZWRpdG9yLXRlcnJhZm9ybS5tb2R1bGUudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1jb2RlLWVkaXRvci1zdWdnZXN0aW9uXCIgdGl0bGU9XCJQTyBDb2RlIEVkaXRvciBTdWdnZXN0aW9uXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci1zdWdnZXN0aW9uL3NhbXBsZS1wby1jb2RlLWVkaXRvci1zdWdnZXN0aW9uLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWNvZGUtZWRpdG9yLXN1Z2dlc3Rpb24vc2FtcGxlLXBvLWNvZGUtZWRpdG9yLXN1Z2dlc3Rpb24uY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tY29kZS1lZGl0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tY29kZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnNcbn0pXG5leHBvcnQgY2xhc3MgUG9Db2RlRWRpdG9yQ29tcG9uZW50IGV4dGVuZHMgUG9Db2RlRWRpdG9yQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIERvQ2hlY2sge1xuICBAVmlld0NoaWxkKCdlZGl0b3JDb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBlZGl0b3JDb250YWluZXI6IEVsZW1lbnRSZWY7XG5cbiAgY2FuTG9hZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgem9uZTogTmdab25lLFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBwb0NvZGVFZGl0b3JTdWdnZXN0aW9uU2VydmljZTogUG9Db2RlRWRpdG9yU3VnZ2VzdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb2RlRWRpdG9yUmVnaXN0ZXI/OiBQb0NvZGVFZGl0b3JSZWdpc3RlclxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmIChsb2FkZWRNb25hY28pIHtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICBsb2FkUHJvbWlzZS50aGVuKCgpID0+IHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCkge1xuICAgICAgICAgICAgdGhpcy5yZWdpc3RlckN1c3RvbUxhbmd1YWdlKCk7XG4gICAgICAgICAgICB0aGlzLmluaXRNb25hY28odGhpcy5nZXRPcHRpb25zKCkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNhbkxvYWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9hZGVkTW9uYWNvID0gdHJ1ZTtcbiAgICAgIGxvYWRQcm9taXNlID0gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmU6IGFueSkgPT4ge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICBjb25zdCBvbkdvdEFtZExvYWRlcjogYW55ID0gKCkgPT4ge1xuICAgICAgICAgICg8YW55PndpbmRvdykucmVxdWlyZS5jb25maWcoeyBwYXRoczogeyAndnMnOiAnLi9hc3NldHMvbW9uYWNvL3ZzJyB9IH0pO1xuICAgICAgICAgICg8YW55PndpbmRvdykucmVxdWlyZShbJ3ZzL2VkaXRvci9lZGl0b3IubWFpbiddLCAoKSA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHRoaXMuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJDdXN0b21MYW5ndWFnZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuaW5pdE1vbmFjbyh0aGlzLmdldE9wdGlvbnMoKSk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYW5Mb2FkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoISg8YW55PndpbmRvdykucmVxdWlyZSkge1xuICAgICAgICAgIGNvbnN0IGxvYWRlclNjcmlwdDogSFRNTFNjcmlwdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgICBsb2FkZXJTY3JpcHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xuICAgICAgICAgIGxvYWRlclNjcmlwdC5zcmMgPSAnLi9hc3NldHMvbW9uYWNvL3ZzL2xvYWRlci5qcyc7XG4gICAgICAgICAgbG9hZGVyU2NyaXB0LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBvbkdvdEFtZExvYWRlcik7XG4gICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsb2FkZXJTY3JpcHQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ0RvQ2hlY2soKSB7XG4gICAgaWYgKHRoaXMuY2FuTG9hZCAmJiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgpIHtcbiAgICAgIHRoaXMucmVnaXN0ZXJDdXN0b21MYW5ndWFnZSgpO1xuICAgICAgdGhpcy5pbml0TW9uYWNvKHRoaXMuZ2V0T3B0aW9ucygpKTtcbiAgICAgIHRoaXMuY2FuTG9hZCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIG1vbmFjb0NyZWF0ZU1vZGVsKHZhbHVlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbW9uYWNvLmVkaXRvci5jcmVhdGVNb2RlbCh2YWx1ZSk7XG4gIH1cblxuICBzZXRWYWx1ZUluRWRpdG9yKCkge1xuICAgIGlmICh0aGlzLnNob3dEaWZmKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZWRpdG9yKSB7XG4gICAgICAgICAgdGhpcy5lZGl0b3Iuc2V0TW9kZWwoe1xuICAgICAgICAgICAgb3JpZ2luYWw6IHRoaXMubW9uYWNvQ3JlYXRlTW9kZWwodGhpcy52YWx1ZSksXG4gICAgICAgICAgICBtb2RpZmllZDogdGhpcy5tb25hY29DcmVhdGVNb2RlbCh0aGlzLm1vZGlmaWVkVmFsdWUpXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZWRpdG9yKSB7XG4gICAgICAgICAgdGhpcy5lZGl0b3Iuc2V0VmFsdWUodGhpcy52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNldExhbmd1YWdlKGxhbmd1YWdlOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5zaG93RGlmZikge1xuICAgICAgdGhpcy5zZXRNb25hY29MYW5ndWFnZSh0aGlzLmVkaXRvci5nZXRNb2RlbCgpLm9yaWdpbmFsLCBsYW5ndWFnZSk7XG4gICAgICB0aGlzLnNldE1vbmFjb0xhbmd1YWdlKHRoaXMuZWRpdG9yLmdldE1vZGVsKCkubW9kaWZpZWQsIGxhbmd1YWdlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRNb25hY29MYW5ndWFnZSh0aGlzLmVkaXRvci5nZXRNb2RlbCgpLCBsYW5ndWFnZSk7XG4gICAgfVxuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgc2V0VGhlbWUodGhlbWU6IHN0cmluZykge1xuICAgIG1vbmFjby5lZGl0b3Iuc2V0VGhlbWUodGhlbWUpO1xuICB9XG5cbiAgc2V0UmVhZE9ubHkocmVhZE9ubHk6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmVkaXRvci51cGRhdGVPcHRpb25zKHsgcmVhZE9ubHk6IHJlYWRPbmx5IH0pO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgc2V0U3VnZ2VzdGlvbnMobmV3U3VnZ2VzdGlvbnM6IEFycmF5PFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZVN1Z2dlc3Rpb24+LCBsYW5ndWFnZSA9IHRoaXMubGFuZ3VhZ2UpIHtcbiAgICBpZiAoIW5ld1N1Z2dlc3Rpb25zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc3VnZ2VzdGlvbnMgPSB0aGlzLnBvQ29kZUVkaXRvclN1Z2dlc3Rpb25TZXJ2aWNlLmdldFN1Z2dlc3Rpb24obGFuZ3VhZ2UsIG5ld1N1Z2dlc3Rpb25zKTtcblxuICAgIG1vbmFjby5sYW5ndWFnZXMucmVnaXN0ZXJDb21wbGV0aW9uSXRlbVByb3ZpZGVyKGxhbmd1YWdlLCB7XG4gICAgICBwcm92aWRlQ29tcGxldGlvbkl0ZW1zOiAoKSA9PiAoeyBzdWdnZXN0aW9ucyB9KVxuICAgIH0pO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZSkge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZSAmJiB2YWx1ZSBpbnN0YW5jZW9mIEFycmF5ID8gdmFsdWVbMF0gOiB2YWx1ZTtcbiAgICB0aGlzLm1vZGlmaWVkVmFsdWUgPSB2YWx1ZSAmJiB2YWx1ZSBpbnN0YW5jZW9mIEFycmF5ICYmIHZhbHVlLmxlbmd0aCA+IDAgPyB2YWx1ZVsxXSA6ICcnO1xuICAgIHRoaXMuc2V0VmFsdWVJbkVkaXRvcigpO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHJpdmF0ZSBpbml0TW9uYWNvKG9wdGlvbnM6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNob3dEaWZmKSB7XG4gICAgICB0aGlzLmVkaXRvciA9IG1vbmFjby5lZGl0b3IuY3JlYXRlRGlmZkVkaXRvcih0aGlzLmVkaXRvckNvbnRhaW5lci5uYXRpdmVFbGVtZW50LCBvcHRpb25zKTtcblxuICAgICAgdGhpcy5lZGl0b3Iuc2V0TW9kZWwoe1xuICAgICAgICBvcmlnaW5hbDogbW9uYWNvLmVkaXRvci5jcmVhdGVNb2RlbCh0aGlzLnZhbHVlKSxcbiAgICAgICAgbW9kaWZpZWQ6IG1vbmFjby5lZGl0b3IuY3JlYXRlTW9kZWwodGhpcy5tb2RpZmllZFZhbHVlKVxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuZWRpdG9yLm9uRGlkVXBkYXRlRGlmZigoZTogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IG9yaWdpbmFsID0gdGhpcy5lZGl0b3IuZ2V0TW9kZWwoKS5vcmlnaW5hbC5nZXRWYWx1ZSgpO1xuICAgICAgICBjb25zdCBtb2RpZmllZCA9IHRoaXMuZWRpdG9yLmdldE1vZGVsKCkubW9kaWZpZWQuZ2V0VmFsdWUoKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZVByb3BhZ2F0ZShbb3JpZ2luYWwsIG1vZGlmaWVkXSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lZGl0b3IgPSBtb25hY28uZWRpdG9yLmNyZWF0ZSh0aGlzLmVkaXRvckNvbnRhaW5lci5uYXRpdmVFbGVtZW50LCBvcHRpb25zKTtcbiAgICAgIHRoaXMuZWRpdG9yLnNldFZhbHVlKHRoaXMudmFsdWUpO1xuICAgICAgdGhpcy5lZGl0b3Iub25EaWRDaGFuZ2VNb2RlbENvbnRlbnQoKGU6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZWRpdG9yLmdldFZhbHVlKCk7XG4gICAgICAgIHRoaXMub25DaGFuZ2VQcm9wYWdhdGUodmFsdWUpO1xuICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+ICh0aGlzLnZhbHVlID0gdmFsdWUpKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2V0TGFuZ3VhZ2UodGhpcy5sYW5ndWFnZSk7XG4gICAgICB0aGlzLnNldFN1Z2dlc3Rpb25zKHRoaXMuc3VnZ2VzdGlvbnMpO1xuICAgIH0sIDUwMCk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwcml2YXRlIHNldE1vbmFjb0xhbmd1YWdlKG1vZGVsLCBsYW5ndWFnZSkge1xuICAgIG1vbmFjby5lZGl0b3Iuc2V0TW9kZWxMYW5ndWFnZShtb2RlbCwgbGFuZ3VhZ2UpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlckN1c3RvbUxhbmd1YWdlKCkge1xuICAgIGlmICh0aGlzLmNvZGVFZGl0b3JSZWdpc3Rlci5sYW5ndWFnZSkge1xuICAgICAgbW9uYWNvLmxhbmd1YWdlcy5yZWdpc3Rlcih7IGlkOiB0aGlzLmNvZGVFZGl0b3JSZWdpc3Rlci5sYW5ndWFnZSB9KTtcblxuICAgICAgaWYgKHRoaXMuY29kZUVkaXRvclJlZ2lzdGVyLm9wdGlvbnMpIHtcbiAgICAgICAgbW9uYWNvLmxhbmd1YWdlcy5zZXRNb25hcmNoVG9rZW5zUHJvdmlkZXIodGhpcy5jb2RlRWRpdG9yUmVnaXN0ZXIubGFuZ3VhZ2UsIHRoaXMuY29kZUVkaXRvclJlZ2lzdGVyLm9wdGlvbnMpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5jb2RlRWRpdG9yUmVnaXN0ZXIuc3VnZ2VzdGlvbnMpIHtcbiAgICAgICAgdGhpcy5zZXRTdWdnZXN0aW9ucyhcbiAgICAgICAgICB0aGlzLmNvZGVFZGl0b3JSZWdpc3Rlci5zdWdnZXN0aW9ucy5wcm92aWRlQ29tcGxldGlvbkl0ZW1zKCkuc3VnZ2VzdGlvbnMsXG4gICAgICAgICAgdGhpcy5jb2RlRWRpdG9yUmVnaXN0ZXIubGFuZ3VhZ2VcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tY29kZS1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29kZS1lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL3BvLWNvZGUtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvZGUtZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9wby1jb2RlLWVkaXRvci9wby1jb2RlLWVkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBdUIsVUFBVSxFQUFVLFNBQVMsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUN2SCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7QUFLNUUsbUNBQW1DO0FBQ25DLElBQUksWUFBWSxHQUFZLEtBQUssQ0FBQztBQUNsQyxJQUFJLFdBQTBCLENBQUM7QUFNL0IsMEJBQTBCO0FBQzFCLE1BQU0sU0FBUyxHQUFvQjtJQUNqQztRQUNFLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsMkJBQTJCO1FBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUM7UUFDcEQsS0FBSyxFQUFFLElBQUk7S0FDWjtDQUNGLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCRztBQU1ILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx5QkFBeUI7SUFLbEUsWUFDVSxJQUFZLEVBQ1osRUFBYyxFQUNkLDZCQUE0RCxFQUM1RCxrQkFBeUM7UUFFakQsS0FBSyxFQUFFLENBQUM7UUFMQSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGtD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ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRG9DaGVjaywgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgTmdab25lLCBWaWV3Q2hpbGQsIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgUG9Db2RlRWRpdG9yQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vcG8tY29kZS1lZGl0b3ItYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9Db2RlRWRpdG9yUmVnaXN0ZXIgfSBmcm9tICcuL3BvLWNvZGUtZWRpdG9yLXJlZ2lzdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlU3VnZ2VzdGlvbiB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1jb2RlLWVkaXRvci1yZWdpc3RlcmFibGUtc3VnZ2VzdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9Db2RlRWRpdG9yU3VnZ2VzdGlvblNlcnZpY2UgfSBmcm9tICcuL3BvLWNvZGUtZWRpdG9yLXN1Z2dlc3Rpb24uc2VydmljZSc7XG5cbi8vIHZhcmnDoXZlaXMgcmVsYWNpb25hZGFzIGFvIE1vbmFjb1xubGV0IGxvYWRlZE1vbmFjbzogYm9vbGVhbiA9IGZhbHNlO1xubGV0IGxvYWRQcm9taXNlOiBQcm9taXNlPHZvaWQ+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==
|
|
File without changes
|
|
@@ -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==
|
|
File without changes
|