@seniorsistemas/angular-components 14.10.0 → 14.10.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/bundles/seniorsistemas-angular-components.umd.js +39 -361
- package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js +2 -2
- package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
- package/components/code-editor/core/facades/core-facade.d.ts +3 -1
- package/components/code-editor/infra/cores/codemirror-6/codemirror-6-core.d.ts +2 -1
- package/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/index.d.ts +0 -1
- package/components/code-editor/infra/utils/index.d.ts +0 -1
- package/esm2015/components/code-editor/core/facades/core-facade.js +15 -10
- package/esm2015/components/code-editor/core/use-cases/core-linters.js +5 -8
- package/esm2015/components/code-editor/infra/cores/codemirror-6/codemirror-6-core.js +7 -4
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/editor-languages.js +6 -3
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete.js +2 -3
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/tax-calculation.language.js +1 -3
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/index.js +1 -2
- package/esm2015/components/code-editor/infra/cores/codemirror-6/themes/editor-themes.js +6 -3
- package/esm2015/components/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-highlight-style.js +4 -4
- package/esm2015/components/code-editor/infra/utils/index.js +1 -2
- package/esm2015/components/code-editor/presentation/code-editor-component.js +3 -2
- package/esm5/components/code-editor/core/facades/core-facade.js +15 -10
- package/esm5/components/code-editor/core/use-cases/core-linters.js +5 -8
- package/esm5/components/code-editor/infra/cores/codemirror-6/codemirror-6-core.js +7 -4
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/editor-languages.js +6 -3
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete.js +2 -3
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/tax-calculation.language.js +1 -3
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/index.js +1 -2
- package/esm5/components/code-editor/infra/cores/codemirror-6/themes/editor-themes.js +6 -3
- package/esm5/components/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-highlight-style.js +4 -4
- package/esm5/components/code-editor/infra/utils/index.js +1 -2
- package/esm5/components/code-editor/presentation/code-editor-component.js +3 -2
- package/fesm2015/seniorsistemas-angular-components.js +40 -283
- package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
- package/fesm5/seniorsistemas-angular-components.js +40 -362
- package/fesm5/seniorsistemas-angular-components.js.map +1 -1
- package/package.json +1 -1
- package/seniorsistemas-angular-components.metadata.json +1 -1
- package/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/on-paste-completion-items-updater/models/index.d.ts +0 -1
- package/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/on-paste-completion-items-updater/models/interfaces/request-extra-info.d.ts +0 -4
- package/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/on-paste-completion-items-updater/on-paste-completion-items-updater.d.ts +0 -6
- package/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/update-core-completion-items.d.ts +0 -2
- package/components/code-editor/infra/linters/tax-calculation/models/index.d.ts +0 -1
- package/components/code-editor/infra/linters/tax-calculation/models/interfaces/validation.d.ts +0 -4
- package/components/code-editor/infra/linters/tax-calculation/tax-calculation-linter.d.ts +0 -11
- package/components/code-editor/infra/linters/tax-calculation/validation-compositors/index.d.ts +0 -2
- package/components/code-editor/infra/linters/tax-calculation/validation-compositors/validation-composite.d.ts +0 -6
- package/components/code-editor/infra/linters/tax-calculation/validation-compositors/validation-workers-compositor/validations-workers-composite.d.ts +0 -6
- package/components/code-editor/infra/utils/regex-index-of.d.ts +0 -8
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/on-paste-completion-items-updater/models/index.js +0 -1
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/on-paste-completion-items-updater/models/interfaces/request-extra-info.js +0 -1
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/on-paste-completion-items-updater/on-paste-completion-items-updater.js +0 -164
- package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/update-core-completion-items.js +0 -30
- package/esm2015/components/code-editor/infra/linters/tax-calculation/models/index.js +0 -1
- package/esm2015/components/code-editor/infra/linters/tax-calculation/models/interfaces/validation.js +0 -1
- package/esm2015/components/code-editor/infra/linters/tax-calculation/tax-calculation-linter.js +0 -19
- package/esm2015/components/code-editor/infra/linters/tax-calculation/validation-compositors/index.js +0 -3
- package/esm2015/components/code-editor/infra/linters/tax-calculation/validation-compositors/validation-composite.js +0 -16
- package/esm2015/components/code-editor/infra/linters/tax-calculation/validation-compositors/validation-workers-compositor/validations-workers-composite.js +0 -25
- package/esm2015/components/code-editor/infra/utils/regex-index-of.js +0 -12
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/on-paste-completion-items-updater/models/index.js +0 -1
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/on-paste-completion-items-updater/models/interfaces/request-extra-info.js +0 -1
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/on-paste-completion-items-updater/on-paste-completion-items-updater.js +0 -191
- package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/update-core-completion-items.js +0 -34
- package/esm5/components/code-editor/infra/linters/tax-calculation/models/index.js +0 -1
- package/esm5/components/code-editor/infra/linters/tax-calculation/models/interfaces/validation.js +0 -1
- package/esm5/components/code-editor/infra/linters/tax-calculation/tax-calculation-linter.js +0 -21
- package/esm5/components/code-editor/infra/linters/tax-calculation/validation-compositors/index.js +0 -3
- package/esm5/components/code-editor/infra/linters/tax-calculation/validation-compositors/validation-composite.js +0 -49
- package/esm5/components/code-editor/infra/linters/tax-calculation/validation-compositors/validation-workers-compositor/validations-workers-composite.js +0 -42
- package/esm5/components/code-editor/infra/utils/regex-index-of.js +0 -12
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./interfaces/request-extra-info";
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { Extension } from "@codemirror/state";
|
|
2
|
-
/**
|
|
3
|
-
* Adds an watcher to the paste command that updates the core's completions items
|
|
4
|
-
* @returns An extension containing everything needed to create the the updater
|
|
5
|
-
*/
|
|
6
|
-
export declare function onPasteCompletionItemsUpdater(): Extension;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./interfaces/validation";
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { LinterFacade } from "../../../core/facades/linter-facade";
|
|
2
|
-
import { Marker } from "../../../core/models";
|
|
3
|
-
/**
|
|
4
|
-
* Linter for the "TaxCalculation" Language
|
|
5
|
-
*/
|
|
6
|
-
export declare class TaxCalculationLinter implements LinterFacade {
|
|
7
|
-
private _validation;
|
|
8
|
-
constructor();
|
|
9
|
-
lint(code: string, completionItems?: string[]): Promise<Marker[]>;
|
|
10
|
-
private setValidation;
|
|
11
|
-
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { Marker } from "../../../../../core/models";
|
|
2
|
-
import { Validation } from "../../models";
|
|
3
|
-
export declare class ValidationWorkersComposite implements Validation {
|
|
4
|
-
private _validations;
|
|
5
|
-
validate(code: string, completionItems: string[]): Promise<Marker[]>;
|
|
6
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Function to get the position of the first occurrence of a regex in a string
|
|
3
|
-
* @param string The string to search into
|
|
4
|
-
* @param regex The regex to search into the string
|
|
5
|
-
* @param position The index at which to begin searching the string. If omitted, search starts at the index 0.
|
|
6
|
-
* @returns the position of the first occurrence of the informed regex.
|
|
7
|
-
*/
|
|
8
|
-
export declare function regexIndexOf(string: string, regex: RegExp, position: number): number;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9jb2RlLWVkaXRvci9pbmZyYS9jb3Jlcy9jb2RlbWlycm9yLTYvbGFuZ3VhZ2VzL3RheC1jYWxjdWxhdGlvbi9leHRlbnNpb25zL29uLXBhc3RlLWNvbXBsZXRpb24taXRlbXMtdXBkYXRlci9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qIEludGVyZmFjZXMgKi9cbmV4cG9ydCAqIGZyb20gXCIuL2ludGVyZmFjZXMvcmVxdWVzdC1leHRyYS1pbmZvXCI7XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1leHRyYS1pbmZvLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvY29kZS1lZGl0b3IvaW5mcmEvY29yZXMvY29kZW1pcnJvci02L2xhbmd1YWdlcy90YXgtY2FsY3VsYXRpb24vZXh0ZW5zaW9ucy9vbi1wYXN0ZS1jb21wbGV0aW9uLWl0ZW1zLXVwZGF0ZXIvbW9kZWxzL2ludGVyZmFjZXMvcmVxdWVzdC1leHRyYS1pbmZvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RFeHRyYUluZm8ge1xuICAgIHBhdGg6IHN0cmluZztcbiAgICBmaWx0ZXI6IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
import { keymap, } from "@codemirror/view";
|
|
2
|
-
import { AutocompleteService } from "../autocomplete/autocomplete.service";
|
|
3
|
-
import { Keywords, RequestTypes, MetaType, CompletionTypes, } from "../../models";
|
|
4
|
-
import { getLanguageConfigs, getSafeResponse, updateCoreCompletionItems } from "../../utils";
|
|
5
|
-
/**
|
|
6
|
-
* Adds an watcher to the paste command that updates the core's completions items
|
|
7
|
-
* @returns An extension containing everything needed to create the the updater
|
|
8
|
-
*/
|
|
9
|
-
export function onPasteCompletionItemsUpdater() {
|
|
10
|
-
return [
|
|
11
|
-
keymap.of([
|
|
12
|
-
{
|
|
13
|
-
key: "Ctrl-v",
|
|
14
|
-
run: searchCompletionResultsCommand,
|
|
15
|
-
}
|
|
16
|
-
])
|
|
17
|
-
];
|
|
18
|
-
}
|
|
19
|
-
let cancelLastCompletionSearch = () => { };
|
|
20
|
-
const ɵ0 = cancelLastCompletionSearch;
|
|
21
|
-
/*
|
|
22
|
-
* Must use the setTimeout for we does not have access to the code pasted on the current state, so we need to wait codemirror
|
|
23
|
-
* remake the state, also it would be way more difficult to work with the clipboard
|
|
24
|
-
*/
|
|
25
|
-
function searchCompletionResultsCommand(view) {
|
|
26
|
-
cancelLastCompletionSearch();
|
|
27
|
-
const token = new AbortController();
|
|
28
|
-
setTimeout(() => {
|
|
29
|
-
if (!token.signal.aborted) {
|
|
30
|
-
searchCompletionResults(view.state.doc.toString(), token);
|
|
31
|
-
}
|
|
32
|
-
}, 200);
|
|
33
|
-
cancelLastCompletionSearch = () => token.abort();
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
36
|
-
/*
|
|
37
|
-
* Requests the necessary items to update the core's completionItems when the user uses the ctrl+v
|
|
38
|
-
*/
|
|
39
|
-
function searchCompletionResults(code, token) {
|
|
40
|
-
const codeWithoutStrings = getCodeWithoutStringedCode(code);
|
|
41
|
-
const variablesToVerify = getVariablesToVerify(codeWithoutStrings);
|
|
42
|
-
const requests = getRequestsBasedOnVariables(variablesToVerify, token.signal);
|
|
43
|
-
Promise
|
|
44
|
-
.all(requests)
|
|
45
|
-
.then(responses => {
|
|
46
|
-
if (!token.signal.aborted) {
|
|
47
|
-
const expressionsCompletionItems = getExpressionsCompletionsItems(responses);
|
|
48
|
-
const entitiesCompletionItems = getEntitiesCompletionsItems(responses);
|
|
49
|
-
const completionItems = expressionsCompletionItems.concat(entitiesCompletionItems);
|
|
50
|
-
updateCompletionItems(completionItems);
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
/*
|
|
55
|
-
* Returns the code itself without its inside double quotes parts, e.g
|
|
56
|
-
* on string `return this "here not" code`, the return value will be `return this code`;
|
|
57
|
-
*/
|
|
58
|
-
function getCodeWithoutStringedCode(code) {
|
|
59
|
-
return (code !== null && code !== void 0 ? code : "").replace(/"([^"])*["]?/g, " ");
|
|
60
|
-
}
|
|
61
|
-
/*
|
|
62
|
-
* Returns the code's parts that need to be verified by requests, excluding the keywords,
|
|
63
|
-
* special character (except dot/`.` in middle of two regex's \w and at the end and hashtag in sentence's start)
|
|
64
|
-
* e.g on string `SE (something.another OU expression E something.another.)`, the variables array would be
|
|
65
|
-
* ["something.another", "expression", "something.another."]
|
|
66
|
-
*/
|
|
67
|
-
function getVariablesToVerify(code) {
|
|
68
|
-
var _a;
|
|
69
|
-
const keywordsRegex = Object
|
|
70
|
-
.values(Keywords)
|
|
71
|
-
.map(keyword => `(?!${keyword}\\b)`)
|
|
72
|
-
.join("");
|
|
73
|
-
return (_a = (code !== null && code !== void 0 ? code : "").match(new RegExp(`[#]?\\b(${keywordsRegex})(\\w+\\.)*\\w+[\\.]?`, "g"))) !== null && _a !== void 0 ? _a : [];
|
|
74
|
-
}
|
|
75
|
-
/*
|
|
76
|
-
* Only needs to request the expressions and the fields from an entity;
|
|
77
|
-
* Creates an request to every variable;
|
|
78
|
-
* Uses the AutocompleteService for the requests needed here are Autocomplete's usage, so we are just
|
|
79
|
-
* borrowing from it
|
|
80
|
-
*/
|
|
81
|
-
function getRequestsBasedOnVariables(variables, abortSignal) {
|
|
82
|
-
var _a;
|
|
83
|
-
const languageConfigs = getLanguageConfigs();
|
|
84
|
-
const requests = [];
|
|
85
|
-
for (const variable of variables) {
|
|
86
|
-
const splittedVariable = variable.split(".");
|
|
87
|
-
if (splittedVariable.length === 1) {
|
|
88
|
-
const extraInfo = {
|
|
89
|
-
path: "",
|
|
90
|
-
filter: splittedVariable[0]
|
|
91
|
-
};
|
|
92
|
-
requests.push({
|
|
93
|
-
requestType: RequestTypes.ListExpressionMetadata,
|
|
94
|
-
request: AutocompleteService.listExpressionMetadata({
|
|
95
|
-
context: languageConfigs.contexts,
|
|
96
|
-
subcontext: (_a = languageConfigs.subContexts) !== null && _a !== void 0 ? _a : [],
|
|
97
|
-
name: splittedVariable[0]
|
|
98
|
-
}, abortSignal),
|
|
99
|
-
extraInfo
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
else if (splittedVariable.length > 2) {
|
|
103
|
-
const extraInfo = {
|
|
104
|
-
path: splittedVariable
|
|
105
|
-
.slice(0, splittedVariable.length - 1)
|
|
106
|
-
.join("."),
|
|
107
|
-
filter: ""
|
|
108
|
-
};
|
|
109
|
-
requests.push({
|
|
110
|
-
requestType: RequestTypes.GetFacadeMetadataByPath,
|
|
111
|
-
request: AutocompleteService.getFacadeMetadataByPath({
|
|
112
|
-
context: splittedVariable[0],
|
|
113
|
-
entityName: splittedVariable[1],
|
|
114
|
-
fields: splittedVariable.slice(2, splittedVariable.length - 1)
|
|
115
|
-
}, abortSignal),
|
|
116
|
-
extraInfo
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
return requests.map(request => getSafeResponse(request));
|
|
121
|
-
}
|
|
122
|
-
function getExpressionsCompletionsItems(responses) {
|
|
123
|
-
const expressionsResponses = responses.filter(response => (response === null || response === void 0 ? void 0 : response.requestType) === RequestTypes.ListExpressionMetadata);
|
|
124
|
-
return expressionsResponses
|
|
125
|
-
.map(expressionsResponse => {
|
|
126
|
-
var _a, _b, _c, _d, _e, _f;
|
|
127
|
-
return {
|
|
128
|
-
path: (_b = (_a = expressionsResponse.extraInfo) === null || _a === void 0 ? void 0 : _a.path) !== null && _b !== void 0 ? _b : "",
|
|
129
|
-
filter: (_d = (_c = expressionsResponse.extraInfo) === null || _c === void 0 ? void 0 : _c.filter) !== null && _d !== void 0 ? _d : "",
|
|
130
|
-
completions: ((_f = (_e = expressionsResponse.response) === null || _e === void 0 ? void 0 : _e.expressionMetadata) !== null && _f !== void 0 ? _f : [])
|
|
131
|
-
.map(expressionMetadata => ({
|
|
132
|
-
label: expressionMetadata.name,
|
|
133
|
-
type: expressionMetadata.type === MetaType.PUBLIC_EXPRESSION
|
|
134
|
-
? CompletionTypes.Expression
|
|
135
|
-
: CompletionTypes.UserExpression
|
|
136
|
-
}))
|
|
137
|
-
};
|
|
138
|
-
})
|
|
139
|
-
.flat();
|
|
140
|
-
}
|
|
141
|
-
function getEntitiesCompletionsItems(responses) {
|
|
142
|
-
const facadesResponsesFromGet = responses.filter(response => (response === null || response === void 0 ? void 0 : response.requestType) === RequestTypes.GetFacadeMetadataByPath);
|
|
143
|
-
return facadesResponsesFromGet
|
|
144
|
-
.map(facadesResponseFromGet => {
|
|
145
|
-
var _a, _b, _c;
|
|
146
|
-
return {
|
|
147
|
-
path: facadesResponseFromGet.extraInfo.path,
|
|
148
|
-
filter: facadesResponseFromGet.extraInfo.filter,
|
|
149
|
-
completions: ((_c = (_b = (_a = facadesResponseFromGet.response) === null || _a === void 0 ? void 0 : _a.facadeMetadata) === null || _b === void 0 ? void 0 : _b.fields) !== null && _c !== void 0 ? _c : [])
|
|
150
|
-
.map(facade => ({
|
|
151
|
-
label: facade.name,
|
|
152
|
-
type: facade.type === MetaType.ENTITY ? CompletionTypes.Entity : CompletionTypes.FinalValue
|
|
153
|
-
}))
|
|
154
|
-
};
|
|
155
|
-
})
|
|
156
|
-
.flat();
|
|
157
|
-
}
|
|
158
|
-
function updateCompletionItems(completionItems) {
|
|
159
|
-
for (const completionItem of completionItems) {
|
|
160
|
-
updateCoreCompletionItems(completionItem);
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
export { ɵ0 };
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib24tcGFzdGUtY29tcGxldGlvbi1pdGVtcy11cGRhdGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvY29kZS1lZGl0b3IvaW5mcmEvY29yZXMvY29kZW1pcnJvci02L2xhbmd1YWdlcy90YXgtY2FsY3VsYXRpb24vZXh0ZW5zaW9ucy9vbi1wYXN0ZS1jb21wbGV0aW9uLWl0ZW1zLXVwZGF0ZXIvb24tcGFzdGUtY29tcGxldGlvbi1pdGVtcy11cGRhdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxNQUFNLEdBQ1QsTUFBTSxrQkFBa0IsQ0FBQztBQUcxQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQ0gsUUFBUSxFQUNSLFlBQVksRUFNWixRQUFRLEVBQ1IsZUFBZSxHQUdsQixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLGVBQWUsRUFDZix5QkFBeUIsRUFDNUIsTUFBTSxhQUFhLENBQUM7QUFFckI7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLDZCQUE2QjtJQUN6QyxPQUFPO1FBQ0gsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNOO2dCQUNJLEdBQUcsRUFBRSxRQUFRO2dCQUNiLEdBQUcsRUFBRSw4QkFBOEI7YUFDdEM7U0FDSixDQUFDO0tBQ0wsQ0FBQztBQUNOLENBQUM7QUFFRCxJQUFJLDBCQUEwQixHQUFlLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQzs7QUFFdEQ7OztHQUdHO0FBQ0gsU0FBUyw4QkFBOEIsQ0FBQyxJQUFnQjtJQUNwRCwwQkFBMEIsRUFBRSxDQUFDO0lBQzdCLE1BQU0sS0FBSyxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7SUFFcEMsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxD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QUNaLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSTtnQkFDbEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFVBQVU7YUFDOUYsQ0FBQyxDQUFDO1NBQ1YsQ0FBQztJQUNOLENBQUMsQ0FBQztTQUNELElBQUksRUFBRSxDQUFDO0FBRWhCLENBQUM7QUFFRCxTQUFTLHFCQUFxQixDQUFDLGVBQWlDO0lBQzVELEtBQUssTUFBTSxjQUFjLElBQUksZUFBZSxFQUFFO1FBQzFDLHlCQUF5QixDQUFDLGNBQWMsQ0FBQyxDQUFDO0tBQzdDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRWRpdG9yVmlldyxcbiAgICBrZXltYXAsXG59IGZyb20gXCJAY29kZW1pcnJvci92aWV3XCI7XG5pbXBvcnQgeyBFeHRlbnNpb24gfSBmcm9tIFwiQGNvZGVtaXJyb3Ivc3RhdGVcIjtcblxuaW1wb3J0IHsgQXV0b2NvbXBsZXRlU2VydmljZSB9IGZyb20gXCIuLi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLnNlcnZpY2VcIjtcbmltcG9ydCB7XG4gICAgS2V5d29yZHMsXG4gICAgUmVxdWVzdFR5cGVzLFxuICAgIFJlc3BvbnNlLFxuICAgIFNhZmVSZXF1ZXN0LFxuICAgIFNhZmVSZXNwb25zZSxcbiAgICBUYXhDYWxjdWxhdGlvbkNvbmZpZ3MsXG4gICAgTGlzdEV4cHJlc3Npb25NZXRhZGF0YVJlc3BvbnNlLFxuICAgIE1ldGFUeXBlLFxuICAgIENvbXBsZXRpb25UeXBlcyxcbiAgICBDb21wbGV0aW9uSXRlbSxcbiAgICBHZXRGYWNhZGVNZXRhZGF0YUJ5UGF0aFJlc3BvbnNlLFxufSBmcm9tIFwiLi4vLi4vbW9kZWxzXCI7XG5pbXBvcnQgeyBSZXF1ZXN0RXh0cmFJbmZvIH0gZnJvbSBcIi4vbW9kZWxzXCI7XG5pbXBvcnQge1xuICAgIGdldExhbmd1YWdlQ29uZmlncyxcbiAgICBnZXRTYWZlUmVzcG9uc2UsXG4gICAgdXBkYXRlQ29yZUNvbXBsZXRpb25JdGVtc1xufSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcblxuLyoqXG4gKiBBZGRzIGFuIHdhdGNoZXIgdG8gdGhlIHBhc3RlIGNvbW1hbmQgdGhhdCB1cGRhdGVzIHRoZSBjb3JlJ3MgY29tcGxldGlvbnMgaXRlbXNcbiAqIEByZXR1cm5zIEFuIGV4dGVuc2lvbiBjb250YWluaW5nIGV2ZXJ5dGhpbmcgbmVlZGVkIHRvIGNyZWF0ZSB0aGUgdGhlIHVwZGF0ZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG9uUGFzdGVDb21wbGV0aW9uSXRlbXNVcGRhdGVyICgpOiBFeHRlbnNpb24ge1xuICAgIHJldHVybiBbXG4gICAgICAgIGtleW1hcC5vZihbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAga2V5OiBcIkN0cmwtdlwiLFxuICAgICAgICAgICAgICAgIHJ1bjogc2VhcmNoQ29tcGxldGlvblJlc3VsdHNDb21tYW5kLFxuICAgICAgICAgICAgfVxuICAgICAgICBdKVxuICAgIF07XG59XG5cbmxldCBjYW5jZWxMYXN0Q29tcGxldGlvblNlYXJjaDogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4vKlxuICogTXVzdCB1c2UgdGhlIHNldFRpbWVvdXQgZm9yIHdlIGRvZXMgbm90IGhhdmUgYWNjZXNzIHRvIHRoZSBjb2RlIHBhc3RlZCBvbiB0aGUgY3VycmVudCBzdGF0ZSwgc28gd2UgbmVlZCB0byB3YWl0IGNvZGVtaXJyb3JcbiAqIHJlbWFrZSB0aGUgc3RhdGUsIGFsc28gaXQgd291bGQgYmUgd2F5IG1vcmUgZGlmZmljdWx0IHRvIHdvcmsgd2l0aCB0aGUgY2xpcGJvYXJkXG4gKi9cbmZ1bmN0aW9uIHNlYXJjaENvbXBsZXRpb25SZXN1bHRzQ29tbWFuZCh2aWV3OiBFZGl0b3JWaWV3KTogYm9vbGVhbiB7XG4gICAgY2FuY2VsTGFzdENvbXBsZXRpb25TZWFyY2goKTtcbiAgICBjb25zdCB0b2tlbiA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpZiAoIXRva2VuLnNpZ25hbC5hYm9ydGVkKSB7XG4gICAgICAgICAgICBzZWFyY2hDb21wbGV0aW9uUmVzdWx0cyh2aWV3LnN0YXRlLmRvYy50b1N0cmluZygpLCB0b2tlbik7XG4gICAgICAgIH1cbiAgICB9LCAyMDApO1xuXG4gICAgY2FuY2VsTGFzdENvbXBsZXRpb25TZWFyY2ggPSAoKSA9PiB0b2tlbi5hYm9ydCgpO1xuICAgIHJldHVybiBmYWxzZTtcbn1cblxuLypcbiAqIFJlcXVlc3RzIHRoZSBuZWNlc3NhcnkgaXRlbXMgdG8gdXBkYXRlIHRoZSBjb3JlJ3MgY29tcGxldGlvbkl0ZW1zIHdoZW4gdGhlIHVzZXIgdXNlcyB0aGUgY3RybCt2XG4gKi9cbmZ1bmN0aW9uIHNlYXJjaENvbXBsZXRpb25SZXN1bHRzKGNvZGU6IHN0cmluZywgdG9rZW46IEFib3J0Q29udHJvbGxlcik6IHZvaWQge1xuICAgIGNvbnN0IGNvZGVXaXRob3V0U3RyaW5ncyA9IGdldENvZGVXaXRob3V0U3RyaW5nZWRDb2RlKGNvZGUpO1xuICAgIGNvbnN0IHZhcmlhYmxlc1RvVmVyaWZ5OiBzdHJpbmdbXSA9IGdldFZhcmlhYmxlc1RvVmVyaWZ5KGNvZGVXaXRob3V0U3RyaW5ncyk7XG4gICAgY29uc3QgcmVxdWVzdHMgPSBnZXRSZXF1ZXN0c0Jhc2VkT25WYXJpYWJsZXModmFyaWFibGVzVG9WZXJpZnksIHRva2VuLnNpZ25hbCk7XG5cbiAgICBQcm9taXNlXG4gICAgICAgIC5hbGwocmVxdWVzdHMpXG4gICAgICAgIC50aGVuKHJlc3BvbnNlcyA9PiB7XG4gICAgICAgICAgICBpZiAoIXRva2VuLnNpZ25hbC5hYm9ydGVkKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZXhwcmVzc2lvbnNDb21wbGV0aW9uSXRlbXM6IENvbXBsZXRpb25JdGVtW10gPSBnZXRFeHByZXNzaW9uc0NvbXBsZXRpb25zSXRlbXMocmVzcG9uc2VzKTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbnRpdGllc0NvbXBsZXRpb25JdGVtczogQ29tcGxldGlvbkl0ZW1bXSA9IGdldEVudGl0aWVzQ29tcGxldGlvbnNJdGVtcyhyZXNwb25zZXMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBsZXRpb25JdGVtczogQ29tcGxldGlvbkl0ZW1bXSA9IGV4cHJlc3Npb25zQ29tcGxldGlvbkl0ZW1zLmNvbmNhdChlbnRpdGllc0NvbXBsZXRpb25JdGVtcyk7XG4gICAgICAgICAgICAgICAgdXBkYXRlQ29tcGxldGlvbkl0ZW1zKGNvbXBsZXRpb25JdGVtcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xufVxuXG4vKlxuICogUmV0dXJucyB0aGUgY29kZSBpdHNlbGYgd2l0aG91dCBpdHMgaW5zaWRlIGRvdWJsZSBxdW90ZXMgcGFydHMsIGUuZ1xuICogb24gc3RyaW5nIGByZXR1cm4gdGhpcyBcImhlcmUgbm90XCIgY29kZWAsIHRoZSByZXR1cm4gdmFsdWUgd2lsbCBiZSBgcmV0dXJuIHRoaXMgIGNvZGVgO1xuICovXG5mdW5jdGlvbiBnZXRDb2RlV2l0aG91dFN0cmluZ2VkQ29kZShjb2RlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiAoY29kZSA/PyBcIlwiKS5yZXBsYWNlKC9cIihbXlwiXSkqW1wiXT8vZywgXCIgXCIpO1xufVxuXG4vKlxuICogUmV0dXJucyB0aGUgY29kZSdzIHBhcnRzIHRoYXQgbmVlZCB0byBiZSB2ZXJpZmllZCBieSByZXF1ZXN0cywgZXhjbHVkaW5nIHRoZSBrZXl3b3JkcyxcbiAqIHNwZWNpYWwgY2hhcmFjdGVyIChleGNlcHQgZG90L2AuYCBpbiBtaWRkbGUgb2YgdHdvIHJlZ2V4J3MgXFx3IGFuZCBhdCB0aGUgZW5kIGFuZCBoYXNodGFnIGluIHNlbnRlbmNlJ3Mgc3RhcnQpXG4gKiBlLmcgb24gc3RyaW5nIGBTRSAoc29tZXRoaW5nLmFub3RoZXIgT1UgZXhwcmVzc2lvbiBFIHNvbWV0aGluZy5hbm90aGVyLilgLCB0aGUgdmFyaWFibGVzIGFycmF5IHdvdWxkIGJlXG4gKiBbXCJzb21ldGhpbmcuYW5vdGhlclwiLCBcImV4cHJlc3Npb25cIiwgXCJzb21ldGhpbmcuYW5vdGhlci5cIl1cbiAqL1xuZnVuY3Rpb24gZ2V0VmFyaWFibGVzVG9WZXJpZnkoY29kZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGtleXdvcmRzUmVnZXggPSBPYmplY3RcbiAgICAgICAgLnZhbHVlcyhLZXl3b3JkcylcbiAgICAgICAgLm1hcChrZXl3b3JkID0+IGAoPyEke2tleXdvcmR9XFxcXGIpYClcbiAgICAgICAgLmpvaW4oXCJcIik7XG4gICAgcmV0dXJuIChjb2RlID8/IFwiXCIpLm1hdGNoKG5ldyBSZWdFeHAoYFsjXT9cXFxcYigke2tleXdvcmRzUmVnZXh9KShcXFxcdytcXFxcLikqXFxcXHcrW1xcXFwuXT9gLCBcImdcIikpID8/IFtdO1xufVxuXG4vKlxuICogT25seSBuZWVkcyB0byByZXF1ZXN0IHRoZSBleHByZXNzaW9ucyBhbmQgdGhlIGZpZWxkcyBmcm9tIGFuIGVudGl0eTtcbiAqIENyZWF0ZXMgYW4gcmVxdWVzdCB0byBldmVyeSB2YXJpYWJsZTtcbiAqIFVzZXMgdGhlIEF1dG9jb21wbGV0ZVNlcnZpY2UgZm9yIHRoZSByZXF1ZXN0cyBuZWVkZWQgaGVyZSBhcmUgQXV0b2NvbXBsZXRlJ3MgdXNhZ2UsIHNvIHdlIGFyZSBqdXN0XG4gKiBib3Jyb3dpbmcgZnJvbSBpdFxuICovXG5mdW5jdGlvbiBnZXRSZXF1ZXN0c0Jhc2VkT25WYXJpYWJsZXModmFyaWFibGVzOiBzdHJpbmdbXSwgYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsKTogU2FmZVJlc3BvbnNlW10ge1xuICAgIGNvbnN0IGxhbmd1YWdlQ29uZmlnczogVGF4Q2FsY3VsYXRpb25Db25maWdzID0gZ2V0TGFuZ3VhZ2VDb25maWdzKCk7XG4gICAgY29uc3QgcmVxdWVzdHM6IFNhZmVSZXF1ZXN0W10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgdmFyaWFibGUgb2YgdmFyaWFibGVzKSB7XG4gICAgICAgIGNvbnN0IHNwbGl0dGVkVmFyaWFibGUgPSB2YXJpYWJsZS5zcGxpdChcIi5cIik7XG5cbiAgICAgICAgaWYgKHNwbGl0dGVkVmFyaWFibGUubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICBjb25zdCBleHRyYUluZm86IFJlcXVlc3RFeHRyYUluZm8gPSB7XG4gICAgICAgICAgICAgICAgcGF0aDogXCJcIixcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IHNwbGl0dGVkVmFyaWFibGVbMF1cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHJlcXVlc3RzLnB1c2goe1xuICAgICAgICAgICAgICAgIHJlcXVlc3RUeXBlOiBSZXF1ZXN0VHlwZXMuTGlzdEV4cHJlc3Npb25NZXRhZGF0YSxcbiAgICAgICAgICAgICAgICByZXF1ZXN0OiBBdXRvY29tcGxldGVTZXJ2aWNlLmxpc3RFeHByZXNzaW9uTWV0YWRhdGEoXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IGxhbmd1YWdlQ29uZmlncy5jb250ZXh0cyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YmNvbnRleHQ6IGxhbmd1YWdlQ29uZmlncy5zdWJDb250ZXh0cyA/PyBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHNwbGl0dGVkVmFyaWFibGVbMF1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgYWJvcnRTaWduYWxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGV4dHJhSW5mb1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgfSBlbHNlIGlmIChzcGxpdHRlZFZhcmlhYmxlLmxlbmd0aCA+IDIpIHtcbiAgICAgICAgICAgIGNvbnN0IGV4dHJhSW5mbzogUmVxdWVzdEV4dHJhSW5mbyA9IHtcbiAgICAgICAgICAgICAgICBwYXRoOiBzcGxpdHRlZFZhcmlhYmxlXG4gICAgICAgICAgICAgICAgICAgIC5zbGljZSgwLCBzcGxpdHRlZFZhcmlhYmxlLmxlbmd0aCAtIDEpXG4gICAgICAgICAgICAgICAgICAgIC5qb2luKFwiLlwiKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IFwiXCJcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHJlcXVlc3RzLnB1c2goe1xuICAgICAgICAgICAgICAgIHJlcXVlc3RUeXBlOiBSZXF1ZXN0VHlwZXMuR2V0RmFjYWRlTWV0YWRhdGFCeVBhdGgsXG4gICAgICAgICAgICAgICAgcmVxdWVzdDogQXV0b2NvbXBsZXRlU2VydmljZS5nZXRGYWNhZGVNZXRhZGF0YUJ5UGF0aChcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDogc3BsaXR0ZWRWYXJpYWJsZVswXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eU5hbWU6IHNwbGl0dGVkVmFyaWFibGVbMV0sXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZHM6IHNwbGl0dGVkVmFyaWFibGUuc2xpY2UoMiwgc3BsaXR0ZWRWYXJpYWJsZS5sZW5ndGggLSAxKVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBhYm9ydFNpZ25hbFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgZXh0cmFJbmZvXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZXF1ZXN0cy5tYXAocmVxdWVzdCA9PiBnZXRTYWZlUmVzcG9uc2UocmVxdWVzdCkpO1xufVxuXG5mdW5jdGlvbiBnZXRFeHByZXNzaW9uc0NvbXBsZXRpb25zSXRlbXMocmVzcG9uc2VzOiBSZXNwb25zZTxhbnk+W10pOiBDb21wbGV0aW9uSXRlbVtdIHtcbiAgICBjb25zdCBleHByZXNzaW9uc1Jlc3BvbnNlczogUmVzcG9uc2U8TGlzdEV4cHJlc3Npb25NZXRhZGF0YVJlc3BvbnNlLCBSZXF1ZXN0RXh0cmFJbmZvPltdID0gcmVzcG9uc2VzLmZpbHRlcihyZXNwb25zZSA9PlxuICAgICAgICByZXNwb25zZT8ucmVxdWVzdFR5cGUgPT09IFJlcXVlc3RUeXBlcy5MaXN0RXhwcmVzc2lvbk1ldGFkYXRhXG4gICAgKTtcblxuICAgIHJldHVybiBleHByZXNzaW9uc1Jlc3BvbnNlc1xuICAgICAgICAubWFwKGV4cHJlc3Npb25zUmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBwYXRoOiBleHByZXNzaW9uc1Jlc3BvbnNlLmV4dHJhSW5mbz8ucGF0aCA/PyBcIlwiLFxuICAgICAgICAgICAgICAgIGZpbHRlcjogZXhwcmVzc2lvbnNSZXNwb25zZS5leHRyYUluZm8/LmZpbHRlciA/PyBcIlwiLFxuICAgICAgICAgICAgICAgIGNvbXBsZXRpb25zOiAoZXhwcmVzc2lvbnNSZXNwb25zZS5yZXNwb25zZT8uZXhwcmVzc2lvbk1ldGFkYXRhID8/IFtdKVxuICAgICAgICAgICAgICAgICAgICAubWFwKGV4cHJlc3Npb25NZXRhZGF0YSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGV4cHJlc3Npb25NZXRhZGF0YS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogZXhwcmVzc2lvbk1ldGFkYXRhLnR5cGUgPT09IE1ldGFUeXBlLlBVQkxJQ19FWFBSRVNTSU9OXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBDb21wbGV0aW9uVHlwZXMuRXhwcmVzc2lvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogQ29tcGxldGlvblR5cGVzLlVzZXJFeHByZXNzaW9uXG4gICAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSlcbiAgICAgICAgLmZsYXQoKTtcbn1cblxuZnVuY3Rpb24gZ2V0RW50aXRpZXNDb21wbGV0aW9uc0l0ZW1zKHJlc3BvbnNlczogUmVzcG9uc2U8YW55PltdKTogQ29tcGxldGlvbkl0ZW1bXSB7XG4gICAgY29uc3QgZmFjYWRlc1Jlc3BvbnNlc0Zyb21HZXQ6IFJlc3BvbnNlPEdldEZhY2FkZU1ldGFkYXRhQnlQYXRoUmVzcG9uc2UsIFJlcXVlc3RFeHRyYUluZm8+W10gPSByZXNwb25zZXMuZmlsdGVyKHJlc3BvbnNlID0+XG4gICAgICAgIHJlc3BvbnNlPy5yZXF1ZXN0VHlwZSA9PT0gUmVxdWVzdFR5cGVzLkdldEZhY2FkZU1ldGFkYXRhQnlQYXRoXG4gICAgKTtcblxuICAgIHJldHVybiBmYWNhZGVzUmVzcG9uc2VzRnJvbUdldFxuICAgICAgICAubWFwKGZhY2FkZXNSZXNwb25zZUZyb21HZXQgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBwYXRoOiBmYWNhZGVzUmVzcG9uc2VGcm9tR2V0LmV4dHJhSW5mby5wYXRoLFxuICAgICAgICAgICAgICAgIGZpbHRlcjogZmFjYWRlc1Jlc3BvbnNlRnJvbUdldC5leHRyYUluZm8uZmlsdGVyLFxuICAgICAgICAgICAgICAgIGNvbXBsZXRpb25zOiAoZmFjYWRlc1Jlc3BvbnNlRnJvbUdldC5yZXNwb25zZT8uZmFjYWRlTWV0YWRhdGE/LmZpZWxkcyA/PyBbXSlcbiAgICAgICAgICAgICAgICAgICAgLm1hcChmYWNhZGUgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBmYWNhZGUubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGZhY2FkZS50eXBlID09PSBNZXRhVHlwZS5FTlRJVFkgPyBDb21wbGV0aW9uVHlwZXMuRW50aXR5IDogQ29tcGxldGlvblR5cGVzLkZpbmFsVmFsdWVcbiAgICAgICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KVxuICAgICAgICAuZmxhdCgpO1xuXG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUNvbXBsZXRpb25JdGVtcyhjb21wbGV0aW9uSXRlbXM6IENvbXBsZXRpb25JdGVtW10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGNvbXBsZXRpb25JdGVtIG9mIGNvbXBsZXRpb25JdGVtcykge1xuICAgICAgICB1cGRhdGVDb3JlQ29tcGxldGlvbkl0ZW1zKGNvbXBsZXRpb25JdGVtKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { CodeMirror6Core } from "../../../codemirror-6-core";
|
|
2
|
-
import { CompletionTypes } from "../models";
|
|
3
|
-
const completionItemsMap = new Map();
|
|
4
|
-
const usefulToCompletionItemsCompletionTypes = [
|
|
5
|
-
CompletionTypes.Expression,
|
|
6
|
-
CompletionTypes.UserExpression,
|
|
7
|
-
CompletionTypes.FinalValue
|
|
8
|
-
];
|
|
9
|
-
/*
|
|
10
|
-
* Updates the completionItems used by the core.
|
|
11
|
-
* Utilizes the path and filter to create a key and store the results from the search to the given "path.filter" on a map.
|
|
12
|
-
* Must save the results to each different filter for the search does not bring all the results, so the user must do a more
|
|
13
|
-
* specific filter to achieve its objective
|
|
14
|
-
*/
|
|
15
|
-
export function updateCoreCompletionItems(completionItem) {
|
|
16
|
-
const { path, filter, completions } = completionItem;
|
|
17
|
-
const mapPath = `${path}.${filter}`;
|
|
18
|
-
const filteredCompletions = (completions || []).filter(completion => usefulToCompletionItemsCompletionTypes.includes(completion === null || completion === void 0 ? void 0 : completion.type));
|
|
19
|
-
const formattedSearchResults = filteredCompletions.map(completion => path === "" ? completion === null || completion === void 0 ? void 0 : completion.label : `${path}.${completion === null || completion === void 0 ? void 0 : completion.label}`);
|
|
20
|
-
completionItemsMap.delete(mapPath);
|
|
21
|
-
if (formattedSearchResults.length) {
|
|
22
|
-
completionItemsMap.set(mapPath, formattedSearchResults);
|
|
23
|
-
}
|
|
24
|
-
const allArraysFromMap = Array.from(completionItemsMap.values());
|
|
25
|
-
const unrepeatedCompletionItems = new Set(allArraysFromMap.flat());
|
|
26
|
-
CodeMirror6Core
|
|
27
|
-
.$onCompletionItemsUpdate
|
|
28
|
-
.next(Array.from(unrepeatedCompletionItems));
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWNvcmUtY29tcGxldGlvbi1pdGVtcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2NvZGUtZWRpdG9yL2luZnJhL2NvcmVzL2NvZGVtaXJyb3ItNi9sYW5ndWFnZXMvdGF4LWNhbGN1bGF0aW9uL3V0aWxzL3VwZGF0ZS1jb3JlLWNvbXBsZXRpb24taXRlbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFFSCxlQUFlLEVBQ2xCLE1BQU0sV0FBVyxDQUFDO0FBRW5CLE1BQU0sa0JBQWtCLEdBQTBCLElBQUksR0FBRyxFQUFFLENBQUM7QUFDNUQsTUFBTSxzQ0FBc0MsR0FBc0I7SUFDOUQsZUFBZSxDQUFDLFVBQVU7SUFDMUIsZUFBZSxDQUFDLGNBQWM7SUFDOUIsZUFBZSxDQUFDLFVBQVU7Q0FDN0IsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QixDQUFDLGNBQThCO0lBQ3BFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLGNBQWMsQ0FBQztJQUNyRCxNQUFNLE9BQU8sR0FBRyxHQUFHLElBQUksSUFBSSxNQUFNLEVBQUUsQ0FBQztJQUNwQyxNQUFNLG1CQUFtQixHQUFpQixDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FDOUUsc0NBQXNDLENBQUMsUUFBUSxDQUFDLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxJQUF1QixDQUFDLENBQ3ZGLENBQUM7SUFDRixNQUFNLHNCQUFzQixHQUFhLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUMxRSxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLGFBQVYsVUFBVSx1QkFBVixVQUFVLENBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksSUFBSSxVQUFVLGFBQVYsVUFBVSx1QkFBVixVQUFVLENBQUUsS0FBSyxFQUFFLENBQ25FLENBQUM7SUFFRixrQkFBa0IsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFbkMsSUFBSSxzQkFBc0IsQ0FBQyxNQUFNLEVBQUU7UUFDL0Isa0JBQWtCLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0tBQzNEO0lBRUQsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDakUsTUFBTSx5QkFBeUIsR0FBZ0IsSUFBSSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUVoRixlQUFlO1NBQ1Ysd0JBQXdCO1NBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQztBQUNyRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcGxldGlvbiB9IGZyb20gXCJAY29kZW1pcnJvci9hdXRvY29tcGxldGVcIjtcblxuaW1wb3J0IHsgQ29kZU1pcnJvcjZDb3JlIH0gZnJvbSBcIi4uLy4uLy4uL2NvZGVtaXJyb3ItNi1jb3JlXCI7XG5pbXBvcnQge1xuICAgIENvbXBsZXRpb25JdGVtLFxuICAgIENvbXBsZXRpb25UeXBlc1xufSBmcm9tIFwiLi4vbW9kZWxzXCI7XG5cbmNvbnN0IGNvbXBsZXRpb25JdGVtc01hcDogTWFwPHN0cmluZywgc3RyaW5nW10+ID0gbmV3IE1hcCgpO1xuY29uc3QgdXNlZnVsVG9Db21wbGV0aW9uSXRlbXNDb21wbGV0aW9uVHlwZXM6IENvbXBsZXRpb25UeXBlc1tdID0gW1xuICAgIENvbXBsZXRpb25UeXBlcy5FeHByZXNzaW9uLFxuICAgIENvbXBsZXRpb25UeXBlcy5Vc2VyRXhwcmVzc2lvbixcbiAgICBDb21wbGV0aW9uVHlwZXMuRmluYWxWYWx1ZVxuXTtcblxuLypcbiAqIFVwZGF0ZXMgdGhlIGNvbXBsZXRpb25JdGVtcyB1c2VkIGJ5IHRoZSBjb3JlLlxuICogVXRpbGl6ZXMgdGhlIHBhdGggYW5kIGZpbHRlciB0byBjcmVhdGUgYSBrZXkgYW5kIHN0b3JlIHRoZSByZXN1bHRzIGZyb20gdGhlIHNlYXJjaCB0byB0aGUgZ2l2ZW4gXCJwYXRoLmZpbHRlclwiIG9uIGEgbWFwLlxuICogTXVzdCBzYXZlIHRoZSByZXN1bHRzIHRvIGVhY2ggZGlmZmVyZW50IGZpbHRlciBmb3IgdGhlIHNlYXJjaCBkb2VzIG5vdCBicmluZyBhbGwgdGhlIHJlc3VsdHMsIHNvIHRoZSB1c2VyIG11c3QgZG8gYSBtb3JlXG4gKiBzcGVjaWZpYyBmaWx0ZXIgdG8gYWNoaWV2ZSBpdHMgb2JqZWN0aXZlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVDb3JlQ29tcGxldGlvbkl0ZW1zKGNvbXBsZXRpb25JdGVtOiBDb21wbGV0aW9uSXRlbSk6IHZvaWQge1xuICAgIGNvbnN0IHsgcGF0aCwgZmlsdGVyLCBjb21wbGV0aW9ucyB9ID0gY29tcGxldGlvbkl0ZW07XG4gICAgY29uc3QgbWFwUGF0aCA9IGAke3BhdGh9LiR7ZmlsdGVyfWA7XG4gICAgY29uc3QgZmlsdGVyZWRDb21wbGV0aW9uczogQ29tcGxldGlvbltdID0gKGNvbXBsZXRpb25zIHx8IFtdKS5maWx0ZXIoY29tcGxldGlvbiA9PlxuICAgICAgICB1c2VmdWxUb0NvbXBsZXRpb25JdGVtc0NvbXBsZXRpb25UeXBlcy5pbmNsdWRlcyhjb21wbGV0aW9uPy50eXBlIGFzIENvbXBsZXRpb25UeXBlcylcbiAgICApO1xuICAgIGNvbnN0IGZvcm1hdHRlZFNlYXJjaFJlc3VsdHM6IHN0cmluZ1tdID0gZmlsdGVyZWRDb21wbGV0aW9ucy5tYXAoY29tcGxldGlvbiA9PlxuICAgICAgICBwYXRoID09PSBcIlwiID8gY29tcGxldGlvbj8ubGFiZWwgOiBgJHtwYXRofS4ke2NvbXBsZXRpb24/LmxhYmVsfWBcbiAgICApO1xuXG4gICAgY29tcGxldGlvbkl0ZW1zTWFwLmRlbGV0ZShtYXBQYXRoKTtcblxuICAgIGlmIChmb3JtYXR0ZWRTZWFyY2hSZXN1bHRzLmxlbmd0aCkge1xuICAgICAgICBjb21wbGV0aW9uSXRlbXNNYXAuc2V0KG1hcFBhdGgsIGZvcm1hdHRlZFNlYXJjaFJlc3VsdHMpO1xuICAgIH1cblxuICAgIGNvbnN0IGFsbEFycmF5c0Zyb21NYXAgPSBBcnJheS5mcm9tKGNvbXBsZXRpb25JdGVtc01hcC52YWx1ZXMoKSk7XG4gICAgY29uc3QgdW5yZXBlYXRlZENvbXBsZXRpb25JdGVtczogU2V0PHN0cmluZz4gPSBuZXcgU2V0KGFsbEFycmF5c0Zyb21NYXAuZmxhdCgpKTtcblxuICAgIENvZGVNaXJyb3I2Q29yZVxuICAgICAgICAuJG9uQ29tcGxldGlvbkl0ZW1zVXBkYXRlXG4gICAgICAgIC5uZXh0KEFycmF5LmZyb20odW5yZXBlYXRlZENvbXBsZXRpb25JdGVtcykpO1xufVxuIl19
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9jb2RlLWVkaXRvci9pbmZyYS9saW50ZXJzL3RheC1jYWxjdWxhdGlvbi9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qIEludGVyZmFjZXMgKi9cbmV4cG9ydCAqIGZyb20gXCIuL2ludGVyZmFjZXMvdmFsaWRhdGlvblwiO1xuIl19
|
package/esm2015/components/code-editor/infra/linters/tax-calculation/models/interfaces/validation.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2NvZGUtZWRpdG9yL2luZnJhL2xpbnRlcnMvdGF4LWNhbGN1bGF0aW9uL21vZGVscy9pbnRlcmZhY2VzL3ZhbGlkYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hcmtlciB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9jb3JlL21vZGVsc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb24ge1xuICAgIHZhbGlkYXRlOiAoY29kZTogc3RyaW5nLCBjb21wbGV0aW9uSXRlbXM6IHN0cmluZ1tdKSA9PiBQcm9taXNlPE1hcmtlcltdPjtcbn1cbiJdfQ==
|
package/esm2015/components/code-editor/infra/linters/tax-calculation/tax-calculation-linter.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { ValidationComposite, ValidationWorkersComposite } from "./validation-compositors";
|
|
2
|
-
/**
|
|
3
|
-
* Linter for the "TaxCalculation" Language
|
|
4
|
-
*/
|
|
5
|
-
export class TaxCalculationLinter {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.setValidation();
|
|
8
|
-
}
|
|
9
|
-
lint(code, completionItems) {
|
|
10
|
-
return this._validation.validate(code, completionItems || []);
|
|
11
|
-
}
|
|
12
|
-
setValidation() {
|
|
13
|
-
const browserSupportsWorkers = typeof Worker !== "undefined";
|
|
14
|
-
this._validation = browserSupportsWorkers
|
|
15
|
-
? new ValidationWorkersComposite()
|
|
16
|
-
: new ValidationComposite();
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LWNhbGN1bGF0aW9uLWxpbnRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2NvZGUtZWRpdG9yL2luZnJhL2xpbnRlcnMvdGF4LWNhbGN1bGF0aW9uL3RheC1jYWxjdWxhdGlvbi1saW50ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUNILG1CQUFtQixFQUNuQiwwQkFBMEIsRUFDN0IsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQzs7R0FFRztBQUNILE1BQU0sT0FBTyxvQkFBb0I7SUFJN0I7UUFDSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVNLElBQUksQ0FBRSxJQUFZLEVBQUUsZUFBMEI7UUFDakQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTyxhQUFhO1FBQ2pCLE1BQU0sc0JBQXNCLEdBQUcsT0FBTyxNQUFNLEtBQUssV0FBVyxDQUFDO1FBQzdELElBQUksQ0FBQyxXQUFXLEdBQUcsc0JBQXNCO1lBQ3JDLENBQUMsQ0FBQyxJQUFJLDBCQUEwQixFQUFFO1lBQ2xDLENBQUMsQ0FBQyxJQUFJLG1CQUFtQixFQUFFLENBQUM7SUFFcEMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGludGVyRmFjYWRlIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZmFjYWRlcy9saW50ZXItZmFjYWRlXCI7XG5pbXBvcnQgeyBNYXJrZXIgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9tb2RlbHNcIjtcbmltcG9ydCB7IFZhbGlkYXRpb24gfSBmcm9tIFwiLi9tb2RlbHNcIjtcbmltcG9ydCB7XG4gICAgVmFsaWRhdGlvbkNvbXBvc2l0ZSxcbiAgICBWYWxpZGF0aW9uV29ya2Vyc0NvbXBvc2l0ZVxufSBmcm9tIFwiLi92YWxpZGF0aW9uLWNvbXBvc2l0b3JzXCI7XG5cbi8qKlxuICogTGludGVyIGZvciB0aGUgXCJUYXhDYWxjdWxhdGlvblwiIExhbmd1YWdlXG4gKi9cbmV4cG9ydCBjbGFzcyBUYXhDYWxjdWxhdGlvbkxpbnRlciBpbXBsZW1lbnRzIExpbnRlckZhY2FkZSB7XG5cbiAgICBwcml2YXRlIF92YWxpZGF0aW9uITogVmFsaWRhdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnNldFZhbGlkYXRpb24oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbGludCAoY29kZTogc3RyaW5nLCBjb21wbGV0aW9uSXRlbXM/OiBzdHJpbmdbXSk6IFByb21pc2U8TWFya2VyW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbGlkYXRpb24udmFsaWRhdGUoY29kZSwgY29tcGxldGlvbkl0ZW1zIHx8IFtdKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFZhbGlkYXRpb24oKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGJyb3dzZXJTdXBwb3J0c1dvcmtlcnMgPSB0eXBlb2YgV29ya2VyICE9PSBcInVuZGVmaW5lZFwiO1xuICAgICAgICB0aGlzLl92YWxpZGF0aW9uID0gYnJvd3NlclN1cHBvcnRzV29ya2Vyc1xuICAgICAgICAgICAgPyBuZXcgVmFsaWRhdGlvbldvcmtlcnNDb21wb3NpdGUoKVxuICAgICAgICAgICAgOiBuZXcgVmFsaWRhdGlvbkNvbXBvc2l0ZSgpO1xuXG4gICAgfVxufVxuIl19
|
package/esm2015/components/code-editor/infra/linters/tax-calculation/validation-compositors/index.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from "./validation-workers-compositor/validations-workers-composite";
|
|
2
|
-
export * from "./validation-composite";
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9jb2RlLWVkaXRvci9pbmZyYS9saW50ZXJzL3RheC1jYWxjdWxhdGlvbi92YWxpZGF0aW9uLWNvbXBvc2l0b3JzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL3ZhbGlkYXRpb24td29ya2Vycy1jb21wb3NpdG9yL3ZhbGlkYXRpb25zLXdvcmtlcnMtY29tcG9zaXRlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi92YWxpZGF0aW9uLWNvbXBvc2l0ZVwiO1xuIl19
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
export class ValidationComposite {
|
|
3
|
-
constructor() {
|
|
4
|
-
this._validations = [];
|
|
5
|
-
}
|
|
6
|
-
validate(code, completionItems) {
|
|
7
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
8
|
-
const markers = [];
|
|
9
|
-
for (const validation of this._validations) {
|
|
10
|
-
markers.concat(yield validation.validate(code, completionItems));
|
|
11
|
-
}
|
|
12
|
-
return markers;
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1jb21wb3NpdGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9jb2RlLWVkaXRvci9pbmZyYS9saW50ZXJzL3RheC1jYWxjdWxhdGlvbi92YWxpZGF0aW9uLWNvbXBvc2l0b3JzL3ZhbGlkYXRpb24tY29tcG9zaXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFHQSxNQUFNLE9BQU8sbUJBQW1CO0lBQWhDO1FBRVksaUJBQVksR0FBaUIsRUFBRSxDQUFDO0lBWTVDLENBQUM7SUFWZ0IsUUFBUSxDQUFDLElBQVksRUFBRSxlQUF5Qjs7WUFDekQsTUFBTSxPQUFPLEdBQWEsRUFBRSxDQUFDO1lBRTdCLEtBQUssTUFBTSxVQUFVLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDeEMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7YUFDcEU7WUFFRCxPQUFPLE9BQU8sQ0FBQztRQUNuQixDQUFDO0tBQUE7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hcmtlciB9IGZyb20gXCIuLi8uLi8uLi8uLi9jb3JlL21vZGVsc1wiXG5pbXBvcnQgeyBWYWxpZGF0aW9uIH0gZnJvbSBcIi4uL21vZGVsc1wiO1xuXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvbkNvbXBvc2l0ZSBpbXBsZW1lbnRzIFZhbGlkYXRpb24ge1xuXG4gICAgcHJpdmF0ZSBfdmFsaWRhdGlvbnM6IFZhbGlkYXRpb25bXSA9IFtdO1xuXG4gICAgcHVibGljIGFzeW5jIHZhbGlkYXRlKGNvZGU6IHN0cmluZywgY29tcGxldGlvbkl0ZW1zOiBzdHJpbmdbXSk6IFByb21pc2U8TWFya2VyW10+IHtcbiAgICAgICAgY29uc3QgbWFya2VyczogTWFya2VyW10gPSBbXTtcblxuICAgICAgICBmb3IgKGNvbnN0IHZhbGlkYXRpb24gb2YgdGhpcy5fdmFsaWRhdGlvbnMpIHtcbiAgICAgICAgICAgIG1hcmtlcnMuY29uY2F0KGF3YWl0IHZhbGlkYXRpb24udmFsaWRhdGUoY29kZSwgY29tcGxldGlvbkl0ZW1zKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbWFya2VycztcbiAgICB9XG5cbn1cbiJdfQ==
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
export class ValidationWorkersComposite {
|
|
3
|
-
constructor() {
|
|
4
|
-
this._validations = [];
|
|
5
|
-
}
|
|
6
|
-
validate(code, completionItems) {
|
|
7
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
8
|
-
return new Promise(resolve => {
|
|
9
|
-
const markers = [];
|
|
10
|
-
let finishedWorkers = 0;
|
|
11
|
-
for (const worker of this._validations) {
|
|
12
|
-
worker.onmessage = ({ data }) => {
|
|
13
|
-
markers.concat(data);
|
|
14
|
-
finishedWorkers++;
|
|
15
|
-
if (finishedWorkers === this._validations.length) {
|
|
16
|
-
resolve(markers);
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
worker.postMessage({ code, completionItems });
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbnMtd29ya2Vycy1jb21wb3NpdGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9jb2RlLWVkaXRvci9pbmZyYS9saW50ZXJzL3RheC1jYWxjdWxhdGlvbi92YWxpZGF0aW9uLWNvbXBvc2l0b3JzL3ZhbGlkYXRpb24td29ya2Vycy1jb21wb3NpdG9yL3ZhbGlkYXRpb25zLXdvcmtlcnMtY29tcG9zaXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFHQSxNQUFNLE9BQU8sMEJBQTBCO0lBQXZDO1FBRVksaUJBQVksR0FBYSxFQUFFLENBQUM7SUFxQnhDLENBQUM7SUFuQmdCLFFBQVEsQ0FBQyxJQUFZLEVBQUUsZUFBeUI7O1lBQ3pELE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ3pCLE1BQU0sT0FBTyxHQUFhLEVBQUUsQ0FBQztnQkFDN0IsSUFBSSxlQUFlLEdBQUcsQ0FBQyxDQUFDO2dCQUV4QixLQUFLLE1BQU0sTUFBTSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7b0JBQ3BDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBc0IsRUFBRSxFQUFFO3dCQUNoRCxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUNyQixlQUFlLEVBQUUsQ0FBQzt3QkFFbEIsSUFBSSxlQUFlLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUU7NEJBQzlDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQzt5QkFDcEI7b0JBQ0wsQ0FBQyxDQUFDO29CQUVGLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztpQkFDakQ7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7S0FBQTtDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWFya2VyIH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL2NvcmUvbW9kZWxzXCI7XG5pbXBvcnQgeyBWYWxpZGF0aW9uIH0gZnJvbSBcIi4uLy4uL21vZGVsc1wiO1xuXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvbldvcmtlcnNDb21wb3NpdGUgaW1wbGVtZW50cyBWYWxpZGF0aW9uIHtcblxuICAgIHByaXZhdGUgX3ZhbGlkYXRpb25zOiBXb3JrZXJbXSA9IFtdO1xuXG4gICAgcHVibGljIGFzeW5jIHZhbGlkYXRlKGNvZGU6IHN0cmluZywgY29tcGxldGlvbkl0ZW1zOiBzdHJpbmdbXSk6IFByb21pc2U8TWFya2VyW10+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWFya2VyczogTWFya2VyW10gPSBbXTtcbiAgICAgICAgICAgIGxldCBmaW5pc2hlZFdvcmtlcnMgPSAwO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHdvcmtlciBvZiB0aGlzLl92YWxpZGF0aW9ucykge1xuICAgICAgICAgICAgICAgIHdvcmtlci5vbm1lc3NhZ2UgPSAoeyBkYXRhIH06IHsgZGF0YTogTWFya2VyW10gfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBtYXJrZXJzLmNvbmNhdChkYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgZmluaXNoZWRXb3JrZXJzKys7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpbmlzaGVkV29ya2VycyA9PT0gdGhpcy5fdmFsaWRhdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKG1hcmtlcnMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7IGNvZGUsIGNvbXBsZXRpb25JdGVtcyB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Function to get the position of the first occurrence of a regex in a string
|
|
3
|
-
* @param string The string to search into
|
|
4
|
-
* @param regex The regex to search into the string
|
|
5
|
-
* @param position The index at which to begin searching the string. If omitted, search starts at the index 0.
|
|
6
|
-
* @returns the position of the first occurrence of the informed regex.
|
|
7
|
-
*/
|
|
8
|
-
export function regexIndexOf(string, regex, position) {
|
|
9
|
-
const indexOf = string.substring(position || 0).search(regex);
|
|
10
|
-
return (indexOf >= 0) ? (indexOf + (position || 0)) : indexOf;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnZXgtaW5kZXgtb2YuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9jb2RlLWVkaXRvci9pbmZyYS91dGlscy9yZWdleC1pbmRleC1vZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUFDLE1BQWMsRUFBRSxLQUFhLEVBQUUsUUFBZ0I7SUFDeEUsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlELE9BQU8sQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUNsRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBGdW5jdGlvbiB0byBnZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mIGEgcmVnZXggaW4gYSBzdHJpbmdcbiAqIEBwYXJhbSBzdHJpbmcgVGhlIHN0cmluZyB0byBzZWFyY2ggaW50b1xuICogQHBhcmFtIHJlZ2V4IFRoZSByZWdleCB0byBzZWFyY2ggaW50byB0aGUgc3RyaW5nXG4gKiBAcGFyYW0gcG9zaXRpb24gVGhlIGluZGV4IGF0IHdoaWNoIHRvIGJlZ2luIHNlYXJjaGluZyB0aGUgc3RyaW5nLiBJZiBvbWl0dGVkLCBzZWFyY2ggc3RhcnRzIGF0IHRoZSBpbmRleCAwLlxuICogQHJldHVybnMgIHRoZSBwb3NpdGlvbiBvZiB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiB0aGUgaW5mb3JtZWQgcmVnZXguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWdleEluZGV4T2Yoc3RyaW5nOiBzdHJpbmcsIHJlZ2V4OiBSZWdFeHAsIHBvc2l0aW9uOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGNvbnN0IGluZGV4T2YgPSBzdHJpbmcuc3Vic3RyaW5nKHBvc2l0aW9uIHx8IDApLnNlYXJjaChyZWdleCk7XG4gICAgcmV0dXJuIChpbmRleE9mID49IDApID8gKGluZGV4T2YgKyAocG9zaXRpb24gfHwgMCkpIDogaW5kZXhPZjtcbn1cbiJdfQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9jb2RlLWVkaXRvci9pbmZyYS9jb3Jlcy9jb2RlbWlycm9yLTYvbGFuZ3VhZ2VzL3RheC1jYWxjdWxhdGlvbi9leHRlbnNpb25zL29uLXBhc3RlLWNvbXBsZXRpb24taXRlbXMtdXBkYXRlci9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qIEludGVyZmFjZXMgKi9cbmV4cG9ydCAqIGZyb20gXCIuL2ludGVyZmFjZXMvcmVxdWVzdC1leHRyYS1pbmZvXCI7XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1leHRyYS1pbmZvLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvY29kZS1lZGl0b3IvaW5mcmEvY29yZXMvY29kZW1pcnJvci02L2xhbmd1YWdlcy90YXgtY2FsY3VsYXRpb24vZXh0ZW5zaW9ucy9vbi1wYXN0ZS1jb21wbGV0aW9uLWl0ZW1zLXVwZGF0ZXIvbW9kZWxzL2ludGVyZmFjZXMvcmVxdWVzdC1leHRyYS1pbmZvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RFeHRyYUluZm8ge1xuICAgIHBhdGg6IHN0cmluZztcbiAgICBmaWx0ZXI6IHN0cmluZztcbn1cbiJdfQ==
|