jsf.js_next_gen 4.0.1-beta.6 → 4.0.1-beta.8
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/dist/docs/assets/style.css +4 -5
- package/dist/window/faces-development.js +43 -54
- package/dist/window/faces-development.js.br +0 -0
- package/dist/window/faces-development.js.gz +0 -0
- package/dist/window/faces-development.js.map +1 -1
- package/dist/window/faces.js +1 -1
- package/dist/window/faces.js.br +0 -0
- package/dist/window/faces.js.gz +0 -0
- package/dist/window/faces.js.map +1 -1
- package/dist/window/jsf-development.js +43 -54
- package/dist/window/jsf-development.js.br +0 -0
- package/dist/window/jsf-development.js.gz +0 -0
- package/dist/window/jsf-development.js.map +1 -1
- package/dist/window/jsf.js +1 -1
- package/dist/window/jsf.js.br +0 -0
- package/dist/window/jsf.js.gz +0 -0
- package/dist/window/jsf.js.map +1 -1
- package/package.json +10 -10
- package/src/main/typescript/impl/AjaxImpl.ts +5 -5
- package/src/main/typescript/impl/util/ExtDomQuery.ts +17 -22
- package/src/main/typescript/impl/xhrCore/RequestDataResolver.ts +2 -2
- package/src/main/typescript/impl/xhrCore/XhrRequest.ts +1 -1
- package/src/main/typescript/test/frameworkBase/_ext/monadish/DomQueryTest.spec.ts +1 -1
- package/src/main/typescript/test/frameworkBase/_ext/shared/StandardInits.ts +86 -0
- package/src/main/typescript/test/frameworkBase/_ext/shared/XmlResponses.ts +53 -0
- package/src/main/typescript/test/frameworkBase/_ext/shared/fixtures/css/bootstrap-icons.css +15 -0
- package/src/main/typescript/test/frameworkBase/_ext/shared/fixtures/css/tobago.css +15 -0
- package/src/main/typescript/test/frameworkBase/_ext/shared/fixtures/js/tobago.js +15 -0
- package/src/main/typescript/test/xhrCore/ErrorChainTest.spec.ts +23 -0
- package/src/main/typescript/test/xhrCore/RequestParamsTest.spec.ts +1 -1
- package/src/main/typescript/test/xhrCore/ResponseTest23.spec.ts +19 -0
- package/target/AssocArray.js +281 -0
- package/target/AssocArray.js.map +1 -0
- package/target/Config.js +235 -0
- package/target/Config.js.map +1 -0
- package/target/CryptoExtensions.js +112 -0
- package/target/CryptoExtensions.js.map +1 -0
- package/target/DomQuery.js +1963 -0
- package/target/DomQuery.js.map +1 -0
- package/target/Es2019Array.js +117 -0
- package/target/Es2019Array.js.map +1 -0
- package/target/Global.js +38 -0
- package/target/Global.js.map +1 -0
- package/target/IDomQuery.js +3 -0
- package/target/IDomQuery.js.map +1 -0
- package/target/Lang.js +183 -0
- package/target/Lang.js.map +1 -0
- package/target/Messaging.js +645 -0
- package/target/Messaging.js.map +1 -0
- package/target/Monad.js +330 -0
- package/target/Monad.js.map +1 -0
- package/target/Promise.js +296 -0
- package/target/Promise.js.map +1 -0
- package/target/PromiseShim.js +30 -0
- package/target/PromiseShim.js.map +1 -0
- package/target/SourcesCollectors.js +444 -0
- package/target/SourcesCollectors.js.map +1 -0
- package/target/Stream.js +562 -0
- package/target/Stream.js.map +1 -0
- package/target/TagBuilder.js +178 -0
- package/target/TagBuilder.js.map +1 -0
- package/target/XmlQuery.js +84 -0
- package/target/XmlQuery.js.map +1 -0
- package/target/impl/AjaxImpl.js +4 -4
- package/target/impl/AjaxImpl.js.map +1 -1
- package/target/impl/util/ExtDomQuery.js +13 -19
- package/target/impl/util/ExtDomQuery.js.map +1 -1
- package/target/impl/xhrCore/RequestDataResolver.js +1 -1
- package/target/impl/xhrCore/RequestDataResolver.js.map +1 -1
- package/target/index.js +80 -0
- package/target/index.js.map +1 -0
- package/target/index_core.js +76 -0
- package/target/index_core.js.map +1 -0
- package/target/test/frameworkBase/_ext/monadish/DomQueryTest.spec.js +1 -1
- package/target/test/frameworkBase/_ext/shared/StandardInits.js +85 -0
- package/target/test/frameworkBase/_ext/shared/StandardInits.js.map +1 -1
- package/target/test/frameworkBase/_ext/shared/XmlResponses.js +53 -1
- package/target/test/frameworkBase/_ext/shared/XmlResponses.js.map +1 -1
- package/target/test/xhrCore/ErrorChainTest.spec.js +21 -0
- package/target/test/xhrCore/ErrorChainTest.spec.js.map +1 -1
- package/target/test/xhrCore/RequestParamsTest.spec.js.map +1 -1
- package/target/test/xhrCore/ResponseTest23.spec.js +14 -0
- package/target/test/xhrCore/ResponseTest23.spec.js.map +1 -1
- package/target/types/main/typescript/AssocArray.d.ts +86 -0
- package/target/types/main/typescript/Config.d.ts +94 -0
- package/target/types/main/typescript/CryptoExtensions.d.ts +87 -0
- package/target/types/main/typescript/DomQuery.d.ts +587 -0
- package/target/types/main/typescript/Es2019Array.d.ts +30 -0
- package/target/types/main/typescript/Global.d.ts +23 -0
- package/target/types/main/typescript/IDomQuery.d.ts +480 -0
- package/target/types/main/typescript/Lang.d.ts +97 -0
- package/target/types/main/typescript/Messaging.d.ts +285 -0
- package/target/types/main/typescript/Monad.d.ts +161 -0
- package/target/types/main/typescript/Promise.d.ts +58 -0
- package/target/types/main/typescript/PromiseShim.d.ts +22 -0
- package/target/types/main/typescript/SourcesCollectors.d.ts +280 -0
- package/target/types/main/typescript/Stream.d.ts +284 -0
- package/target/types/main/typescript/TagBuilder.d.ts +50 -0
- package/target/types/main/typescript/XmlQuery.d.ts +31 -0
- package/target/types/main/typescript/api/_api.d.ts +182 -0
- package/target/types/main/typescript/api/faces.d.ts +17 -0
- package/target/types/main/typescript/api/jsf.d.ts +17 -0
- package/target/types/main/typescript/impl/AjaxImpl.d.ts +164 -0
- package/target/types/main/typescript/impl/PushImpl.d.ts +38 -0
- package/target/types/main/typescript/impl/core/Const.d.ts +138 -0
- package/target/types/main/typescript/impl/core/ImplTypes.d.ts +16 -0
- package/target/types/main/typescript/impl/i18n/Messages.d.ts +102 -0
- package/target/types/main/typescript/impl/util/Assertions.d.ts +46 -0
- package/target/types/main/typescript/impl/util/AsyncRunnable.d.ts +112 -0
- package/target/types/main/typescript/impl/util/ExtDomQuery.d.ts +100 -0
- package/target/types/main/typescript/impl/util/FileUtils.d.ts +25 -0
- package/target/types/main/typescript/impl/util/HiddenInputBuilder.d.ts +37 -0
- package/target/types/main/typescript/impl/util/IListener.d.ts +18 -0
- package/target/types/main/typescript/impl/util/Lang.d.ts +138 -0
- package/target/types/main/typescript/impl/util/XhrQueueController.d.ts +51 -0
- package/target/types/main/typescript/impl/xhrCore/ErrorData.d.ts +37 -0
- package/target/types/main/typescript/impl/xhrCore/EventData.d.ts +25 -0
- package/target/types/main/typescript/impl/xhrCore/IResponseProcessor.d.ts +136 -0
- package/target/types/main/typescript/impl/xhrCore/RequestDataResolver.d.ts +84 -0
- package/target/types/main/typescript/impl/xhrCore/ResonseDataResolver.d.ts +60 -0
- package/target/types/main/typescript/impl/xhrCore/Response.d.ts +29 -0
- package/target/types/main/typescript/impl/xhrCore/ResponseProcessor.d.ts +208 -0
- package/target/types/main/typescript/impl/xhrCore/XhrFormData.d.ts +83 -0
- package/target/types/main/typescript/impl/xhrCore/XhrRequest.d.ts +102 -0
- package/target/types/main/typescript/index.d.ts +34 -0
- package/target/types/main/typescript/index_core.d.ts +29 -0
- package/target/types/main/typescript/myfaces/OamSubmit.d.ts +53 -0
- package/target/types/main/typescript/test/frameworkBase/LangTest.spec.d.ts +1 -0
- package/target/types/main/typescript/test/frameworkBase/_ext/monadish/DomQueryTest.spec.d.ts +1 -0
- package/target/types/main/typescript/test/frameworkBase/_ext/monadish/LangTest.spec.d.ts +16 -0
- package/target/types/main/typescript/test/frameworkBase/_ext/monadish/MappingProbes.d.ts +39 -0
- package/target/types/main/typescript/test/frameworkBase/_ext/monadish/MappingTest.spec.d.ts +16 -0
- package/target/types/main/typescript/test/frameworkBase/_ext/monadish/MonadTest.spec.d.ts +16 -0
- package/target/types/main/typescript/test/frameworkBase/_ext/monadish/XmlQueryTest.spec.d.ts +0 -0
- package/target/types/main/typescript/test/frameworkBase/_ext/monadish/markups/tobago-with-header.d.ts +1 -0
- package/target/types/main/typescript/test/frameworkBase/_ext/monadish/markups/tobago-without-header.d.ts +1 -0
- package/target/types/main/typescript/test/frameworkBase/_ext/shared/StandardInits.d.ts +63 -0
- package/target/types/main/typescript/test/frameworkBase/_ext/shared/XmlResponses.d.ts +23 -0
- package/target/types/main/typescript/test/impl/ImplTest.spec.d.ts +16 -0
- package/target/types/main/typescript/test/impl/ImplTest_23.spec.d.ts +16 -0
- package/target/types/main/typescript/test/impl/SeparatorCharsTest.spec.d.ts +16 -0
- package/target/types/main/typescript/test/myfaces/OamSubmit.spec.d.ts +16 -0
- package/target/types/main/typescript/test/myfaces/OnLoad.spec.d.ts +16 -0
- package/target/types/main/typescript/test/queue/AsynchronousProbe.d.ts +38 -0
- package/target/types/main/typescript/test/queue/AsynchronousQueueTest.spec.d.ts +16 -0
- package/target/types/main/typescript/test/xhrCore/ClientWindow.spec.d.ts +1 -0
- package/target/types/main/typescript/test/xhrCore/ErrorChainTest.spec.d.ts +16 -0
- package/target/types/main/typescript/test/xhrCore/EventTests.spec.d.ts +16 -0
- package/target/types/main/typescript/test/xhrCore/FakeWebsocket.d.ts +24 -0
- package/target/types/main/typescript/test/xhrCore/FileUploadTest.spec.d.ts +1 -0
- package/target/types/main/typescript/test/xhrCore/NamespacesRequestTest.spec.d.ts +16 -0
- package/target/types/main/typescript/test/xhrCore/OamSubmitTest.spec.d.ts +16 -0
- package/target/types/main/typescript/test/xhrCore/RequestParamsTest.spec.d.ts +1 -0
- package/target/types/main/typescript/test/xhrCore/RequestTest.spec.d.ts +16 -0
- package/target/types/main/typescript/test/xhrCore/RequestTest_23.spec.d.ts +16 -0
- package/target/types/main/typescript/test/xhrCore/ResponseTest.spec.d.ts +16 -0
- package/target/types/main/typescript/test/xhrCore/ResponseTest23.spec.d.ts +16 -0
- package/target/types/main/typescript/test/xhrCore/ShadowDomTest.spec.d.ts +16 -0
- package/target/types/main/typescript/test/xhrCore/TobagoFileUploadTest.spec.d.ts +1 -0
- package/target/types/main/typescript/test/xhrCore/WebsocketTest.d.ts +1 -0
- package/target/types/main/typescript/test/xhrCore/XhrFormDataTest.spec.d.ts +16 -0
- package/target/types/test/typescript/AssocArrayTest.spec.d.ts +1 -0
- package/target/types/test/typescript/DomQueryTest.spec.d.ts +1 -0
- package/target/types/test/typescript/ExtendedArrayTest.spec.d.ts +1 -0
- package/target/types/test/typescript/LangTest.spec.d.ts +1 -0
- package/target/types/test/typescript/MappingProbes.d.ts +24 -0
- package/target/types/test/typescript/MappingTest.spec.d.ts +1 -0
- package/target/types/test/typescript/MessagingTest.spec.d.ts +1 -0
- package/target/types/test/typescript/MonadTest.spec.d.ts +16 -0
- package/target/types/test/typescript/PromiseTest.spec.d.ts +1 -0
- package/target/types/test/typescript/StreamTest.spec.d.ts +1 -0
- package/target/types/test/typescript/XmlQueryTest.spec.d.ts +1 -0
- package/target/types/test/typescript/markups/tobago-with-header.d.ts +1 -0
- package/target/types/test/typescript/markups/tobago-without-header.d.ts +1 -0
- package/webpack.config.js +1 -1
- package/webpack.config.js.map +1 -1
- package/.nyc_output/09ca9ebc-2305-4357-8db9-48ddfc7dfde2.json +0 -1
- package/.nyc_output/7c496a14-166e-4aa5-85b9-47b22b055ad8.json +0 -1
- package/.nyc_output/processinfo/09ca9ebc-2305-4357-8db9-48ddfc7dfde2.json +0 -1
- package/.nyc_output/processinfo/7c496a14-166e-4aa5-85b9-47b22b055ad8.json +0 -1
- package/.nyc_output/processinfo/index.json +0 -1
- package/src/test.html +0 -75
- package/src/tmp/test.html +0 -16
- package/tmp.xml +0 -36
|
@@ -0,0 +1,444 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*!
|
|
3
|
+
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
4
|
+
* contributor license agreements. See the NOTICE file distributed with
|
|
5
|
+
* this work for additional information regarding copyright ownership.
|
|
6
|
+
* The ASF licenses this file to you under the Apache License, Version 2.0
|
|
7
|
+
* (the "License"); you may not use this file except in compliance with
|
|
8
|
+
* the License. You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
* See the License for the specific language governing permissions and
|
|
16
|
+
* limitations under the License.
|
|
17
|
+
*/
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.ArrayCollector = exports.QueryFormStringCollector = exports.QueryFormDataCollector = exports.FormDataCollector = exports.ConfigCollector = exports.AssocArrayCollector = exports.Run = exports.ArrayAssocArrayCollector = exports.InverseArrayCollector = exports.ShimArrayCollector = exports.MappedStreamDataSource = exports.FilteredStreamDatasource = exports.ArrayStreamDataSource = exports.SequenceDataSource = exports.MultiStreamDatasource = exports.calculateSkips = exports.ITERATION_STATUS = void 0;
|
|
20
|
+
const Es2019Array_1 = require("./Es2019Array");
|
|
21
|
+
const Config_1 = require("./Config");
|
|
22
|
+
/**
|
|
23
|
+
* special status of the datasource location pointer
|
|
24
|
+
* if an access, outside - of the possible data boundaries is happening
|
|
25
|
+
* (example for instance current without a first next call, or next
|
|
26
|
+
* which goes over the last possible dataset), an iteration status return
|
|
27
|
+
* value is returned marking this boundary instead of a classical element
|
|
28
|
+
*
|
|
29
|
+
* Note this is only internally used but must be implemented to fulfill
|
|
30
|
+
* internal contracts, the end user will never see those values if he uses
|
|
31
|
+
* streams!
|
|
32
|
+
*/
|
|
33
|
+
var ITERATION_STATUS;
|
|
34
|
+
(function (ITERATION_STATUS) {
|
|
35
|
+
ITERATION_STATUS["EO_STRM"] = "__EO_STRM__";
|
|
36
|
+
ITERATION_STATUS["BEF_STRM"] = "___BEF_STRM__";
|
|
37
|
+
})(ITERATION_STATUS = exports.ITERATION_STATUS || (exports.ITERATION_STATUS = {}));
|
|
38
|
+
function calculateSkips(next_strm) {
|
|
39
|
+
let pos = 1;
|
|
40
|
+
while (next_strm.lookAhead(pos) != ITERATION_STATUS.EO_STRM) {
|
|
41
|
+
pos++;
|
|
42
|
+
}
|
|
43
|
+
return --pos;
|
|
44
|
+
}
|
|
45
|
+
exports.calculateSkips = calculateSkips;
|
|
46
|
+
/**
|
|
47
|
+
* A data source which combines multiple streams sequentially into one
|
|
48
|
+
* (this is used internally by flatmap, but also can be used externally)
|
|
49
|
+
*/
|
|
50
|
+
class MultiStreamDatasource {
|
|
51
|
+
constructor(first, ...strms) {
|
|
52
|
+
this.first = first;
|
|
53
|
+
this.selectedPos = 0;
|
|
54
|
+
this.strms = [first].concat(...strms);
|
|
55
|
+
this.activeStrm = this.strms[this.selectedPos];
|
|
56
|
+
}
|
|
57
|
+
current() {
|
|
58
|
+
return this.activeStrm.current();
|
|
59
|
+
}
|
|
60
|
+
hasNext() {
|
|
61
|
+
if (this.activeStrm.hasNext()) {
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
if (this.selectedPos >= this.strms.length) {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
return this.findNextStrm() != -1;
|
|
68
|
+
}
|
|
69
|
+
findNextStrm() {
|
|
70
|
+
let hasNext = false;
|
|
71
|
+
let cnt = this.selectedPos;
|
|
72
|
+
while (!hasNext && cnt < this.strms.length) {
|
|
73
|
+
hasNext = this.strms[cnt].hasNext();
|
|
74
|
+
if (!hasNext) {
|
|
75
|
+
cnt++;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return hasNext ? cnt : -1;
|
|
79
|
+
}
|
|
80
|
+
lookAhead(cnt = 1) {
|
|
81
|
+
//lets clone
|
|
82
|
+
const strms = this.strms.slice(this.selectedPos);
|
|
83
|
+
if (!strms.length) {
|
|
84
|
+
return ITERATION_STATUS.EO_STRM;
|
|
85
|
+
}
|
|
86
|
+
const all_strms = [...strms];
|
|
87
|
+
while (all_strms.length) {
|
|
88
|
+
let next_strm = all_strms.shift();
|
|
89
|
+
let lookAhead = next_strm.lookAhead(cnt);
|
|
90
|
+
if (lookAhead != ITERATION_STATUS.EO_STRM) {
|
|
91
|
+
return lookAhead;
|
|
92
|
+
}
|
|
93
|
+
cnt = cnt - calculateSkips(next_strm);
|
|
94
|
+
}
|
|
95
|
+
return ITERATION_STATUS.EO_STRM;
|
|
96
|
+
}
|
|
97
|
+
next() {
|
|
98
|
+
if (this.activeStrm.hasNext()) {
|
|
99
|
+
return this.activeStrm.next();
|
|
100
|
+
}
|
|
101
|
+
this.selectedPos = this.findNextStrm();
|
|
102
|
+
if (this.selectedPos == -1) {
|
|
103
|
+
return ITERATION_STATUS.EO_STRM;
|
|
104
|
+
}
|
|
105
|
+
this.activeStrm = this.strms[this.selectedPos];
|
|
106
|
+
return this.activeStrm.next();
|
|
107
|
+
}
|
|
108
|
+
reset() {
|
|
109
|
+
this.activeStrm = this.strms[0];
|
|
110
|
+
this.selectedPos = 0;
|
|
111
|
+
for (let cnt = 0; cnt < this.strms.length; cnt++) {
|
|
112
|
+
this.strms[cnt].reset();
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
exports.MultiStreamDatasource = MultiStreamDatasource;
|
|
117
|
+
/**
|
|
118
|
+
* defines a sequence of numbers for our stream input
|
|
119
|
+
*/
|
|
120
|
+
class SequenceDataSource {
|
|
121
|
+
constructor(start, total) {
|
|
122
|
+
this.total = total;
|
|
123
|
+
this.start = start;
|
|
124
|
+
this.value = start - 1;
|
|
125
|
+
}
|
|
126
|
+
hasNext() {
|
|
127
|
+
return this.value < (this.total - 1);
|
|
128
|
+
}
|
|
129
|
+
next() {
|
|
130
|
+
this.value++;
|
|
131
|
+
return this.value <= (this.total - 1) ? this.value : ITERATION_STATUS.EO_STRM;
|
|
132
|
+
}
|
|
133
|
+
lookAhead(cnt = 1) {
|
|
134
|
+
if ((this.value + cnt) > this.total - 1) {
|
|
135
|
+
return ITERATION_STATUS.EO_STRM;
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
return this.value + cnt;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
reset() {
|
|
142
|
+
this.value = this.start - 1;
|
|
143
|
+
}
|
|
144
|
+
current() {
|
|
145
|
+
//first condition current without initial call for next
|
|
146
|
+
return (this.start - 1) ? ITERATION_STATUS.BEF_STRM : this.value;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
exports.SequenceDataSource = SequenceDataSource;
|
|
150
|
+
/**
|
|
151
|
+
* implementation of a datasource on top of a standard array
|
|
152
|
+
*/
|
|
153
|
+
class ArrayStreamDataSource {
|
|
154
|
+
constructor(...value) {
|
|
155
|
+
this.dataPos = -1;
|
|
156
|
+
this.value = value;
|
|
157
|
+
}
|
|
158
|
+
lookAhead(cnt = 1) {
|
|
159
|
+
if ((this.dataPos + cnt) > this.value.length - 1) {
|
|
160
|
+
return ITERATION_STATUS.EO_STRM;
|
|
161
|
+
}
|
|
162
|
+
return this.value[this.dataPos + cnt];
|
|
163
|
+
}
|
|
164
|
+
hasNext() {
|
|
165
|
+
return this.value.length - 1 > this.dataPos;
|
|
166
|
+
}
|
|
167
|
+
next() {
|
|
168
|
+
var _a;
|
|
169
|
+
this.dataPos++;
|
|
170
|
+
return (_a = this === null || this === void 0 ? void 0 : this.value[this.dataPos]) !== null && _a !== void 0 ? _a : ITERATION_STATUS.EO_STRM;
|
|
171
|
+
}
|
|
172
|
+
reset() {
|
|
173
|
+
this.dataPos = -1;
|
|
174
|
+
}
|
|
175
|
+
current() {
|
|
176
|
+
return this.value[Math.max(0, this.dataPos)];
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
exports.ArrayStreamDataSource = ArrayStreamDataSource;
|
|
180
|
+
/**
|
|
181
|
+
* an intermediate data source which prefilters
|
|
182
|
+
* incoming stream data
|
|
183
|
+
* and lets only the data out which
|
|
184
|
+
* passes the filter function check
|
|
185
|
+
*/
|
|
186
|
+
class FilteredStreamDatasource {
|
|
187
|
+
constructor(filterFunc, parent) {
|
|
188
|
+
this._current = ITERATION_STATUS.BEF_STRM;
|
|
189
|
+
// we have to add a filter idx because the external filter values might change over time, so
|
|
190
|
+
// we cannot reset the state properly unless we do it from a snapshot
|
|
191
|
+
this._filterIdx = {};
|
|
192
|
+
this._unfilteredPos = 0;
|
|
193
|
+
this.filterFunc = filterFunc;
|
|
194
|
+
this.inputDataSource = parent;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* in order to filter we have to make a look ahead until the
|
|
198
|
+
* first next allowed element
|
|
199
|
+
* hence we prefetch the element and then
|
|
200
|
+
* serve it via next
|
|
201
|
+
*/
|
|
202
|
+
hasNext() {
|
|
203
|
+
let steps = 1;
|
|
204
|
+
let found = false;
|
|
205
|
+
let next;
|
|
206
|
+
while (!found && (next = this.inputDataSource.lookAhead(steps)) != ITERATION_STATUS.EO_STRM) {
|
|
207
|
+
if (this.filterFunc(next)) {
|
|
208
|
+
this._filterIdx[this._unfilteredPos + steps] = true;
|
|
209
|
+
found = true;
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
steps++;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
return found;
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* serve the next element
|
|
219
|
+
*/
|
|
220
|
+
next() {
|
|
221
|
+
var _a, _b;
|
|
222
|
+
let found = ITERATION_STATUS.EO_STRM;
|
|
223
|
+
while (this.inputDataSource.hasNext()) {
|
|
224
|
+
this._unfilteredPos++;
|
|
225
|
+
let next = this.inputDataSource.next();
|
|
226
|
+
//again here we cannot call the filter function twice, because its state might change, so if indexed, we have a decent snapshot, either has next or next can trigger
|
|
227
|
+
//the snapshot
|
|
228
|
+
if (next != ITERATION_STATUS.EO_STRM &&
|
|
229
|
+
(((_b = (_a = this._filterIdx) === null || _a === void 0 ? void 0 : _a[this._unfilteredPos]) !== null && _b !== void 0 ? _b : false) || this.filterFunc(next))) {
|
|
230
|
+
this._filterIdx[this._unfilteredPos] = true;
|
|
231
|
+
found = next;
|
|
232
|
+
break;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
this._current = found;
|
|
236
|
+
return found;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* looks ahead cnt without changing the internal data "pointers" of the data source
|
|
240
|
+
* (this is mostly needed by LazyStreams, because they do not know by definition their
|
|
241
|
+
* boundaries)
|
|
242
|
+
*
|
|
243
|
+
* @param cnt the elements to look ahead
|
|
244
|
+
* @return either the element or ITERATION_STATUS.EO_STRM if we hit the end of the stream before
|
|
245
|
+
* finding the "cnt" element
|
|
246
|
+
*/
|
|
247
|
+
lookAhead(cnt = 1) {
|
|
248
|
+
var _a;
|
|
249
|
+
let lookupVal;
|
|
250
|
+
for (let loop = 1; cnt > 0 && (lookupVal = this.inputDataSource.lookAhead(loop)) != ITERATION_STATUS.EO_STRM; loop++) {
|
|
251
|
+
let inCache = (_a = this._filterIdx) === null || _a === void 0 ? void 0 : _a[this._unfilteredPos + loop];
|
|
252
|
+
if (inCache || this.filterFunc(lookupVal)) {
|
|
253
|
+
cnt--;
|
|
254
|
+
this._filterIdx[this._unfilteredPos + loop] = true;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
return lookupVal;
|
|
258
|
+
}
|
|
259
|
+
current() {
|
|
260
|
+
return this._current;
|
|
261
|
+
}
|
|
262
|
+
reset() {
|
|
263
|
+
this._current = ITERATION_STATUS.BEF_STRM;
|
|
264
|
+
this._filterIdx = {};
|
|
265
|
+
this._unfilteredPos = 0;
|
|
266
|
+
this.inputDataSource.reset();
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
exports.FilteredStreamDatasource = FilteredStreamDatasource;
|
|
270
|
+
/**
|
|
271
|
+
* an intermediate datasource which maps the items from
|
|
272
|
+
* one into another
|
|
273
|
+
*/
|
|
274
|
+
class MappedStreamDataSource {
|
|
275
|
+
constructor(mapFunc, parent) {
|
|
276
|
+
this.mapFunc = mapFunc;
|
|
277
|
+
this.inputDataSource = parent;
|
|
278
|
+
}
|
|
279
|
+
hasNext() {
|
|
280
|
+
return this.inputDataSource.hasNext();
|
|
281
|
+
}
|
|
282
|
+
next() {
|
|
283
|
+
return this.mapFunc(this.inputDataSource.next());
|
|
284
|
+
}
|
|
285
|
+
reset() {
|
|
286
|
+
this.inputDataSource.reset();
|
|
287
|
+
}
|
|
288
|
+
current() {
|
|
289
|
+
return this.mapFunc(this.inputDataSource.current());
|
|
290
|
+
}
|
|
291
|
+
lookAhead(cnt = 1) {
|
|
292
|
+
const lookAheadVal = this.inputDataSource.lookAhead(cnt);
|
|
293
|
+
return (lookAheadVal == ITERATION_STATUS.EO_STRM) ? lookAheadVal : this.mapFunc(lookAheadVal);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
exports.MappedStreamDataSource = MappedStreamDataSource;
|
|
297
|
+
/**
|
|
298
|
+
* For the time being we only need one collector
|
|
299
|
+
* a collector which collects a stream back into arrays
|
|
300
|
+
*/
|
|
301
|
+
class ShimArrayCollector {
|
|
302
|
+
constructor() {
|
|
303
|
+
this.data = new Es2019Array_1.Es2019Array(...[]);
|
|
304
|
+
}
|
|
305
|
+
collect(element) {
|
|
306
|
+
this.data.push(element);
|
|
307
|
+
}
|
|
308
|
+
get finalValue() {
|
|
309
|
+
return this.data;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
exports.ShimArrayCollector = ShimArrayCollector;
|
|
313
|
+
/**
|
|
314
|
+
* collects the values as inverse array
|
|
315
|
+
*/
|
|
316
|
+
class InverseArrayCollector {
|
|
317
|
+
constructor() {
|
|
318
|
+
this.data = [];
|
|
319
|
+
}
|
|
320
|
+
collect(element) {
|
|
321
|
+
this.data.unshift(element);
|
|
322
|
+
}
|
|
323
|
+
get finalValue() {
|
|
324
|
+
return this.data;
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
exports.InverseArrayCollector = InverseArrayCollector;
|
|
328
|
+
/**
|
|
329
|
+
* collects an tuple array stream into an assoc array with elements being collected into arrays
|
|
330
|
+
*
|
|
331
|
+
*/
|
|
332
|
+
class ArrayAssocArrayCollector {
|
|
333
|
+
constructor() {
|
|
334
|
+
this.finalValue = {};
|
|
335
|
+
}
|
|
336
|
+
collect(element) {
|
|
337
|
+
var _a, _b, _c, _d;
|
|
338
|
+
let key = (_a = element === null || element === void 0 ? void 0 : element[0]) !== null && _a !== void 0 ? _a : element;
|
|
339
|
+
this.finalValue[key] = (_c = (_b = this.finalValue) === null || _b === void 0 ? void 0 : _b[key]) !== null && _c !== void 0 ? _c : [];
|
|
340
|
+
this.finalValue[key].push((_d = element === null || element === void 0 ? void 0 : element[1]) !== null && _d !== void 0 ? _d : true);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
exports.ArrayAssocArrayCollector = ArrayAssocArrayCollector;
|
|
344
|
+
/**
|
|
345
|
+
* dummy collector which just triggers a run
|
|
346
|
+
* on lazy streams without collecting anything
|
|
347
|
+
*/
|
|
348
|
+
class Run {
|
|
349
|
+
collect(element) {
|
|
350
|
+
}
|
|
351
|
+
get finalValue() {
|
|
352
|
+
return null;
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
exports.Run = Run;
|
|
356
|
+
/**
|
|
357
|
+
* collects an assoc stream back to an assoc array
|
|
358
|
+
*/
|
|
359
|
+
class AssocArrayCollector {
|
|
360
|
+
constructor() {
|
|
361
|
+
this.finalValue = {};
|
|
362
|
+
}
|
|
363
|
+
collect(element) {
|
|
364
|
+
var _a, _b;
|
|
365
|
+
this.finalValue[(_a = element[0]) !== null && _a !== void 0 ? _a : element] = (_b = element[1]) !== null && _b !== void 0 ? _b : true;
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
exports.AssocArrayCollector = AssocArrayCollector;
|
|
369
|
+
/**
|
|
370
|
+
* A Config collector similar to the FormDFata Collector
|
|
371
|
+
*/
|
|
372
|
+
class ConfigCollector {
|
|
373
|
+
constructor() {
|
|
374
|
+
this.finalValue = new Config_1.Config({});
|
|
375
|
+
}
|
|
376
|
+
collect(element) {
|
|
377
|
+
this.finalValue.append(element.key).value = element.value;
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
exports.ConfigCollector = ConfigCollector;
|
|
381
|
+
/**
|
|
382
|
+
* Form data collector for key value pair streams
|
|
383
|
+
*/
|
|
384
|
+
class FormDataCollector {
|
|
385
|
+
constructor() {
|
|
386
|
+
this.finalValue = new FormData();
|
|
387
|
+
}
|
|
388
|
+
collect(element) {
|
|
389
|
+
this.finalValue.append(element.key, element.value);
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
exports.FormDataCollector = FormDataCollector;
|
|
393
|
+
/**
|
|
394
|
+
* Form data collector for DomQuery streams
|
|
395
|
+
*/
|
|
396
|
+
class QueryFormDataCollector {
|
|
397
|
+
constructor() {
|
|
398
|
+
this.finalValue = new FormData();
|
|
399
|
+
}
|
|
400
|
+
collect(element) {
|
|
401
|
+
let toMerge = element.encodeFormElement();
|
|
402
|
+
if (toMerge.isPresent()) {
|
|
403
|
+
this.finalValue.append(element.name.value, toMerge.get(element.name).value);
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
exports.QueryFormDataCollector = QueryFormDataCollector;
|
|
408
|
+
/**
|
|
409
|
+
* Encoded String collector from dom query streams
|
|
410
|
+
*/
|
|
411
|
+
class QueryFormStringCollector {
|
|
412
|
+
constructor() {
|
|
413
|
+
this.formData = [];
|
|
414
|
+
}
|
|
415
|
+
collect(element) {
|
|
416
|
+
let toMerge = element.encodeFormElement();
|
|
417
|
+
if (toMerge.isPresent()) {
|
|
418
|
+
this.formData.push([element.name.value, toMerge.get(element.name).value]);
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
get finalValue() {
|
|
422
|
+
return new Es2019Array_1.Es2019Array(...this.formData)
|
|
423
|
+
.map(keyVal => keyVal.join("="))
|
|
424
|
+
.reduce((item1, item2) => [item1, item2].join("&"));
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
exports.QueryFormStringCollector = QueryFormStringCollector;
|
|
428
|
+
/**
|
|
429
|
+
* For the time being we only need one collector
|
|
430
|
+
* a collector which collects a stream back into arrays
|
|
431
|
+
*/
|
|
432
|
+
class ArrayCollector {
|
|
433
|
+
constructor() {
|
|
434
|
+
this.data = [];
|
|
435
|
+
}
|
|
436
|
+
collect(element) {
|
|
437
|
+
this.data.push(element);
|
|
438
|
+
}
|
|
439
|
+
get finalValue() {
|
|
440
|
+
return this.data;
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
exports.ArrayCollector = ArrayCollector;
|
|
444
|
+
//# sourceMappingURL=SourcesCollectors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SourcesCollectors.js","sourceRoot":"","sources":["../src/main/typescript/SourcesCollectors.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAGH,+CAA0C;AAC1C,qCAAgC;AAEhC;;;;;;;;;;GAUG;AACH,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IACxB,2CAAuB,CAAA;IACvB,8CAA0B,CAAA;AAC9B,CAAC,EAHW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAG3B;AAED,SAAgB,cAAc,CAAC,SAAiC;IAC5D,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,OAAO,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE;QACzD,GAAG,EAAE,CAAC;KACT;IACD,OAAO,EAAE,GAAG,CAAC;AACjB,CAAC;AAND,wCAMC;AAgED;;;GAGG;AACH,MAAa,qBAAqB;IAM9B,YAAoB,KAAK,EAAE,GAAG,KAAkC;QAA5C,UAAK,GAAL,KAAK,CAAA;QAHhB,gBAAW,GAAG,CAAC,CAAC;QAIrB,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IACrC,CAAC;IAED,OAAO;QACH,IAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE;YAC1B,OAAO,IAAI,CAAC;SACf;QACD,IAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACtC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;IACrC,CAAC;IAEO,YAAY;QAChB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3B,OAAM,CAAC,OAAO,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACvC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;YACpC,IAAG,CAAC,OAAO,EAAE;gBACT,GAAG,EAAE,CAAC;aACT;SACJ;QACD,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS,CAAC,MAAc,CAAC;QACrB,YAAY;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEjD,IAAG,CAAC,KAAK,CAAC,MAAM,EAAE;YACd,OAAO,gBAAgB,CAAC,OAAO,CAAC;SACnC;QAED,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAC7B,OAAM,SAAS,CAAC,MAAM,EAAE;YACpB,IAAI,SAAS,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAEzC,IAAI,SAAS,IAAI,gBAAgB,CAAC,OAAO,EAAE;gBACvC,OAAO,SAAS,CAAC;aACpB;YACD,GAAG,GAAG,GAAG,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;SACzC;QACD,OAAO,gBAAgB,CAAC,OAAO,CAAC;IACpC,CAAC;IAGD,IAAI;QACA,IAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE;YAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;SACjC;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACvC,IAAG,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,EAAE;YACvB,OAAO,gBAAgB,CAAC,OAAO,CAAC;SACnC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;IAED,KAAK;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,KAAI,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;YAC7C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;SAC3B;IACL,CAAC;CAEJ;AA/ED,sDA+EC;AAED;;GAEG;AACH,MAAa,kBAAkB;IAM3B,YAAY,KAAa,EAAE,KAAa;QACpC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;IAC3B,CAAC;IAGD,OAAO;QACH,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,IAAI;QACA,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC;IAClF,CAAC;IAED,SAAS,CAAC,GAAG,GAAG,CAAC;QACb,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE;YACrC,OAAO,gBAAgB,CAAC,OAAO,CAAC;SACnC;aAAM;YACH,OAAO,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;SAC3B;IACL,CAAC;IAED,KAAK;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,OAAO;QACH,uDAAuD;QACvD,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IACrE,CAAC;CACJ;AAtCD,gDAsCC;AAGD;;GAEG;AACH,MAAa,qBAAqB;IAI9B,YAAY,GAAG,KAAe;QAF9B,YAAO,GAAG,CAAC,CAAC,CAAC;QAGT,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,SAAS,CAAC,GAAG,GAAG,CAAC;QACb,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9C,OAAO,gBAAgB,CAAC,OAAO,CAAC;SACnC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;IAChD,CAAC;IAED,IAAI;;QACA,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,OAAO,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,mCAAI,gBAAgB,CAAC,OAAO,CAAC;IACjE,CAAC;IAED,KAAK;QACD,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IACtB,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,CAAC;CACJ;AA/BD,sDA+BC;AAED;;;;;GAKG;AACH,MAAa,wBAAwB;IAWjC,YAAY,UAA0B,EAAE,MAA4B;QANpE,aAAQ,GAAyB,gBAAgB,CAAC,QAAQ,CAAC;QAC3D,4FAA4F;QAC5F,qEAAqE;QACrE,eAAU,GAAG,EAAE,CAAC;QAChB,mBAAc,GAAG,CAAC,CAAC;QAGf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;IAClC,CAAC;IAED;;;;;OAKG;IACH,OAAO;QACH,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,IAAI,CAAC;QAET,OAAO,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE;YACzF,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBACvB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC;gBACpD,KAAK,GAAG,IAAI,CAAC;aAChB;iBAAM;gBACH,KAAK,EAAE,CAAC;aACX;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,IAAI;;QACA,IAAI,KAAK,GAAyB,gBAAgB,CAAC,OAAO,CAAC;QAC3D,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE;YACnC,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,IAAI,GAAS,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;YAC7C,oKAAoK;YACpK,cAAc;YACd,IAAI,IAAI,IAAI,gBAAgB,CAAC,OAAO;gBAChC,CAAC,CAAC,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAG,IAAI,CAAC,cAAc,CAAC,mCAAI,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE;gBAC9E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;gBAC5C,KAAK,GAAG,IAAI,CAAC;gBACb,MAAM;aACT;SACJ;QACD,IAAI,CAAC,QAAQ,GAAG,KAAU,CAAC;QAC3B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;;;OAQG;IACH,SAAS,CAAC,GAAG,GAAG,CAAC;;QACb,IAAI,SAA+B,CAAC;QAEpC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;YAClH,IAAI,OAAO,GAAG,MAAA,IAAI,CAAC,UAAU,0CAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;YAC5D,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;gBACvC,GAAG,EAAE,CAAC;gBACN,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;aACtD;SACJ;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;CACJ;AA3FD,4DA2FC;AAED;;;GAGG;AACH,MAAa,sBAAsB;IAK/B,YAAY,OAAiB,EAAE,MAA4B;QACvD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;IAClC,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI;QACA,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,KAAK;QACD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,SAAS,CAAC,GAAG,GAAG,CAAC;QACb,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACzD,OAAO,CAAC,YAAY,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAgC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAM,CAAC;IAC3H,CAAC;CACJ;AA9BD,wDA8BC;AAGD;;;GAGG;AACH,MAAa,kBAAkB;IAA/B;QACY,SAAI,GAAa,IAAI,yBAAW,CAAC,GAAG,EAAE,CAAC,CAAC;IASpD,CAAC;IAPG,OAAO,CAAC,OAAU;QACd,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;CACJ;AAVD,gDAUC;AAED;;GAEG;AACH,MAAa,qBAAqB;IAAlC;QACY,SAAI,GAAa,EAAE,CAAC;IAShC,CAAC;IAPG,OAAO,CAAC,OAAU;QACd,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;CACJ;AAVD,sDAUC;AAGD;;;GAGG;AACH,MAAa,wBAAwB;IAArC;QACI,eAAU,GAA2B,EAAE,CAAC;IAO5C,CAAC;IALG,OAAO,CAAC,OAA6B;;QACjC,IAAI,GAAG,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,CAAC,CAAC,mCAAY,OAAO,CAAC;QAC1C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAG,GAAG,CAAC,mCAAI,EAAE,CAAC;QACpD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,CAAC,CAAC,mCAAI,IAAI,CAAC,CAAC;IACpD,CAAC;CACJ;AARD,4DAQC;AAED;;;GAGG;AACH,MAAa,GAAG;IACZ,OAAO,CAAC,OAAU;IAElB,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AARD,kBAQC;AAED;;GAEG;AACH,MAAa,mBAAmB;IAAhC;QAEI,eAAU,GAA2B,EAAE,CAAC;IAK5C,CAAC;IAHG,OAAO,CAAC,OAA6B;;QACjC,IAAI,CAAC,UAAU,CAAC,MAAA,OAAO,CAAC,CAAC,CAAC,mCAAY,OAAO,CAAC,GAAG,MAAA,OAAO,CAAC,CAAC,CAAC,mCAAI,IAAI,CAAC;IACxE,CAAC;CACJ;AAPD,kDAOC;AAGD;;GAEG;AACH,MAAa,eAAe;IAA5B;QACI,eAAU,GAAW,IAAI,eAAM,CAAC,EAAE,CAAC,CAAC;IAKxC,CAAC;IAHG,OAAO,CAAC,OAAoC;QACxC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC9D,CAAC;CACJ;AAND,0CAMC;AAGD;;GAEG;AACH,MAAa,iBAAiB;IAA9B;QACI,eAAU,GAAa,IAAI,QAAQ,EAAE,CAAC;IAK1C,CAAC;IAHG,OAAO,CAAC,OAAoC;QACxC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;CACJ;AAND,8CAMC;AAED;;GAEG;AACH,MAAa,sBAAsB;IAAnC;QACI,eAAU,GAAa,IAAI,QAAQ,EAAE,CAAC;IAQ1C,CAAC;IANG,OAAO,CAAC,OAAiB;QACrB,IAAI,OAAO,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC1C,IAAI,OAAO,CAAC,SAAS,EAAE,EAAE;YACrB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;SAC/E;IACL,CAAC;CACJ;AATD,wDASC;AAED;;GAEG;AACH,MAAa,wBAAwB;IAArC;QAEI,aAAQ,GAA4B,EAAE,CAAC;IAc3C,CAAC;IAZG,OAAO,CAAC,OAAiB;QACrB,IAAI,OAAO,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC1C,IAAI,OAAO,CAAC,SAAS,EAAE,EAAE;YACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;SAC7E;IACL,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,yBAAW,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;aACnC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC/B,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC;CACJ;AAhBD,4DAgBC;AAED;;;GAGG;AACH,MAAa,cAAc;IAA3B;QACY,SAAI,GAAa,EAAE,CAAC;IAShC,CAAC;IAPG,OAAO,CAAC,OAAU;QACd,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;CACJ;AAVD,wCAUC"}
|