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.
Files changed (184) hide show
  1. package/dist/docs/assets/style.css +4 -5
  2. package/dist/window/faces-development.js +43 -54
  3. package/dist/window/faces-development.js.br +0 -0
  4. package/dist/window/faces-development.js.gz +0 -0
  5. package/dist/window/faces-development.js.map +1 -1
  6. package/dist/window/faces.js +1 -1
  7. package/dist/window/faces.js.br +0 -0
  8. package/dist/window/faces.js.gz +0 -0
  9. package/dist/window/faces.js.map +1 -1
  10. package/dist/window/jsf-development.js +43 -54
  11. package/dist/window/jsf-development.js.br +0 -0
  12. package/dist/window/jsf-development.js.gz +0 -0
  13. package/dist/window/jsf-development.js.map +1 -1
  14. package/dist/window/jsf.js +1 -1
  15. package/dist/window/jsf.js.br +0 -0
  16. package/dist/window/jsf.js.gz +0 -0
  17. package/dist/window/jsf.js.map +1 -1
  18. package/package.json +10 -10
  19. package/src/main/typescript/impl/AjaxImpl.ts +5 -5
  20. package/src/main/typescript/impl/util/ExtDomQuery.ts +17 -22
  21. package/src/main/typescript/impl/xhrCore/RequestDataResolver.ts +2 -2
  22. package/src/main/typescript/impl/xhrCore/XhrRequest.ts +1 -1
  23. package/src/main/typescript/test/frameworkBase/_ext/monadish/DomQueryTest.spec.ts +1 -1
  24. package/src/main/typescript/test/frameworkBase/_ext/shared/StandardInits.ts +86 -0
  25. package/src/main/typescript/test/frameworkBase/_ext/shared/XmlResponses.ts +53 -0
  26. package/src/main/typescript/test/frameworkBase/_ext/shared/fixtures/css/bootstrap-icons.css +15 -0
  27. package/src/main/typescript/test/frameworkBase/_ext/shared/fixtures/css/tobago.css +15 -0
  28. package/src/main/typescript/test/frameworkBase/_ext/shared/fixtures/js/tobago.js +15 -0
  29. package/src/main/typescript/test/xhrCore/ErrorChainTest.spec.ts +23 -0
  30. package/src/main/typescript/test/xhrCore/RequestParamsTest.spec.ts +1 -1
  31. package/src/main/typescript/test/xhrCore/ResponseTest23.spec.ts +19 -0
  32. package/target/AssocArray.js +281 -0
  33. package/target/AssocArray.js.map +1 -0
  34. package/target/Config.js +235 -0
  35. package/target/Config.js.map +1 -0
  36. package/target/CryptoExtensions.js +112 -0
  37. package/target/CryptoExtensions.js.map +1 -0
  38. package/target/DomQuery.js +1963 -0
  39. package/target/DomQuery.js.map +1 -0
  40. package/target/Es2019Array.js +117 -0
  41. package/target/Es2019Array.js.map +1 -0
  42. package/target/Global.js +38 -0
  43. package/target/Global.js.map +1 -0
  44. package/target/IDomQuery.js +3 -0
  45. package/target/IDomQuery.js.map +1 -0
  46. package/target/Lang.js +183 -0
  47. package/target/Lang.js.map +1 -0
  48. package/target/Messaging.js +645 -0
  49. package/target/Messaging.js.map +1 -0
  50. package/target/Monad.js +330 -0
  51. package/target/Monad.js.map +1 -0
  52. package/target/Promise.js +296 -0
  53. package/target/Promise.js.map +1 -0
  54. package/target/PromiseShim.js +30 -0
  55. package/target/PromiseShim.js.map +1 -0
  56. package/target/SourcesCollectors.js +444 -0
  57. package/target/SourcesCollectors.js.map +1 -0
  58. package/target/Stream.js +562 -0
  59. package/target/Stream.js.map +1 -0
  60. package/target/TagBuilder.js +178 -0
  61. package/target/TagBuilder.js.map +1 -0
  62. package/target/XmlQuery.js +84 -0
  63. package/target/XmlQuery.js.map +1 -0
  64. package/target/impl/AjaxImpl.js +4 -4
  65. package/target/impl/AjaxImpl.js.map +1 -1
  66. package/target/impl/util/ExtDomQuery.js +13 -19
  67. package/target/impl/util/ExtDomQuery.js.map +1 -1
  68. package/target/impl/xhrCore/RequestDataResolver.js +1 -1
  69. package/target/impl/xhrCore/RequestDataResolver.js.map +1 -1
  70. package/target/index.js +80 -0
  71. package/target/index.js.map +1 -0
  72. package/target/index_core.js +76 -0
  73. package/target/index_core.js.map +1 -0
  74. package/target/test/frameworkBase/_ext/monadish/DomQueryTest.spec.js +1 -1
  75. package/target/test/frameworkBase/_ext/shared/StandardInits.js +85 -0
  76. package/target/test/frameworkBase/_ext/shared/StandardInits.js.map +1 -1
  77. package/target/test/frameworkBase/_ext/shared/XmlResponses.js +53 -1
  78. package/target/test/frameworkBase/_ext/shared/XmlResponses.js.map +1 -1
  79. package/target/test/xhrCore/ErrorChainTest.spec.js +21 -0
  80. package/target/test/xhrCore/ErrorChainTest.spec.js.map +1 -1
  81. package/target/test/xhrCore/RequestParamsTest.spec.js.map +1 -1
  82. package/target/test/xhrCore/ResponseTest23.spec.js +14 -0
  83. package/target/test/xhrCore/ResponseTest23.spec.js.map +1 -1
  84. package/target/types/main/typescript/AssocArray.d.ts +86 -0
  85. package/target/types/main/typescript/Config.d.ts +94 -0
  86. package/target/types/main/typescript/CryptoExtensions.d.ts +87 -0
  87. package/target/types/main/typescript/DomQuery.d.ts +587 -0
  88. package/target/types/main/typescript/Es2019Array.d.ts +30 -0
  89. package/target/types/main/typescript/Global.d.ts +23 -0
  90. package/target/types/main/typescript/IDomQuery.d.ts +480 -0
  91. package/target/types/main/typescript/Lang.d.ts +97 -0
  92. package/target/types/main/typescript/Messaging.d.ts +285 -0
  93. package/target/types/main/typescript/Monad.d.ts +161 -0
  94. package/target/types/main/typescript/Promise.d.ts +58 -0
  95. package/target/types/main/typescript/PromiseShim.d.ts +22 -0
  96. package/target/types/main/typescript/SourcesCollectors.d.ts +280 -0
  97. package/target/types/main/typescript/Stream.d.ts +284 -0
  98. package/target/types/main/typescript/TagBuilder.d.ts +50 -0
  99. package/target/types/main/typescript/XmlQuery.d.ts +31 -0
  100. package/target/types/main/typescript/api/_api.d.ts +182 -0
  101. package/target/types/main/typescript/api/faces.d.ts +17 -0
  102. package/target/types/main/typescript/api/jsf.d.ts +17 -0
  103. package/target/types/main/typescript/impl/AjaxImpl.d.ts +164 -0
  104. package/target/types/main/typescript/impl/PushImpl.d.ts +38 -0
  105. package/target/types/main/typescript/impl/core/Const.d.ts +138 -0
  106. package/target/types/main/typescript/impl/core/ImplTypes.d.ts +16 -0
  107. package/target/types/main/typescript/impl/i18n/Messages.d.ts +102 -0
  108. package/target/types/main/typescript/impl/util/Assertions.d.ts +46 -0
  109. package/target/types/main/typescript/impl/util/AsyncRunnable.d.ts +112 -0
  110. package/target/types/main/typescript/impl/util/ExtDomQuery.d.ts +100 -0
  111. package/target/types/main/typescript/impl/util/FileUtils.d.ts +25 -0
  112. package/target/types/main/typescript/impl/util/HiddenInputBuilder.d.ts +37 -0
  113. package/target/types/main/typescript/impl/util/IListener.d.ts +18 -0
  114. package/target/types/main/typescript/impl/util/Lang.d.ts +138 -0
  115. package/target/types/main/typescript/impl/util/XhrQueueController.d.ts +51 -0
  116. package/target/types/main/typescript/impl/xhrCore/ErrorData.d.ts +37 -0
  117. package/target/types/main/typescript/impl/xhrCore/EventData.d.ts +25 -0
  118. package/target/types/main/typescript/impl/xhrCore/IResponseProcessor.d.ts +136 -0
  119. package/target/types/main/typescript/impl/xhrCore/RequestDataResolver.d.ts +84 -0
  120. package/target/types/main/typescript/impl/xhrCore/ResonseDataResolver.d.ts +60 -0
  121. package/target/types/main/typescript/impl/xhrCore/Response.d.ts +29 -0
  122. package/target/types/main/typescript/impl/xhrCore/ResponseProcessor.d.ts +208 -0
  123. package/target/types/main/typescript/impl/xhrCore/XhrFormData.d.ts +83 -0
  124. package/target/types/main/typescript/impl/xhrCore/XhrRequest.d.ts +102 -0
  125. package/target/types/main/typescript/index.d.ts +34 -0
  126. package/target/types/main/typescript/index_core.d.ts +29 -0
  127. package/target/types/main/typescript/myfaces/OamSubmit.d.ts +53 -0
  128. package/target/types/main/typescript/test/frameworkBase/LangTest.spec.d.ts +1 -0
  129. package/target/types/main/typescript/test/frameworkBase/_ext/monadish/DomQueryTest.spec.d.ts +1 -0
  130. package/target/types/main/typescript/test/frameworkBase/_ext/monadish/LangTest.spec.d.ts +16 -0
  131. package/target/types/main/typescript/test/frameworkBase/_ext/monadish/MappingProbes.d.ts +39 -0
  132. package/target/types/main/typescript/test/frameworkBase/_ext/monadish/MappingTest.spec.d.ts +16 -0
  133. package/target/types/main/typescript/test/frameworkBase/_ext/monadish/MonadTest.spec.d.ts +16 -0
  134. package/target/types/main/typescript/test/frameworkBase/_ext/monadish/XmlQueryTest.spec.d.ts +0 -0
  135. package/target/types/main/typescript/test/frameworkBase/_ext/monadish/markups/tobago-with-header.d.ts +1 -0
  136. package/target/types/main/typescript/test/frameworkBase/_ext/monadish/markups/tobago-without-header.d.ts +1 -0
  137. package/target/types/main/typescript/test/frameworkBase/_ext/shared/StandardInits.d.ts +63 -0
  138. package/target/types/main/typescript/test/frameworkBase/_ext/shared/XmlResponses.d.ts +23 -0
  139. package/target/types/main/typescript/test/impl/ImplTest.spec.d.ts +16 -0
  140. package/target/types/main/typescript/test/impl/ImplTest_23.spec.d.ts +16 -0
  141. package/target/types/main/typescript/test/impl/SeparatorCharsTest.spec.d.ts +16 -0
  142. package/target/types/main/typescript/test/myfaces/OamSubmit.spec.d.ts +16 -0
  143. package/target/types/main/typescript/test/myfaces/OnLoad.spec.d.ts +16 -0
  144. package/target/types/main/typescript/test/queue/AsynchronousProbe.d.ts +38 -0
  145. package/target/types/main/typescript/test/queue/AsynchronousQueueTest.spec.d.ts +16 -0
  146. package/target/types/main/typescript/test/xhrCore/ClientWindow.spec.d.ts +1 -0
  147. package/target/types/main/typescript/test/xhrCore/ErrorChainTest.spec.d.ts +16 -0
  148. package/target/types/main/typescript/test/xhrCore/EventTests.spec.d.ts +16 -0
  149. package/target/types/main/typescript/test/xhrCore/FakeWebsocket.d.ts +24 -0
  150. package/target/types/main/typescript/test/xhrCore/FileUploadTest.spec.d.ts +1 -0
  151. package/target/types/main/typescript/test/xhrCore/NamespacesRequestTest.spec.d.ts +16 -0
  152. package/target/types/main/typescript/test/xhrCore/OamSubmitTest.spec.d.ts +16 -0
  153. package/target/types/main/typescript/test/xhrCore/RequestParamsTest.spec.d.ts +1 -0
  154. package/target/types/main/typescript/test/xhrCore/RequestTest.spec.d.ts +16 -0
  155. package/target/types/main/typescript/test/xhrCore/RequestTest_23.spec.d.ts +16 -0
  156. package/target/types/main/typescript/test/xhrCore/ResponseTest.spec.d.ts +16 -0
  157. package/target/types/main/typescript/test/xhrCore/ResponseTest23.spec.d.ts +16 -0
  158. package/target/types/main/typescript/test/xhrCore/ShadowDomTest.spec.d.ts +16 -0
  159. package/target/types/main/typescript/test/xhrCore/TobagoFileUploadTest.spec.d.ts +1 -0
  160. package/target/types/main/typescript/test/xhrCore/WebsocketTest.d.ts +1 -0
  161. package/target/types/main/typescript/test/xhrCore/XhrFormDataTest.spec.d.ts +16 -0
  162. package/target/types/test/typescript/AssocArrayTest.spec.d.ts +1 -0
  163. package/target/types/test/typescript/DomQueryTest.spec.d.ts +1 -0
  164. package/target/types/test/typescript/ExtendedArrayTest.spec.d.ts +1 -0
  165. package/target/types/test/typescript/LangTest.spec.d.ts +1 -0
  166. package/target/types/test/typescript/MappingProbes.d.ts +24 -0
  167. package/target/types/test/typescript/MappingTest.spec.d.ts +1 -0
  168. package/target/types/test/typescript/MessagingTest.spec.d.ts +1 -0
  169. package/target/types/test/typescript/MonadTest.spec.d.ts +16 -0
  170. package/target/types/test/typescript/PromiseTest.spec.d.ts +1 -0
  171. package/target/types/test/typescript/StreamTest.spec.d.ts +1 -0
  172. package/target/types/test/typescript/XmlQueryTest.spec.d.ts +1 -0
  173. package/target/types/test/typescript/markups/tobago-with-header.d.ts +1 -0
  174. package/target/types/test/typescript/markups/tobago-without-header.d.ts +1 -0
  175. package/webpack.config.js +1 -1
  176. package/webpack.config.js.map +1 -1
  177. package/.nyc_output/09ca9ebc-2305-4357-8db9-48ddfc7dfde2.json +0 -1
  178. package/.nyc_output/7c496a14-166e-4aa5-85b9-47b22b055ad8.json +0 -1
  179. package/.nyc_output/processinfo/09ca9ebc-2305-4357-8db9-48ddfc7dfde2.json +0 -1
  180. package/.nyc_output/processinfo/7c496a14-166e-4aa5-85b9-47b22b055ad8.json +0 -1
  181. package/.nyc_output/processinfo/index.json +0 -1
  182. package/src/test.html +0 -75
  183. package/src/tmp/test.html +0 -16
  184. 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":"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"}