@po-ui/ng-code-editor 14.12.2 → 15.0.0-next.1
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/README.md +20 -20
- package/esm2020/lib/components/po-code-editor/interfaces/po-code-editor-registerable-options.interface.mjs +2 -2
- package/esm2020/lib/components/po-code-editor/interfaces/po-code-editor-registerable-suggestion.interface.mjs +2 -2
- package/esm2020/lib/components/po-code-editor/interfaces/po-code-editor-registerable-tokens.interface.mjs +2 -2
- package/esm2020/lib/components/po-code-editor/interfaces/po-code-editor-registerable.interface.mjs +2 -2
- package/esm2020/lib/components/po-code-editor/po-code-editor-base.component.mjs +261 -261
- package/esm2020/lib/components/po-code-editor/po-code-editor-register.service.mjs +66 -66
- package/esm2020/lib/components/po-code-editor/po-code-editor-suggestion.service.mjs +29 -29
- package/esm2020/lib/components/po-code-editor/po-code-editor.component.mjs +229 -229
- package/esm2020/lib/components/po-code-editor/po-code-editor.module.mjs +37 -37
- package/esm2020/lib/index.mjs +4 -4
- package/esm2020/po-ui-ng-code-editor.mjs +4 -4
- package/esm2020/public-api.mjs +2 -2
- package/fesm2015/po-ui-ng-code-editor.mjs +614 -613
- package/fesm2015/po-ui-ng-code-editor.mjs.map +1 -1
- package/fesm2020/po-ui-ng-code-editor.mjs +598 -597
- package/fesm2020/po-ui-ng-code-editor.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/components/po-code-editor/interfaces/po-code-editor-registerable-options.interface.d.ts +22 -22
- package/lib/components/po-code-editor/interfaces/po-code-editor-registerable-suggestion.interface.d.ts +37 -37
- package/lib/components/po-code-editor/interfaces/po-code-editor-registerable-tokens.interface.d.ts +21 -21
- package/lib/components/po-code-editor/interfaces/po-code-editor-registerable.interface.d.ts +17 -17
- package/lib/components/po-code-editor/po-code-editor-base.component.d.ts +194 -194
- package/lib/components/po-code-editor/po-code-editor-register.service.d.ts +70 -70
- package/lib/components/po-code-editor/po-code-editor-suggestion.service.d.ts +10 -10
- package/lib/components/po-code-editor/po-code-editor.component.d.ts +61 -61
- package/lib/components/po-code-editor/po-code-editor.module.d.ts +16 -16
- package/lib/index.d.ts +7 -7
- package/package.json +8 -8
- package/po-ui-ng-code-editor-15.0.0-next.1.tgz +0 -0
- package/public-api.d.ts +1 -1
- package/schematics/README.md +98 -98
- package/schematics/collection.json +10 -10
- package/schematics/ng-add/index.d.ts +10 -10
- package/schematics/ng-add/index.js +38 -38
- package/schematics/ng-add/index.spec.d.ts +1 -1
- package/schematics/ng-add/index.spec.js +113 -113
- package/schematics/ng-add/schema.json +16 -16
- package/po-ui-ng-code-editor-14.12.2.tgz +0 -0
|
@@ -1,66 +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,
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tY29kZS1lZGl0b3ItcmVnaXN0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvZGUtZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9wby1jb2RlLWVkaXRvci9wby1jb2RlLWVkaXRvci1yZWdpc3Rlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdURHO0FBRUgsTUFBTSxPQUFPLG9CQUFvQjs7d0ZBQXBCLG9CQUFvQjswRUFBcEIsb0JBQW9CLFdBQXBCLG9CQUFvQjt1RkFBcEIsb0JBQW9CO2NBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGUgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tY29kZS1lZGl0b3ItcmVnaXN0ZXJhYmxlLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZU9wdGlvbnMgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tY29kZS1lZGl0b3ItcmVnaXN0ZXJhYmxlLW9wdGlvbnMuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlU3VnZ2VzdGlvblR5cGUgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tY29kZS1lZGl0b3ItcmVnaXN0ZXJhYmxlLXN1Z2dlc3Rpb24uaW50ZXJmYWNlJztcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICpcclxuICogV3JhcHBlciBwYXJhIHJlZ2lzdHJvIGRlIHNpbnRheGVzIGN1c3RvbWl6YWRhcyBwYXJhIG8gcG8tY29kZS1lZGl0b3IuXHJcbiAqXHJcbiAqIFBhcmEgdXRpbGl6YcOnw6NvIGRvIHNlcnZpw6dvIGRlIGlkaW9tYXMgKipQb0NvZGVFZGl0b3JSZWdpc3RlcioqLFxyXG4gKiBkZXZlLXNlIGltcG9ydGFyIG8gbcOzZHVsbyBQb0NvZGVFZGl0b3JNb2R1bGUgbWVzbW8gasOhIHRlbmRvIGltcG9ydGFkb1xyXG4gKiBvIG3Ds2R1bG8gUG9Nb2R1bGUuXHJcbiAqIE5hIGltcG9ydGHDp8OjbyBvcGNpb25hbG1lbnRlIHBvZGUgc2VyIGludm9jYWRvIG8gbcOpdG9kbyAqKmZvclJlZ2lzdGVyKiogaW5mb3JtYW5kbyB1bSBvYmpldG8gcGFyYSBjb25maWd1cmHDp8Ojby5cclxuICpcclxuICogRXhlbXBsbyBkZSBjb25maWd1cmHDp8OjbzpcclxuICogYGBgXHJcbiAqIGltcG9ydCB7IFBvQ29kZUVkaXRvck1vZHVsZSwgUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlIH0gZnJvbSAnQHBvLXVpL25nLWNvZGUtZWRpdG9yJztcclxuICpcclxuICogZGVjbGFyZSBjb25zdCBtb25hY286IGFueTsgLy8gSW1wb3J0YW50ZSBwYXJhIHVzYXIgY29uZmlndXJhw6fDtWVzIGNvbSB0aXBvcyBkZWZpbmlkb3MgcGVsbyBNb25hY29cclxuICpcclxuICogLy8gQSBmdW7Dp8OjbyBgcHJvdmlkZUNvbXBsZXRpb25JdGVtc2AgcHJlY2lzYSBzZXIgZXhwb3J0YWRhIHBhcmEgc2VyIGNvbXBhdMOtdmVsIGNvbSBBT1QuXHJcbiAqIGV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQ29tcGxldGlvbkl0ZW1zKCkge1xyXG4gKiAgIGNvbnN0IHN1Z2dlc3Rpb25zID0gW3tcclxuICogICAgIGxhYmVsOiAndGVycmFmb3JtJyxcclxuICogICAgIGluc2VydFRleHQ6ICcjdGVycmFmb3JtIGxhbmd1YWdlJ1xyXG4gKiAgIH0sIHtcclxuICogICAgIGxhYmVsOiAnc2VydmVyJyxcclxuICogICAgIGluc2VydFRleHQ6ICdzZXJ2ZXIgJHsxOmlwfSdcclxuICogICB9XTtcclxuICpcclxuICogICByZXR1cm4geyBzdWdnZXN0aW9uczogc3VnZ2VzdGlvbnMgfTtcclxuICogfVxyXG4gKlxyXG4gKiBjb25zdCBjdXN0b21FZGl0b3I6IFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZSA9IHtcclxuICogICBsYW5ndWFnZTogJ3RlcnJhZm9ybScsXHJcbiAqICAgb3B0aW9uczoge1xyXG4gKiAgICAga2V5d29yZHM6IFsncmVzb3VyY2UnLCAncHJvdmlkZXInLCAndmFyaWFibGUnLCAnb3V0cHV0JywgJ21vZHVsZScsICd0cnVlJywgJ2ZhbHNlJ10sXHJcbiAqICAgICBvcGVyYXRvcnM6IFsneycsICd9JywgJygnLCAnKScsICdbJywgJ10nLCAnPycsICc6J10sXHJcbiAqICAgICBzeW1ib2xzOiAgL1s9Pjwhfj86JnwrXFwtKlxcL1xcXiVdKy8sXHJcbiAqICAgICBlc2NhcGVzOiAvXFxcXCg/OlthYmZucnR2XFxcXFwiJ118eFswLTlBLUZhLWZdezEsNH18dVswLTlBLUZhLWZdezR9fFVbMC05QS1GYS1mXXs4fSkvLFxyXG4gKiAgICAgdG9rZW5pemVyOiB7XHJcbiAqICAgICAgLi4uXHJcbiAqICAgICB9XHJcbiAqICAgfSxcclxuICogICBzdWdnZXN0aW9uczogeyBwcm92aWRlQ29tcGxldGlvbkl0ZW1zOiBwcm92aWRlQ29tcGxldGlvbkl0ZW1zIH1cclxuICogfTtcclxuICpcclxuICogQE5nTW9kdWxlKHtcclxuICogICBkZWNsYXJhdGlvbnM6IFtdLFxyXG4gKiAgIGltcG9ydHM6IFtcclxuICogICAgIFBvTW9kdWxlLFxyXG4gKiAgICAgUG9Db2RlRWRpdG9yTW9kdWxlLmZvclJlZ2lzdGVyKGN1c3RvbUVkaXRvcilcclxuICogICBdLFxyXG4gKiAgIGJvb3RzdHJhcDogW0FwcENvbXBvbmVudF1cclxuICogfSlcclxuICogYGBgXHJcbiAqXHJcbiAqID4gQXMgY29uZmlndXJhw6fDtWVzIHBhcmEgbyByZWdpc3RybyBkZSB1bWEgbm92YSBzaW50YXhlIG5vIE1vbmFjbyBjb2RlIGVkaXRvciBwb2RlbSBzZXIgZW5jb250cmFkYXMgZW1cclxuICogPiBbKipNb25hY28gRWRpdG9yKipdKGh0dHBzOi8vbWljcm9zb2Z0LmdpdGh1Yi5pby9tb25hY28tZWRpdG9yL3BsYXlncm91bmQuaHRtbCNleHRlbmRpbmctbGFuZ3VhZ2Utc2VydmljZXMtY3VzdG9tLWxhbmd1YWdlcykuXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBQb0NvZGVFZGl0b3JSZWdpc3RlciBpbXBsZW1lbnRzIFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZSB7XHJcbiAgLyoqIFNpbnRheGUgYSBzZXIgcmVnaXN0cmFkYS4gKi9cclxuICBsYW5ndWFnZTogc3RyaW5nO1xyXG5cclxuICAvKiogT3DDp8O1ZXMgZGEgc2ludGF4ZSBwYXJhIHJlZ2lzdHJvIG5vIHBvLWNvZGUtZWRpdG9yLiAqL1xyXG4gIG9wdGlvbnM6IFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZU9wdGlvbnM7XHJcblxyXG4gIC8qKiBMaXN0YSBkZSBzdWdlc3TDtWVzIHBhcmEgYSBmdW7Dp8OjbyBkZSBhdXRvY29tcGxldGUgKENUUkwgKyBTUEFDRSkuICovXHJcbiAgc3VnZ2VzdGlvbnM/OiBQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGVTdWdnZXN0aW9uVHlwZTtcclxufVxyXG4iXX0=
|
|
@@ -1,29 +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,
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tY29kZS1lZGl0b3Itc3VnZ2VzdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29kZS1lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL3BvLWNvZGUtZWRpdG9yLXN1Z2dlc3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVMzQyxNQUFNLE9BQU8sNkJBQTZCO0lBRXhDO1FBRFEsZ0JBQVcsR0FBK0IsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFVCxhQUFhLENBQUMsUUFBZ0IsRUFBRSxhQUF3RDtRQUM3RixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDOUIsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUN0RyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEdBQUcsc0JBQXNCLENBQUMsQ0FBQztZQUN4RixPQUFPLHNCQUFzQixDQUFDO1NBQy9CO2FBQU07WUFDTCxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQztTQUMxRDtJQUNILENBQUM7SUFFTyxzQkFBc0IsQ0FDNUIsbUJBQThELEVBQzlELGNBQXlEO1FBRXpELE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FDMUIsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FDakcsQ0FBQztJQUNKLENBQUM7OzBHQXJCVSw2QkFBNkI7bUZBQTdCLDZCQUE2QixXQUE3Qiw2QkFBNkIsbUJBRjVCLE1BQU07dUZBRVAsNkJBQTZCO2NBSHpDLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBQb0NvZGVFZGl0b3JTdWdnZXN0aW9uTGlzdCxcclxuICBQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGVTdWdnZXN0aW9uXHJcbn0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLWNvZGUtZWRpdG9yLXJlZ2lzdGVyYWJsZS1zdWdnZXN0aW9uLmludGVyZmFjZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQb0NvZGVFZGl0b3JTdWdnZXN0aW9uU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBzdWdnZXN0aW9uczogUG9Db2RlRWRpdG9yU3VnZ2VzdGlvbkxpc3QgPSB7fTtcclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIHB1YmxpYyBnZXRTdWdnZXN0aW9uKGxhbmd1YWdlOiBzdHJpbmcsIG5ld1N1Z2dlc3Rpb246IEFycmF5PFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZVN1Z2dlc3Rpb24+KSB7XHJcbiAgICBpZiAodGhpcy5zdWdnZXN0aW9uc1tsYW5ndWFnZV0pIHtcclxuICAgICAgY29uc3QgZGVkdXBsaWNhdGVTdWdnZXN0aW9ucyA9IHRoaXMuZGVkdXBsaWNhdGVTdWdnZXN0aW9ucyh0aGlzLnN1Z2dlc3Rpb25zW2xhbmd1YWdlXSwgbmV3U3VnZ2VzdGlvbik7XHJcbiAgICAgIHRoaXMuc3VnZ2VzdGlvbnNbbGFuZ3VhZ2VdID0gWy4uLnRoaXMuc3VnZ2VzdGlvbnNbbGFuZ3VhZ2VdLCAuLi5kZWR1cGxpY2F0ZVN1Z2dlc3Rpb25zXTtcclxuICAgICAgcmV0dXJuIGRlZHVwbGljYXRlU3VnZ2VzdGlvbnM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gKHRoaXMuc3VnZ2VzdGlvbnNbbGFuZ3VhZ2VdID0gWy4uLm5ld1N1Z2dlc3Rpb25dKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGVkdXBsaWNhdGVTdWdnZXN0aW9ucyhcclxuICAgIG9yaWdpbmFsU3VnZ2VzdGlvbnM6IEFycmF5PFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZVN1Z2dlc3Rpb24+LFxyXG4gICAgbmV3U3VnZ2VzdGlvbnM6IEFycmF5PFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZVN1Z2dlc3Rpb24+XHJcbiAgKSB7XHJcbiAgICByZXR1cm4gbmV3U3VnZ2VzdGlvbnMuZmlsdGVyKFxyXG4gICAgICBuZXdJdGVtID0+ICFvcmlnaW5hbFN1Z2dlc3Rpb25zLmZpbmQob3JpZ2luYWxJdGVtID0+IG9yaWdpbmFsSXRlbVsnbGFiZWwnXSA9PT0gbmV3SXRlbVsnbGFiZWwnXSlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|