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