jsf.js_next_gen 4.1.0-beta.2 → 4.1.0-beta.21

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 (413) hide show
  1. package/AI_CONTRIBUTIONS.md +71 -0
  2. package/README.md +254 -78
  3. package/api-extractor.faces.json +38 -0
  4. package/dist/docs/assets/hierarchy.js +1 -1
  5. package/dist/docs/assets/navigation.js +1 -1
  6. package/dist/docs/assets/search.js +1 -1
  7. package/dist/docs/functions/faces.ajax.addOnError.html +2 -2
  8. package/dist/docs/functions/faces.ajax.addOnEvent.html +2 -2
  9. package/dist/docs/functions/faces.ajax.request.html +2 -2
  10. package/dist/docs/functions/faces.ajax.response.html +2 -2
  11. package/dist/docs/functions/faces.getClientWindow.html +2 -2
  12. package/dist/docs/functions/faces.getProjectStage.html +2 -2
  13. package/dist/docs/functions/faces.getViewState.html +1 -1
  14. package/dist/docs/functions/faces.push.close.html +1 -1
  15. package/dist/docs/functions/faces.push.init.html +6 -6
  16. package/dist/docs/functions/faces.push.open.html +1 -1
  17. package/dist/docs/functions/faces.util.chain.html +2 -2
  18. package/dist/docs/functions/myfaces.ab.html +3 -3
  19. package/dist/docs/functions/myfaces.onDomReady.html +1 -1
  20. package/dist/docs/functions/myfaces.reserveNamespace.html +1 -1
  21. package/dist/docs/hierarchy.html +1 -1
  22. package/dist/docs/index.html +292 -71
  23. package/dist/docs/interfaces/faces.AjaxData.html +6 -0
  24. package/dist/docs/interfaces/faces.AjaxError.html +18 -0
  25. package/dist/docs/interfaces/faces.AjaxEvent.html +8 -0
  26. package/dist/docs/interfaces/faces.ajax.RequestContext.html +6 -0
  27. package/dist/docs/interfaces/faces.ajax.RequestOptions.html +10 -0
  28. package/dist/docs/modules/faces.ajax.html +1 -1
  29. package/dist/docs/modules/faces.html +1 -1
  30. package/dist/docs/modules/faces.push.html +1 -1
  31. package/dist/docs/modules/faces.util.html +1 -1
  32. package/dist/docs/modules/myfaces.html +1 -1
  33. package/dist/docs/modules.html +1 -1
  34. package/dist/docs/types/faces.AjaxErrorStatus.html +2 -0
  35. package/dist/docs/types/faces.AjaxEventStatus.html +2 -0
  36. package/dist/docs/types/faces.ProjectStage.html +2 -0
  37. package/dist/docs/types/faces.ajax.OnErrorCallback.html +2 -0
  38. package/dist/docs/types/faces.ajax.OnEventCallback.html +2 -0
  39. package/dist/docs/types/faces.push.OnCloseHandler.html +2 -0
  40. package/dist/docs/types/faces.push.OnErrorHandler.html +2 -0
  41. package/dist/docs/types/faces.push.OnMessageHandler.html +2 -0
  42. package/dist/docs/types/faces.push.OnOpenHandler.html +2 -0
  43. package/dist/docs/variables/faces.contextpath.html +1 -1
  44. package/dist/docs/variables/faces.implversion.html +1 -1
  45. package/dist/docs/variables/faces.separatorchar.html +1 -1
  46. package/dist/docs/variables/faces.specversion.html +1 -1
  47. package/dist/docs/variables/myfaces.oam.html +1 -1
  48. package/dist/window/faces-development.js +1801 -499
  49. package/dist/window/faces-development.js.map +1 -1
  50. package/{target/api/_api.js → dist/window/faces.d.ts} +124 -151
  51. package/dist/window/faces.js +1 -1
  52. package/dist/window/faces.js.LICENSE.txt +0 -17
  53. package/dist/window/faces.js.map +1 -1
  54. package/dist/window/jsf-development.js +1806 -513
  55. package/dist/window/jsf-development.js.map +1 -1
  56. package/{target/src/main/typescript/api/_api.js → dist/window/jsf.d.ts} +125 -153
  57. package/dist/window/jsf.js +1 -1
  58. package/dist/window/jsf.js.LICENSE.txt +0 -17
  59. package/dist/window/jsf.js.map +1 -1
  60. package/package.json +22 -18
  61. package/scripts/build-dts.mjs +239 -0
  62. package/src/main/typescript/@types/definitions/index.d.ts +22 -122
  63. package/{target/test/frameworkBase/_ext/monadish/fixtures/test2.js → src/main/typescript/@types/definitions/modules.d.ts} +18 -2
  64. package/src/main/typescript/api/_api.ts +132 -29
  65. package/{target/test/frameworkBase/_ext/monadish/fixtures/test.js → src/main/typescript/api/_api_ae_stub.d.ts} +6 -2
  66. package/src/main/typescript/api/faces.ts +2 -2
  67. package/src/main/typescript/api/jsf.ts +15 -23
  68. package/src/main/typescript/impl/AjaxImpl.ts +15 -15
  69. package/src/main/typescript/impl/PushImpl.ts +139 -69
  70. package/src/main/typescript/impl/core/Const.ts +2 -2
  71. package/src/main/typescript/impl/i18n/Messages.ts +1 -1
  72. package/src/main/typescript/impl/util/Assertions.ts +1 -2
  73. package/src/main/typescript/impl/util/AsyncRunnable.ts +3 -4
  74. package/src/main/typescript/impl/util/ExtDomQuery.ts +19 -19
  75. package/src/main/typescript/impl/util/FileUtils.ts +30 -14
  76. package/src/main/typescript/impl/util/HiddenInputBuilder.ts +34 -34
  77. package/src/main/typescript/impl/util/Lang.ts +19 -22
  78. package/src/main/typescript/impl/util/XhrQueueController.ts +25 -3
  79. package/src/main/typescript/impl/xhrCore/ErrorData.ts +17 -12
  80. package/src/main/typescript/impl/xhrCore/EventData.ts +8 -7
  81. package/src/main/typescript/impl/xhrCore/IResponseProcessor.ts +3 -3
  82. package/src/main/typescript/impl/xhrCore/RequestDataResolver.ts +7 -6
  83. package/src/main/typescript/impl/xhrCore/Response.ts +3 -3
  84. package/src/main/typescript/impl/xhrCore/ResponseDataResolver.ts +0 -38
  85. package/src/main/typescript/impl/xhrCore/ResponseProcessor.ts +17 -15
  86. package/src/main/typescript/impl/xhrCore/XhrFormData.ts +72 -63
  87. package/src/main/typescript/impl/xhrCore/XhrRequest.ts +80 -134
  88. package/src/main/typescript/mona_dish_shim.ts +6 -2
  89. package/src/main/typescript/myfaces/OamSubmit.ts +10 -6
  90. package/src/main/typescript/test/api/JsfPushShimTest.spec.ts +126 -0
  91. package/src/main/typescript/test/api/MyFacesABTest.spec.ts +16 -0
  92. package/src/main/typescript/test/api/PushTypeCompatibility.ts +65 -0
  93. package/src/main/typescript/test/frameworkBase/LangTest.spec.ts +16 -0
  94. package/src/main/typescript/test/frameworkBase/_ext/monadish/DomQueryTest.spec.ts +1 -0
  95. package/src/main/typescript/test/frameworkBase/_ext/monadish/XmlQueryTest.spec.ts +16 -0
  96. package/src/main/typescript/test/frameworkBase/_ext/monadish/markups/tobago-with-header.ts +16 -0
  97. package/src/main/typescript/test/frameworkBase/_ext/monadish/markups/tobago-without-header.ts +16 -0
  98. package/src/main/typescript/test/frameworkBase/_ext/shared/StandardInits.ts +55 -9
  99. package/src/main/typescript/test/frameworkBase/_ext/shared/XmlResponses.ts +16 -0
  100. package/src/main/typescript/test/impl/AssertionsTest.spec.ts +168 -0
  101. package/src/main/typescript/test/impl/FileUtilsTest.spec.ts +126 -0
  102. package/src/main/typescript/test/impl/ImplTest.spec.ts +75 -1
  103. package/src/main/typescript/test/impl/ResponseDataResolverTest.spec.ts +62 -0
  104. package/src/main/typescript/test/impl/util/ExtDomQueryTest.spec.ts +91 -1
  105. package/src/main/typescript/test/impl/util/ExtLangTest.spec.ts +110 -0
  106. package/src/main/typescript/test/impl/util/HiddenInputBuilderTest.spec.ts +74 -0
  107. package/src/main/typescript/test/myfaces/OamSubmit.spec.ts +61 -1
  108. package/src/main/typescript/test/queue/AsynchronousQueueTest.spec.ts +191 -2
  109. package/src/main/typescript/test/xhrCore/ClientWindow.spec.ts +16 -0
  110. package/src/main/typescript/test/xhrCore/ErrorChainTest.spec.ts +14 -0
  111. package/src/main/typescript/test/xhrCore/FakeWebsocket.ts +21 -5
  112. package/src/main/typescript/test/xhrCore/RequestTest.spec.ts +363 -4
  113. package/src/main/typescript/test/xhrCore/ResponseTest.spec.ts +218 -4
  114. package/src/main/typescript/test/xhrCore/TobagoFileUploadTest.spec.ts +1 -1
  115. package/src/main/typescript/test/xhrCore/WebsocketTest.spec.ts +764 -0
  116. package/src/main/typescript/test/xhrCore/XhrFormDataTest.spec.ts +265 -62
  117. package/src/main/typescript/test/xhrCore/XhrRequestProgress.spec.ts +16 -0
  118. package/{target/src/main/typescript/test/xhrCore/FakeWebsocket.js → src/main/typescript/tsconfig.ae.json} +16 -23
  119. package/src/main/typescript/{tsconfig.json → tsconfig.dts.json} +11 -27
  120. package/src/main/typescript/tsconfig.test.json +17 -0
  121. package/tsconfig.api-extractor.json +17 -0
  122. package/.claude/settings.local.json +0 -16
  123. package/.github/workflows/codeql-analysis.yml +0 -83
  124. package/.github/workflows/nodejs.yml +0 -26
  125. package/.mocharc.json +0 -10
  126. package/.nyc_output/384344d4-4f46-455f-84c3-010f829098cb.json +0 -1
  127. package/.nyc_output/a0f90016-f4f9-4039-bb51-57f4f7050541.json +0 -1
  128. package/.nyc_output/db388b5d-0b79-4bce-afd2-001aaf6f0245.json +0 -1
  129. package/.nyc_output/processinfo/384344d4-4f46-455f-84c3-010f829098cb.json +0 -1
  130. package/.nyc_output/processinfo/a0f90016-f4f9-4039-bb51-57f4f7050541.json +0 -1
  131. package/.nyc_output/processinfo/db388b5d-0b79-4bce-afd2-001aaf6f0245.json +0 -1
  132. package/.nyc_output/processinfo/index.json +0 -1
  133. package/.nycrc +0 -6
  134. package/build.cmd +0 -1
  135. package/build.sh +0 -3
  136. package/mvnw +0 -286
  137. package/mvnw.cmd +0 -161
  138. package/plans for 4.0.1.txt +0 -8
  139. package/remap.ts +0 -51
  140. package/src/main/typescript/test/xhrCore/WebsocketTest.ts +0 -221
  141. package/target/api/_api.js.map +0 -1
  142. package/target/api/faces.js +0 -45
  143. package/target/api/faces.js.map +0 -1
  144. package/target/api/jsf.js +0 -56
  145. package/target/api/jsf.js.map +0 -1
  146. package/target/impl/AjaxImpl.js +0 -748
  147. package/target/impl/AjaxImpl.js.map +0 -1
  148. package/target/impl/PushImpl.js +0 -265
  149. package/target/impl/PushImpl.js.map +0 -1
  150. package/target/impl/core/Const.js +0 -177
  151. package/target/impl/core/Const.js.map +0 -1
  152. package/target/impl/core/ImplTypes.js +0 -38
  153. package/target/impl/core/ImplTypes.js.map +0 -1
  154. package/target/impl/i18n/Messages.js +0 -113
  155. package/target/impl/i18n/Messages.js.map +0 -1
  156. package/target/impl/util/Assertions.js +0 -101
  157. package/target/impl/util/Assertions.js.map +0 -1
  158. package/target/impl/util/AsyncRunnable.js +0 -78
  159. package/target/impl/util/AsyncRunnable.js.map +0 -1
  160. package/target/impl/util/ExtDomQuery.js +0 -306
  161. package/target/impl/util/ExtDomQuery.js.map +0 -1
  162. package/target/impl/util/FileUtils.js +0 -98
  163. package/target/impl/util/FileUtils.js.map +0 -1
  164. package/target/impl/util/HiddenInputBuilder.js +0 -83
  165. package/target/impl/util/HiddenInputBuilder.js.map +0 -1
  166. package/target/impl/util/IListener.js +0 -3
  167. package/target/impl/util/IListener.js.map +0 -1
  168. package/target/impl/util/Lang.js +0 -263
  169. package/target/impl/util/Lang.js.map +0 -1
  170. package/target/impl/util/XhrQueueController.js +0 -92
  171. package/target/impl/util/XhrQueueController.js.map +0 -1
  172. package/target/impl/xhrCore/ErrorData.js +0 -87
  173. package/target/impl/xhrCore/ErrorData.js.map +0 -1
  174. package/target/impl/xhrCore/EventData.js +0 -52
  175. package/target/impl/xhrCore/EventData.js.map +0 -1
  176. package/target/impl/xhrCore/IResponseProcessor.js +0 -3
  177. package/target/impl/xhrCore/IResponseProcessor.js.map +0 -1
  178. package/target/impl/xhrCore/RequestDataResolver.js +0 -186
  179. package/target/impl/xhrCore/RequestDataResolver.js.map +0 -1
  180. package/target/impl/xhrCore/ResonseDataResolver.js +0 -104
  181. package/target/impl/xhrCore/ResonseDataResolver.js.map +0 -1
  182. package/target/impl/xhrCore/Response.js +0 -186
  183. package/target/impl/xhrCore/Response.js.map +0 -1
  184. package/target/impl/xhrCore/ResponseDataResolver.js +0 -104
  185. package/target/impl/xhrCore/ResponseDataResolver.js.map +0 -1
  186. package/target/impl/xhrCore/ResponseProcessor.js +0 -468
  187. package/target/impl/xhrCore/ResponseProcessor.js.map +0 -1
  188. package/target/impl/xhrCore/XhrFormData.js +0 -163
  189. package/target/impl/xhrCore/XhrFormData.js.map +0 -1
  190. package/target/impl/xhrCore/XhrRequest.js +0 -433
  191. package/target/impl/xhrCore/XhrRequest.js.map +0 -1
  192. package/target/mona_dish_shim.js +0 -70
  193. package/target/mona_dish_shim.js.map +0 -1
  194. package/target/myfaces/OamSubmit.js +0 -128
  195. package/target/myfaces/OamSubmit.js.map +0 -1
  196. package/target/src/main/typescript/api/_api.js.map +0 -1
  197. package/target/src/main/typescript/api/faces.js +0 -45
  198. package/target/src/main/typescript/api/faces.js.map +0 -1
  199. package/target/src/main/typescript/api/jsf.js +0 -56
  200. package/target/src/main/typescript/api/jsf.js.map +0 -1
  201. package/target/src/main/typescript/impl/AjaxImpl.js +0 -748
  202. package/target/src/main/typescript/impl/AjaxImpl.js.map +0 -1
  203. package/target/src/main/typescript/impl/PushImpl.js +0 -265
  204. package/target/src/main/typescript/impl/PushImpl.js.map +0 -1
  205. package/target/src/main/typescript/impl/core/Const.js +0 -177
  206. package/target/src/main/typescript/impl/core/Const.js.map +0 -1
  207. package/target/src/main/typescript/impl/core/ImplTypes.js +0 -38
  208. package/target/src/main/typescript/impl/core/ImplTypes.js.map +0 -1
  209. package/target/src/main/typescript/impl/i18n/Messages.js +0 -113
  210. package/target/src/main/typescript/impl/i18n/Messages.js.map +0 -1
  211. package/target/src/main/typescript/impl/util/Assertions.js +0 -101
  212. package/target/src/main/typescript/impl/util/Assertions.js.map +0 -1
  213. package/target/src/main/typescript/impl/util/AsyncRunnable.js +0 -78
  214. package/target/src/main/typescript/impl/util/AsyncRunnable.js.map +0 -1
  215. package/target/src/main/typescript/impl/util/ExtDomQuery.js +0 -306
  216. package/target/src/main/typescript/impl/util/ExtDomQuery.js.map +0 -1
  217. package/target/src/main/typescript/impl/util/FileUtils.js +0 -98
  218. package/target/src/main/typescript/impl/util/FileUtils.js.map +0 -1
  219. package/target/src/main/typescript/impl/util/HiddenInputBuilder.js +0 -83
  220. package/target/src/main/typescript/impl/util/HiddenInputBuilder.js.map +0 -1
  221. package/target/src/main/typescript/impl/util/IListener.js +0 -3
  222. package/target/src/main/typescript/impl/util/IListener.js.map +0 -1
  223. package/target/src/main/typescript/impl/util/Lang.js +0 -263
  224. package/target/src/main/typescript/impl/util/Lang.js.map +0 -1
  225. package/target/src/main/typescript/impl/util/XhrQueueController.js +0 -92
  226. package/target/src/main/typescript/impl/util/XhrQueueController.js.map +0 -1
  227. package/target/src/main/typescript/impl/xhrCore/ErrorData.js +0 -87
  228. package/target/src/main/typescript/impl/xhrCore/ErrorData.js.map +0 -1
  229. package/target/src/main/typescript/impl/xhrCore/EventData.js +0 -52
  230. package/target/src/main/typescript/impl/xhrCore/EventData.js.map +0 -1
  231. package/target/src/main/typescript/impl/xhrCore/IResponseProcessor.js +0 -3
  232. package/target/src/main/typescript/impl/xhrCore/IResponseProcessor.js.map +0 -1
  233. package/target/src/main/typescript/impl/xhrCore/RequestDataResolver.js +0 -186
  234. package/target/src/main/typescript/impl/xhrCore/RequestDataResolver.js.map +0 -1
  235. package/target/src/main/typescript/impl/xhrCore/Response.js +0 -186
  236. package/target/src/main/typescript/impl/xhrCore/Response.js.map +0 -1
  237. package/target/src/main/typescript/impl/xhrCore/ResponseDataResolver.js +0 -104
  238. package/target/src/main/typescript/impl/xhrCore/ResponseDataResolver.js.map +0 -1
  239. package/target/src/main/typescript/impl/xhrCore/ResponseProcessor.js +0 -468
  240. package/target/src/main/typescript/impl/xhrCore/ResponseProcessor.js.map +0 -1
  241. package/target/src/main/typescript/impl/xhrCore/XhrFormData.js +0 -163
  242. package/target/src/main/typescript/impl/xhrCore/XhrFormData.js.map +0 -1
  243. package/target/src/main/typescript/impl/xhrCore/XhrRequest.js +0 -433
  244. package/target/src/main/typescript/impl/xhrCore/XhrRequest.js.map +0 -1
  245. package/target/src/main/typescript/mona_dish_shim.js +0 -70
  246. package/target/src/main/typescript/mona_dish_shim.js.map +0 -1
  247. package/target/src/main/typescript/myfaces/OamSubmit.js +0 -128
  248. package/target/src/main/typescript/myfaces/OamSubmit.js.map +0 -1
  249. package/target/src/main/typescript/test/api/MyFacesABTest.spec.js +0 -117
  250. package/target/src/main/typescript/test/api/MyFacesABTest.spec.js.map +0 -1
  251. package/target/src/main/typescript/test/frameworkBase/LangTest.spec.js +0 -123
  252. package/target/src/main/typescript/test/frameworkBase/LangTest.spec.js.map +0 -1
  253. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/DomQueryTest.spec.js +0 -657
  254. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/DomQueryTest.spec.js.map +0 -1
  255. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/LangTest.spec.js +0 -107
  256. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/LangTest.spec.js.map +0 -1
  257. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/MappingProbes.js +0 -106
  258. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/MappingProbes.js.map +0 -1
  259. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/MappingTest.spec.js +0 -39
  260. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/MappingTest.spec.js.map +0 -1
  261. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/MonadTest.spec.js +0 -153
  262. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/MonadTest.spec.js.map +0 -1
  263. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/XmlQueryTest.spec.js +0 -2
  264. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/XmlQueryTest.spec.js.map +0 -1
  265. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/markups/tobago-with-header.js +0 -925
  266. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/markups/tobago-with-header.js.map +0 -1
  267. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/markups/tobago-without-header.js +0 -112
  268. package/target/src/main/typescript/test/frameworkBase/_ext/monadish/markups/tobago-without-header.js.map +0 -1
  269. package/target/src/main/typescript/test/frameworkBase/_ext/shared/StandardInits.js +0 -728
  270. package/target/src/main/typescript/test/frameworkBase/_ext/shared/StandardInits.js.map +0 -1
  271. package/target/src/main/typescript/test/frameworkBase/_ext/shared/XmlResponses.js +0 -296
  272. package/target/src/main/typescript/test/frameworkBase/_ext/shared/XmlResponses.js.map +0 -1
  273. package/target/src/main/typescript/test/impl/ImplTest.spec.js +0 -225
  274. package/target/src/main/typescript/test/impl/ImplTest.spec.js.map +0 -1
  275. package/target/src/main/typescript/test/impl/ImplTest_23.spec.js +0 -143
  276. package/target/src/main/typescript/test/impl/ImplTest_23.spec.js.map +0 -1
  277. package/target/src/main/typescript/test/impl/SeparatorCharsTest.spec.js +0 -106
  278. package/target/src/main/typescript/test/impl/SeparatorCharsTest.spec.js.map +0 -1
  279. package/target/src/main/typescript/test/impl/util/ExtDomQueryTest.spec.js +0 -77
  280. package/target/src/main/typescript/test/impl/util/ExtDomQueryTest.spec.js.map +0 -1
  281. package/target/src/main/typescript/test/myfaces/OamSubmit.spec.js +0 -118
  282. package/target/src/main/typescript/test/myfaces/OamSubmit.spec.js.map +0 -1
  283. package/target/src/main/typescript/test/myfaces/OnLoad.spec.js +0 -57
  284. package/target/src/main/typescript/test/myfaces/OnLoad.spec.js.map +0 -1
  285. package/target/src/main/typescript/test/myfaces/ReserveNamespace.spec.js +0 -60
  286. package/target/src/main/typescript/test/myfaces/ReserveNamespace.spec.js.map +0 -1
  287. package/target/src/main/typescript/test/queue/AsynchronousProbe.js +0 -93
  288. package/target/src/main/typescript/test/queue/AsynchronousProbe.js.map +0 -1
  289. package/target/src/main/typescript/test/queue/AsynchronousQueueTest.spec.js +0 -133
  290. package/target/src/main/typescript/test/queue/AsynchronousQueueTest.spec.js.map +0 -1
  291. package/target/src/main/typescript/test/xhrCore/ClientWindow.spec.js +0 -101
  292. package/target/src/main/typescript/test/xhrCore/ClientWindow.spec.js.map +0 -1
  293. package/target/src/main/typescript/test/xhrCore/ErrorChainTest.spec.js +0 -175
  294. package/target/src/main/typescript/test/xhrCore/ErrorChainTest.spec.js.map +0 -1
  295. package/target/src/main/typescript/test/xhrCore/EventTests.spec.js +0 -184
  296. package/target/src/main/typescript/test/xhrCore/EventTests.spec.js.map +0 -1
  297. package/target/src/main/typescript/test/xhrCore/FakeWebsocket.js.map +0 -1
  298. package/target/src/main/typescript/test/xhrCore/FileUploadTest.spec.js +0 -181
  299. package/target/src/main/typescript/test/xhrCore/FileUploadTest.spec.js.map +0 -1
  300. package/target/src/main/typescript/test/xhrCore/NamespacesRequestTest.spec.js +0 -226
  301. package/target/src/main/typescript/test/xhrCore/NamespacesRequestTest.spec.js.map +0 -1
  302. package/target/src/main/typescript/test/xhrCore/OamSubmitTest.spec.js +0 -199
  303. package/target/src/main/typescript/test/xhrCore/OamSubmitTest.spec.js.map +0 -1
  304. package/target/src/main/typescript/test/xhrCore/RequestParamsTest.spec.js +0 -567
  305. package/target/src/main/typescript/test/xhrCore/RequestParamsTest.spec.js.map +0 -1
  306. package/target/src/main/typescript/test/xhrCore/RequestTest.spec.js +0 -845
  307. package/target/src/main/typescript/test/xhrCore/RequestTest.spec.js.map +0 -1
  308. package/target/src/main/typescript/test/xhrCore/RequestTest_23.spec.js +0 -382
  309. package/target/src/main/typescript/test/xhrCore/RequestTest_23.spec.js.map +0 -1
  310. package/target/src/main/typescript/test/xhrCore/ResponseTest.spec.js +0 -667
  311. package/target/src/main/typescript/test/xhrCore/ResponseTest.spec.js.map +0 -1
  312. package/target/src/main/typescript/test/xhrCore/ResponseTest23.spec.js +0 -367
  313. package/target/src/main/typescript/test/xhrCore/ResponseTest23.spec.js.map +0 -1
  314. package/target/src/main/typescript/test/xhrCore/ShadowDomTest.spec.js +0 -123
  315. package/target/src/main/typescript/test/xhrCore/ShadowDomTest.spec.js.map +0 -1
  316. package/target/src/main/typescript/test/xhrCore/TobagoFileUploadTest.spec.js +0 -147
  317. package/target/src/main/typescript/test/xhrCore/TobagoFileUploadTest.spec.js.map +0 -1
  318. package/target/src/main/typescript/test/xhrCore/WebsocketTest.js +0 -207
  319. package/target/src/main/typescript/test/xhrCore/WebsocketTest.js.map +0 -1
  320. package/target/src/main/typescript/test/xhrCore/XhrFormDataTest.spec.js +0 -149
  321. package/target/src/main/typescript/test/xhrCore/XhrFormDataTest.spec.js.map +0 -1
  322. package/target/src/main/typescript/test/xhrCore/XhrRequestProgress.spec.js +0 -130
  323. package/target/src/main/typescript/test/xhrCore/XhrRequestProgress.spec.js.map +0 -1
  324. package/target/test/api/MyFacesABTest.spec.js +0 -117
  325. package/target/test/api/MyFacesABTest.spec.js.map +0 -1
  326. package/target/test/frameworkBase/LangTest.spec.js +0 -123
  327. package/target/test/frameworkBase/LangTest.spec.js.map +0 -1
  328. package/target/test/frameworkBase/_ext/monadish/DomQueryTest.spec.js +0 -657
  329. package/target/test/frameworkBase/_ext/monadish/DomQueryTest.spec.js.map +0 -1
  330. package/target/test/frameworkBase/_ext/monadish/LangTest.spec.js +0 -107
  331. package/target/test/frameworkBase/_ext/monadish/LangTest.spec.js.map +0 -1
  332. package/target/test/frameworkBase/_ext/monadish/MappingProbes.js +0 -106
  333. package/target/test/frameworkBase/_ext/monadish/MappingProbes.js.map +0 -1
  334. package/target/test/frameworkBase/_ext/monadish/MappingTest.spec.js +0 -39
  335. package/target/test/frameworkBase/_ext/monadish/MappingTest.spec.js.map +0 -1
  336. package/target/test/frameworkBase/_ext/monadish/MonadTest.spec.js +0 -153
  337. package/target/test/frameworkBase/_ext/monadish/MonadTest.spec.js.map +0 -1
  338. package/target/test/frameworkBase/_ext/monadish/XmlQueryTest.spec.js +0 -1
  339. package/target/test/frameworkBase/_ext/monadish/XmlQueryTest.spec.js.map +0 -1
  340. package/target/test/frameworkBase/_ext/monadish/fixtures/test.js.map +0 -1
  341. package/target/test/frameworkBase/_ext/monadish/fixtures/test2.js.map +0 -1
  342. package/target/test/frameworkBase/_ext/monadish/markups/tobago-with-header.js +0 -925
  343. package/target/test/frameworkBase/_ext/monadish/markups/tobago-with-header.js.map +0 -1
  344. package/target/test/frameworkBase/_ext/monadish/markups/tobago-without-header.js +0 -112
  345. package/target/test/frameworkBase/_ext/monadish/markups/tobago-without-header.js.map +0 -1
  346. package/target/test/frameworkBase/_ext/shared/StandardInits.js +0 -728
  347. package/target/test/frameworkBase/_ext/shared/StandardInits.js.map +0 -1
  348. package/target/test/frameworkBase/_ext/shared/XmlResponses.js +0 -296
  349. package/target/test/frameworkBase/_ext/shared/XmlResponses.js.map +0 -1
  350. package/target/test/frameworkBase/_ext/shared/fixtures/js/tobago.js +0 -16
  351. package/target/test/frameworkBase/_ext/shared/fixtures/js/tobago.js.map +0 -1
  352. package/target/test/impl/ImplTest.spec.js +0 -225
  353. package/target/test/impl/ImplTest.spec.js.map +0 -1
  354. package/target/test/impl/ImplTest_23.spec.js +0 -143
  355. package/target/test/impl/ImplTest_23.spec.js.map +0 -1
  356. package/target/test/impl/SeparatorCharsTest.spec.js +0 -106
  357. package/target/test/impl/SeparatorCharsTest.spec.js.map +0 -1
  358. package/target/test/impl/util/ExtDomQueryTest.spec.js +0 -77
  359. package/target/test/impl/util/ExtDomQueryTest.spec.js.map +0 -1
  360. package/target/test/myfaces/OamSubmit.spec.js +0 -118
  361. package/target/test/myfaces/OamSubmit.spec.js.map +0 -1
  362. package/target/test/myfaces/OnLoad.spec.js +0 -57
  363. package/target/test/myfaces/OnLoad.spec.js.map +0 -1
  364. package/target/test/myfaces/ReserveNamespace.spec.js +0 -60
  365. package/target/test/myfaces/ReserveNamespace.spec.js.map +0 -1
  366. package/target/test/queue/AsynchronousProbe.js +0 -93
  367. package/target/test/queue/AsynchronousProbe.js.map +0 -1
  368. package/target/test/queue/AsynchronousQueueTest.spec.js +0 -133
  369. package/target/test/queue/AsynchronousQueueTest.spec.js.map +0 -1
  370. package/target/test/xhrCore/ClientWindow.spec.js +0 -101
  371. package/target/test/xhrCore/ClientWindow.spec.js.map +0 -1
  372. package/target/test/xhrCore/ErrorChainTest.spec.js +0 -175
  373. package/target/test/xhrCore/ErrorChainTest.spec.js.map +0 -1
  374. package/target/test/xhrCore/EventTests.spec.js +0 -184
  375. package/target/test/xhrCore/EventTests.spec.js.map +0 -1
  376. package/target/test/xhrCore/FakeWebsocket.js +0 -38
  377. package/target/test/xhrCore/FakeWebsocket.js.map +0 -1
  378. package/target/test/xhrCore/FileUploadTest.spec.js +0 -181
  379. package/target/test/xhrCore/FileUploadTest.spec.js.map +0 -1
  380. package/target/test/xhrCore/NamespacesRequestTest.spec.js +0 -226
  381. package/target/test/xhrCore/NamespacesRequestTest.spec.js.map +0 -1
  382. package/target/test/xhrCore/OamSubmitTest.spec.js +0 -199
  383. package/target/test/xhrCore/OamSubmitTest.spec.js.map +0 -1
  384. package/target/test/xhrCore/RequestParamsTest.spec.js +0 -567
  385. package/target/test/xhrCore/RequestParamsTest.spec.js.map +0 -1
  386. package/target/test/xhrCore/RequestTest.spec.js +0 -845
  387. package/target/test/xhrCore/RequestTest.spec.js.map +0 -1
  388. package/target/test/xhrCore/RequestTest_23.spec.js +0 -382
  389. package/target/test/xhrCore/RequestTest_23.spec.js.map +0 -1
  390. package/target/test/xhrCore/ResponseTest.spec.js +0 -667
  391. package/target/test/xhrCore/ResponseTest.spec.js.map +0 -1
  392. package/target/test/xhrCore/ResponseTest23.spec.js +0 -367
  393. package/target/test/xhrCore/ResponseTest23.spec.js.map +0 -1
  394. package/target/test/xhrCore/ShadowDomTest.spec.js +0 -123
  395. package/target/test/xhrCore/ShadowDomTest.spec.js.map +0 -1
  396. package/target/test/xhrCore/TobagoFileUploadTest.spec.js +0 -147
  397. package/target/test/xhrCore/TobagoFileUploadTest.spec.js.map +0 -1
  398. package/target/test/xhrCore/WebsocketTest.js +0 -207
  399. package/target/test/xhrCore/WebsocketTest.js.map +0 -1
  400. package/target/test/xhrCore/XhrFormDataTest.spec.js +0 -149
  401. package/target/test/xhrCore/XhrFormDataTest.spec.js.map +0 -1
  402. package/target/test/xhrCore/XhrRequestProgress.spec.js +0 -130
  403. package/target/test/xhrCore/XhrRequestProgress.spec.js.map +0 -1
  404. package/target/test/xhrCore/fixtures/addedViewHead1.js +0 -17
  405. package/target/test/xhrCore/fixtures/addedViewHead1.js.map +0 -1
  406. package/target/test/xhrCore/fixtures/addedViewHead2.js +0 -17
  407. package/target/test/xhrCore/fixtures/addedViewHead2.js.map +0 -1
  408. package/target/test/xhrCore/fixtures/addedViewHead3.js +0 -17
  409. package/target/test/xhrCore/fixtures/addedViewHead3.js.map +0 -1
  410. package/target/test/xhrCore/fixtures/nonce_script.js +0 -17
  411. package/target/test/xhrCore/fixtures/nonce_script.js.map +0 -1
  412. package/tsconfig.json +0 -9
  413. package/webpack.config.ts +0 -54
@@ -1,124 +1,124 @@
1
- <!DOCTYPE html><html class="default" lang="en" data-base="./"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>jsf.js_next_gen</title><meta name="description" content="Documentation for jsf.js_next_gen"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script defer src="assets/main.js"></script><script async src="assets/icons.js" id="tsd-icons-script"></script><script async src="assets/search.js" id="tsd-search-script"></script><script async src="assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="index.html" class="title">jsf.js_next_gen</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><h1>jsf.js_next_gen</h1></div><div class="tsd-panel tsd-typography"><h1 id="🚀-scratchpad-for-the-typescript-based-reimplementation-of-jsf-js" class="tsd-anchor-link">🚀 Scratchpad for the typescript based reimplementation of jsf js<a href="#🚀-scratchpad-for-the-typescript-based-reimplementation-of-jsf-js" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1>
1
+ <!DOCTYPE html><html class="default" lang="en" data-base="./"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>jsf.js_next_gen</title><meta name="description" content="Documentation for jsf.js_next_gen"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script defer src="assets/main.js"></script><script async src="assets/icons.js" id="tsd-icons-script"></script><script async src="assets/search.js" id="tsd-search-script"></script><script async src="assets/navigation.js" id="tsd-nav-script"></script><script async src="assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="index.html" class="title">jsf.js_next_gen</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><h1>jsf.js_next_gen</h1></div><div class="tsd-panel tsd-typography"><h1 id="🚀-scratchpad-for-the-typescript-based-reimplementation-of-jsfjs" class="tsd-anchor-link">🚀 Scratchpad for the TypeScript-based reimplementation of jsf.js<a href="#🚀-scratchpad-for-the-typescript-based-reimplementation-of-jsfjs" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1>
2
2
  <h2 id="what-is-this" class="tsd-anchor-link">What is this?<a href="#what-is-this" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
3
- <p>This project is a work in progress for a next gen typescript based
4
- reimplementation of jsf.js/faces.js</p>
5
- <p>The main goal is maintainability. It omits legacy browsers
6
- with Edge 14 and Ecmascript 2015 being the browser and ES baseline for the moment.</p>
7
- <p>It uses functional constructs on micro scale
8
- to keep the maintainability and uses
9
- my own <a href="https://github.com/werpu/mona-dish/">mona-dish</a> project as core framework base, to avoid
10
- unnecessary colliding dependencies.</p>
11
- <p>But it still uses classes modules and inheritance
3
+ <p>This project is a work in progress for a next-generation TypeScript-based
4
+ reimplementation of jsf.js/faces.js.</p>
5
+ <p>The main goal is maintainability. It omits legacy browsers,
6
+ with Edge 14 and ECMAScript 2015 as the browser and ES baseline for now.</p>
7
+ <p>It uses functional constructs on a small scale for maintainability and uses
8
+ my own <a href="https://github.com/werpu/mona-dish/">mona-dish</a> project as its core framework base to avoid
9
+ unnecessary dependency collisions.</p>
10
+ <p>But it still uses classes, modules, and inheritance
12
11
  for code structuring.
13
- The reason for this is, I do not like the one function for all
14
- approach, especially given we have Typescript now as implementation language
15
- which allows a proper code structuring and modularization.</p>
12
+ The reason for this is that I do not like the one-function-for-all
13
+ approach, especially since TypeScript is now the implementation language
14
+ and allows proper code structure and modularization.</p>
16
15
  <p>Webpack can take care of the packaging.</p>
17
- <p>Having smaller code parts, makes it easier to test certain
16
+ <p>Having smaller code parts makes it easier to test certain
18
17
  aspects of the implementation.</p>
19
- <p>Also one additional aspect of the new implementation: it has a proper
20
- test coverage via Mocha based unit tests.</p>
18
+ <p>One additional aspect of the new implementation: it has proper
19
+ test coverage via Mocha-based unit tests.</p>
21
20
  <p>This was also severely lacking in my old implementation
22
- where I just ran a set of 20 integration tests on macro scale.</p>
21
+ where I just ran a set of 20 integration tests on a macro scale.</p>
23
22
  <h2 id="status" class="tsd-anchor-link">Status<a href="#status" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
24
23
  <p>We now have a stable version!
25
- The current stable version (and first stable version is 4.0)
24
+ The current stable version, and first stable version, is 4.0.
26
25
  Why 4.0 and not 1.0?
27
- The reason for this is, it is faces 4.0 compliant (but also faces 2.3 compliant)
28
- and also used in MyFaces 4.0.
29
- In order to avoid version confusion the projects stable version always will be in
30
- sync with the Faces implementation level it provides now and in the future.</p>
31
- <h3 id="special-info" class="tsd-anchor-link">Special info<a href="#special-info" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
32
- <p>Due to a small api change, if you want to embed the 4.0 version (faces.js)
26
+ The reason is that it is Faces 4.0 compliant, but also Faces 2.3 compliant,
27
+ and is used in MyFaces 4.0.
28
+ To avoid version confusion, the project's stable version will always stay
29
+ in sync with the Faces implementation level it provides now and in the future.</p>
30
+ <h3 id="special-info" class="tsd-anchor-link">Special Info<a href="#special-info" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
31
+ <p>Due to a small API change, if you want to embed the 4.0 version (faces.js)
33
32
  in your code, a new attribute specified by the Faces 4.0 spec is not set
34
- at its proper value, <em>contextpath</em>. This attribute atm is a value expression
33
+ to its proper value: <em>contextpath</em>. This attribute is currently a value expression
35
34
  which needs to be set by the loading implementation.</p>
36
- <p>Now if you want to provide your own embedded solution and you will have
35
+ <p>If you want to provide your own embedded solution, you will have
37
36
  to set this value yourself. While my code does not use the attribute in the faces
38
- namespace, other libraries or the users might.</p>
37
+ namespace, other libraries or users might.</p>
39
38
  <p>If you serve the code from MyFaces 4 instead of embedding it, the value will be preset
40
39
  by the internal resource loader.</p>
41
40
  <p>The JSF 2.3 version (jsf.js) is not affected by this change, so nothing needs to be done.
42
41
  In fact the <em>contextpath</em> attribute is not present there.
43
42
  All other attributes behave the same in both versions as in the original legacy codebase.</p>
44
- <h3 id="general-build" class="tsd-anchor-link">General build<a href="#general-build" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
45
- <p>run</p>
43
+ <h3 id="general-build" class="tsd-anchor-link">General Build<a href="#general-build" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
44
+ <p>Run:</p>
46
45
  <ul>
47
- <li>npm install</li>
46
+ <li>npm install ;to install the build time dependencies</li>
47
+ <li>npm run build</li>
48
48
  </ul>
49
49
  <h4 id="on-windows" class="tsd-anchor-link">On Windows<a href="#on-windows" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4>
50
- <p>if not done yet</p>
50
+ <p>If not done yet:</p>
51
51
  <ul>
52
52
  <li>npm install --global --production windows-build-tools</li>
53
53
  </ul>
54
- <p>run</p>
54
+ <p>Run:</p>
55
55
  <ul>
56
- <li>npm install</li>
56
+ <li>npm run build</li>
57
57
  </ul>
58
58
  <h3 id="tests" class="tsd-anchor-link">Tests<a href="#tests" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
59
- <p>run</p>
59
+ <p>Run:</p>
60
60
  <ul>
61
- <li>npm test</li>
61
+ <li>npm run test</li>
62
62
  </ul>
63
63
  <h3 id="test-coverage" class="tsd-anchor-link">Test Coverage<a href="#test-coverage" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
64
64
  <ul>
65
- <li>npm coverage</li>
65
+ <li>npm run coverage</li>
66
66
  </ul>
67
67
  <h3 id="changelist-compared-to-the-original-implementation" class="tsd-anchor-link">Changelist compared to the original implementation<a href="#changelist-compared-to-the-original-implementation" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
68
68
  <ul>
69
69
  <li>
70
70
  <p><em>no_portlet_env</em> is no more
71
- the configuration parameter 'no_portlet_env' has become obsolete with
72
- jsf 2.3 which introduced a proper namespaced viewstate handling
73
- so it is gone now</p>
71
+ The configuration parameter <code>no_portlet_env</code> became obsolete with
72
+ JSF 2.3, which introduced proper namespaced view state handling,
73
+ so it is gone now.</p>
74
74
  </li>
75
75
  <li>
76
76
  <p>pps disabled for the moment</p>
77
77
  </li>
78
78
  </ul>
79
- <p>We had a special pps handling introduced in myfaces, a feature
79
+ <p>We had special PPS handling introduced in MyFaces, a feature
80
80
  probably never used (you basically could reduce the parameters
81
- sent down by sending a list of pps ids). I have disabled it for the time being.
82
- The code still is in there for the moment, but will be dropped
81
+ sent down by sending a list of PPS IDs). I have disabled it for the time being.
82
+ The code is still there for now, but it will be dropped
83
83
  if no demand arises to enable it again.</p>
84
84
  <ul>
85
85
  <li>legacy browsers</li>
86
86
  </ul>
87
- <p>In order to improve the maintainability I have dropped a lot
87
+ <p>In order to improve maintainability, I have dropped a lot
88
88
  of shim and legacy code which was needed to support old browsers.
89
- Since our main aim is long term maintainability there is a clear cut.
89
+ Since our main aim is long-term maintainability, there is a clear cut.
90
90
  The lowest supported browser for the moment is Edge 14.
91
91
  Older browsers are now cut off. This should suffice for most, if
92
- not all important environments. If you still use an older browser than
93
- Edge 14 you still can revert to the old codebase for the time being
94
- (final cutoff point probably will come within the next few years)</p>
92
+ not all, important environments. If you still use a browser older than
93
+ Edge 14, you can still revert to the old codebase for the time being.
94
+ The final cutoff point will probably come within the next few years.</p>
95
95
  <ul>
96
96
  <li>performance</li>
97
97
  </ul>
98
- <p>Given that we now have faster browsers and end user devices in the mobile
99
- area than 10 years ago and the spec conformity has improved a lot, my main focus was maintainability.
100
- Maintainability and readability now comes before performance. So I sacrificed some
101
- of the performance to achieve it.
102
- Given that the most critical performance hits do not happen in the ajax area
98
+ <p>Given that we now have faster browsers and end-user devices in the mobile
99
+ area than 10 years ago, and spec conformity has improved a lot, my main focus was maintainability.
100
+ Maintainability and readability now come before performance, so I sacrificed some
101
+ performance to achieve it.
102
+ Given that the most critical performance hits do not happen in the AJAX area,
103
103
  this is a sacrifice I can live with, for the time being.</p>
104
104
  <ul>
105
- <li>Client side i18n</li>
105
+ <li>Client-side i18n</li>
106
106
  </ul>
107
- <p>The client side i18n error message translations have become more
107
+ <p>The client-side i18n error message translations have become more
108
108
  of a liability than a feature.
109
- For the time being all client side errors are reported in english.
110
- I can reintroduce them, if there is real demand.
109
+ For the time being, all client-side errors are reported in English.
110
+ I can reintroduce them if there is real demand.
111
111
  But the size and maintainability tradeoff, compared to what they
112
- bring was not worth it to keep them anymore.</p>
112
+ bring, was not worth keeping them anymore.</p>
113
113
  <ul>
114
114
  <li>Mapping file support</li>
115
115
  </ul>
116
116
  <p>The original implementation had various builds to support easier debugging (split, combined, compressed)</p>
117
- <p>We now have only two builds prod and development.
118
- However I have introduced a mapping file support.
117
+ <p>We now have only two builds: production and development.
118
+ However, I have introduced mapping file support.
119
119
  To enable this support you have to reference the FacesJSMappingDecorator unless the mapping file
120
120
  is reachable via the normal request (mapping files are bundled).
121
- This works for normal includes, but if you include the jsf.js in a resource library you have to use
121
+ This works for normal includes, but if you include jsf.js in a resource library, you have to use
122
122
  the decorator provided.</p>
123
123
  <p>Usage <em>faces-config.xml</em></p>
124
124
  <pre><code class="xml">
@@ -127,20 +127,241 @@ the decorator provided.</p>
127
127
  </application>
128
128
  </code><button type="button">Copy</button></pre>
129
129
 
130
- <p>This resource decorator detects automatically a faces*.js file coming from a resource library
131
- and adjusts the references in the resource accordingly to the request patterns</p>
130
+ <p>This resource decorator automatically detects a faces*.js file coming from a resource library
131
+ and adjusts the references in the resource according to the request patterns.</p>
132
132
  <h2 id="upload-support" class="tsd-anchor-link">Upload Support<a href="#upload-support" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
133
- <p>As non standard extension XMLHttpRequestUpload support is added</p>
134
- <pre><code class="json"><span class="hl-0">faces.ajax.request(document.getElementById(</span><span class="hl-1">&quot;cmd_eval&quot;</span><span class="hl-0">), </span><span class="hl-2">null</span><span class="hl-0">,</span><br/><span class="hl-0">{</span><br/><span class="hl-0"> </span><span class="hl-3">render</span><span class="hl-0">: </span><span class="hl-3">&#39;@form&#39;</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">execute</span><span class="hl-0">: </span><span class="hl-3">&#39;@form&#39;</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">myfaces</span><span class="hl-0">: {</span><br/><span class="hl-0"> </span><span class="hl-3">upload</span><span class="hl-0">: {</span><br/><span class="hl-0"> </span><span class="hl-3">progress</span><span class="hl-0">: </span><span class="hl-3">(upload:</span><span class="hl-0"> </span><span class="hl-3">XMLHttpRequestUpload</span><span class="hl-0">, </span><span class="hl-3">event</span><span class="hl-0">: </span><span class="hl-3">ProgressEvent)</span><span class="hl-0"> </span><span class="hl-3">=&gt;</span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-3">caughtProgressEvents.push(event);</span><br/><span class="hl-0"> },</span><br/><span class="hl-0"> </span><span class="hl-3">preinit</span><span class="hl-0">: </span><span class="hl-3">(upload:</span><span class="hl-0"> </span><span class="hl-3">XMLHttpRequestUpload)</span><span class="hl-0"> </span><span class="hl-3">=&gt;</span><span class="hl-0"> </span><span class="hl-3">preinitTriggered</span><span class="hl-0"> </span><span class="hl-3">=</span><span class="hl-0"> </span><span class="hl-2">true</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">loadstart</span><span class="hl-0">: </span><span class="hl-3">(upload:</span><span class="hl-0"> </span><span class="hl-3">XMLHttpRequestUpload</span><span class="hl-0">, </span><span class="hl-3">event</span><span class="hl-0">: </span><span class="hl-3">ProgressEvent)</span><span class="hl-0"> </span><span class="hl-3">=&gt;</span><span class="hl-0"> </span><span class="hl-3">loadstartTriggered</span><span class="hl-0"> </span><span class="hl-3">=</span><span class="hl-0"> </span><span class="hl-2">true</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">load</span><span class="hl-0">: </span><span class="hl-3">(upload:</span><span class="hl-0"> </span><span class="hl-3">XMLHttpRequestUpload</span><span class="hl-0">, </span><span class="hl-3">event</span><span class="hl-0">: </span><span class="hl-3">ProgressEvent)</span><span class="hl-0"> </span><span class="hl-3">=&gt;</span><span class="hl-0"> </span><span class="hl-3">loadTriggered</span><span class="hl-0"> </span><span class="hl-3">=</span><span class="hl-0"> </span><span class="hl-2">true</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">loadend</span><span class="hl-0">: </span><span class="hl-3">(upload:</span><span class="hl-0"> </span><span class="hl-3">XMLHttpRequestUpload</span><span class="hl-0">, </span><span class="hl-3">event</span><span class="hl-0">: </span><span class="hl-3">ProgressEvent)</span><span class="hl-0"> </span><span class="hl-3">=&gt;</span><span class="hl-0"> </span><span class="hl-3">loadendTriggered</span><span class="hl-0"> </span><span class="hl-3">=</span><span class="hl-0"> </span><span class="hl-2">true</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">error</span><span class="hl-0">: </span><span class="hl-3">(upload:</span><span class="hl-0"> </span><span class="hl-3">XMLHttpRequestUpload</span><span class="hl-0">, </span><span class="hl-3">event</span><span class="hl-0">: </span><span class="hl-3">ProgressEvent)</span><span class="hl-0"> </span><span class="hl-3">=&gt;</span><span class="hl-0"> </span><span class="hl-3">errorTriggered</span><span class="hl-0"> </span><span class="hl-3">=</span><span class="hl-0"> </span><span class="hl-2">true</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">abort</span><span class="hl-0">: </span><span class="hl-3">(upload:</span><span class="hl-0"> </span><span class="hl-3">XMLHttpRequestUpload</span><span class="hl-0">, </span><span class="hl-3">event</span><span class="hl-0">: </span><span class="hl-3">ProgressEvent)</span><span class="hl-0"> </span><span class="hl-3">=&gt;</span><span class="hl-0"> </span><span class="hl-3">abortTriggered</span><span class="hl-0"> </span><span class="hl-3">=</span><span class="hl-0"> </span><span class="hl-2">true</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">timeout</span><span class="hl-0">: </span><span class="hl-3">(upload:</span><span class="hl-0"> </span><span class="hl-3">XMLHttpRequestUpload</span><span class="hl-0">, </span><span class="hl-3">event</span><span class="hl-0">: </span><span class="hl-3">ProgressEvent)</span><span class="hl-0"> </span><span class="hl-3">=&gt;</span><span class="hl-0"> </span><span class="hl-3">timeoutTriggered</span><span class="hl-0"> </span><span class="hl-3">=</span><span class="hl-0"> </span><span class="hl-2">true</span><span class="hl-0">,</span><br/><span class="hl-0"> }</span><br/><span class="hl-0"> }</span><br/><span class="hl-0">});</span>
133
+ <p>As a non-standard extension, XMLHttpRequestUpload support is added.</p>
134
+ <pre><code class="json"><span class="hl-0">faces.ajax.request(document.getElementById(</span><span class="hl-1">&quot;cmd_eval&quot;</span><span class="hl-0">), </span><span class="hl-2">null</span><span class="hl-0">,</span><br/><span class="hl-0">{</span><br/><span class="hl-0"> </span><span class="hl-3">render</span><span class="hl-0">: </span><span class="hl-3">&#39;@form&#39;</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">execute</span><span class="hl-0">: </span><span class="hl-3">&#39;@form&#39;</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">myfaces</span><span class="hl-0">: {</span><br/><span class="hl-0"> </span><span class="hl-3">upload</span><span class="hl-0">: {</span><br/><span class="hl-0"> </span><span class="hl-3">progress</span><span class="hl-0">: </span><span class="hl-3">(upload:</span><span class="hl-0"> </span><span class="hl-3">XMLHttpRequestUpload</span><span class="hl-0">, </span><span class="hl-3">event</span><span class="hl-0">: </span><span class="hl-3">ProgressEvent)</span><span class="hl-0"> </span><span class="hl-3">=&gt;</span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-3">caughtProgressEvents.push(event);</span><br/><span class="hl-0"> },</span><br/><span class="hl-0"> </span><span class="hl-3">preinit</span><span class="hl-0">: </span><span class="hl-3">(upload:</span><span class="hl-0"> </span><span class="hl-3">XMLHttpRequestUpload)</span><span class="hl-0"> </span><span class="hl-3">=&gt;</span><span class="hl-0"> </span><span class="hl-3">preinitTriggered</span><span class="hl-0"> </span><span class="hl-3">=</span><span class="hl-0"> </span><span class="hl-2">true</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">loadstart</span><span class="hl-0">: </span><span class="hl-3">(upload:</span><span class="hl-0"> </span><span class="hl-3">XMLHttpRequestUpload</span><span class="hl-0">, </span><span class="hl-3">event</span><span class="hl-0">: </span><span class="hl-3">ProgressEvent)</span><span class="hl-0"> </span><span class="hl-3">=&gt;</span><span class="hl-0"> </span><span class="hl-3">loadstartTriggered</span><span class="hl-0"> </span><span class="hl-3">=</span><span class="hl-0"> </span><span class="hl-2">true</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">load</span><span class="hl-0">: </span><span class="hl-3">(upload:</span><span class="hl-0"> </span><span class="hl-3">XMLHttpRequestUpload</span><span class="hl-0">, </span><span class="hl-3">event</span><span class="hl-0">: </span><span class="hl-3">ProgressEvent)</span><span class="hl-0"> </span><span class="hl-3">=&gt;</span><span class="hl-0"> </span><span class="hl-3">loadTriggered</span><span class="hl-0"> </span><span class="hl-3">=</span><span class="hl-0"> </span><span class="hl-2">true</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">loadend</span><span class="hl-0">: </span><span class="hl-3">(upload:</span><span class="hl-0"> </span><span class="hl-3">XMLHttpRequestUpload</span><span class="hl-0">, </span><span class="hl-3">event</span><span class="hl-0">: </span><span class="hl-3">ProgressEvent)</span><span class="hl-0"> </span><span class="hl-3">=&gt;</span><span class="hl-0"> </span><span class="hl-3">loadendTriggered</span><span class="hl-0"> </span><span class="hl-3">=</span><span class="hl-0"> </span><span class="hl-2">true</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">error</span><span class="hl-0">: </span><span class="hl-3">(upload:</span><span class="hl-0"> </span><span class="hl-3">XMLHttpRequestUpload</span><span class="hl-0">, </span><span class="hl-3">event</span><span class="hl-0">: </span><span class="hl-3">ProgressEvent)</span><span class="hl-0"> </span><span class="hl-3">=&gt;</span><span class="hl-0"> </span><span class="hl-3">errorTriggered</span><span class="hl-0"> </span><span class="hl-3">=</span><span class="hl-0"> </span><span class="hl-2">true</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">abort</span><span class="hl-0">: </span><span class="hl-3">(upload:</span><span class="hl-0"> </span><span class="hl-3">XMLHttpRequestUpload</span><span class="hl-0">, </span><span class="hl-3">event</span><span class="hl-0">: </span><span class="hl-3">ProgressEvent)</span><span class="hl-0"> </span><span class="hl-3">=&gt;</span><span class="hl-0"> </span><span class="hl-3">abortTriggered</span><span class="hl-0"> </span><span class="hl-3">=</span><span class="hl-0"> </span><span class="hl-2">true</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">timeout</span><span class="hl-0">: </span><span class="hl-3">(upload:</span><span class="hl-0"> </span><span class="hl-3">XMLHttpRequestUpload</span><span class="hl-0">, </span><span class="hl-3">event</span><span class="hl-0">: </span><span class="hl-3">ProgressEvent)</span><span class="hl-0"> </span><span class="hl-3">=&gt;</span><span class="hl-0"> </span><span class="hl-3">timeoutTriggered</span><span class="hl-0"> </span><span class="hl-3">=</span><span class="hl-0"> </span><span class="hl-2">true</span><span class="hl-0">,</span><br/><span class="hl-0"> }</span><br/><span class="hl-0"> }</span><br/><span class="hl-0">});</span>
135
135
  </code><button type="button">Copy</button></pre>
136
136
 
137
137
  <h2 id="changes-since-40" class="tsd-anchor-link">Changes since 4.0<a href="#changes-since-40" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
138
138
  <ul>
139
- <li>Elimination of Streams in favor of native arrays</li>
140
- <li>Providing an internal non intrusive shim for browsers which do not have array map and flapMap
141
- (older Edge and Chromium versions) - done in mona-dish</li>
142
- <li>Adding a progress monitoring functionality under the myfaces namespace</li>
143
- <li>Bugfixes which improve tck compliance</li>
144
- <li>Integration in myfaces 4.0+ as default faces.js implementation</li>
139
+ <li>
140
+ <p>Core fixes</p>
141
+ <ul>
142
+ <li>Updated the codebase build to TypeScript 6.</li>
143
+ <li>Fixed code for TypeScript 6's stronger type enforcement rules.</li>
144
+ <li>Fixes cases like <code>404</code>/<code>500</code> with empty, HTML, invalid XML, or otherwise non-partial-response bodies being incorrectly reported as <code>malformedXML</code> or
145
+ <code>emptyResponse</code>.</li>
146
+ <li>Malformed XML is now only reported as <code>malformedXML</code> for successful HTTP responses.</li>
147
+ <li>XHR timeout now emits the timeout event and reports <code>httpError</code>.</li>
148
+ <li>XHR abort now reports <code>httpError</code>.</li>
149
+ <li>Fixed handling of browser-cancelled XHRs: cancellation-style responses (<code>status=0</code>, <code>readyState=4</code>, empty response text, and null XML), observed in older Safari/WebKit and Chrome/Chromium versions during navigation or download handoff, are treated as queue cleanup and do not fire user <code>onerror</code>.</li>
150
+ <li>Multipart requests no longer get an explicit URL-encoded <code>Content-Type</code>; the browser can set the proper multipart boundary.</li>
151
+ <li>WebSocket Faces <code>onerror</code> now matches the spec: reconnectable abnormal closes call <code>onerror</code> before reconnecting.</li>
152
+ <li>WebSocket reconnect scheduling now keeps the correct <code>this</code> binding.</li>
153
+ <li>WebSocket reconnect now increments attempts before scheduling, clears the stale socket, and creates a fresh socket on reconnect.</li>
154
+ <li><code>PushImpl.reset()</code> now closes existing sockets before clearing socket/component registries.</li>
155
+ <li>Pending WebSocket callbacks now return cleanly if the channel registry has already been torn down.</li>
156
+ <li>Preserved stale WebSocket component pruning when moving Faces <code>onerror</code> handling from native <code>WebSocket.onerror</code> to reconnectable close handling.</li>
157
+ <li>The JSF 2.3 compatibility shim now adapts the old <code>jsf.push.init</code> signature without mutating the shared Faces 4 <code>faces.push</code> object.</li>
158
+ <li>Push typings now include both the Faces 4 signature with <code>onerror</code> and the legacy JSF-compatible signature without it.</li>
159
+ <li>Renamed the reference to the shared API to <code>myfacesApi</code> for code clarity.</li>
160
+ <li>Cleaned up <code>myfaces.ab</code> init code in <code>jsf.ts</code> to match the <code>faces.ts</code> init code.</li>
161
+ </ul>
162
+ </li>
163
+ <li>
164
+ <p>Core improvements</p>
165
+ <ul>
166
+ <li>Refactored upload callback registration in <code>XhrRequest</code> into <code>registerUploadCallbacks()</code>.</li>
167
+ <li>Simplified timeout/header setup.</li>
168
+ <li>Cleaned up and simplified <code>XhrFormData</code>.</li>
169
+ <li>Clarified view state ordering so it is applied after field encoding and not double-counted.</li>
170
+ </ul>
171
+ </li>
172
+ <li>
173
+ <p>Tests added or expanded</p>
174
+ <ul>
175
+ <li>Added tests for <code>4xx</code> non-XML responses returning <code>httpError</code>.</li>
176
+ <li>Added tests for <code>5xx</code> valid XML responses still returning <code>httpError</code>.</li>
177
+ <li>Added tests for successful empty responses returning <code>emptyResponse</code>.</li>
178
+ <li>Added tests for successful malformed XML returning <code>malformedXML</code>.</li>
179
+ <li>Added tests for XHR timeout behavior.</li>
180
+ <li>Added tests for XHR abort behavior.</li>
181
+ <li>Added tests for browser-cancelled XHR handling using the observed <code>status=0</code> cancellation fingerprint.</li>
182
+ <li>Added or expanded <code>XhrFormData</code> tests for normal encoding, multi-value fields, view state, view state de-duplication, partial IDs, multipart detection,
183
+ <code>FormData</code> output, and naming-container remapping.</li>
184
+ <li>Expanded WebSocket tests for Faces 4 <code>onerror</code>.</li>
185
+ <li>Expanded WebSocket tests for abnormal-close reconnect behavior.</li>
186
+ <li>Expanded WebSocket tests for cumulative reconnect delays and stale socket cleanup across consecutive failed reconnect attempts.</li>
187
+ <li>Expanded WebSocket tests for terminal expired-close behavior.</li>
188
+ <li>Expanded WebSocket tests for stale component cleanup.</li>
189
+ <li>Expanded WebSocket tests for idempotent init.</li>
190
+ <li>Expanded WebSocket tests for behavior dispatch.</li>
191
+ <li>Expanded WebSocket tests for shared socket fan-out.</li>
192
+ <li>Renamed the websocket test file from <code>WebsocketTest.ts</code> to <code>WebsocketTest.spec.ts</code>; the old name prevented the tests from running.</li>
193
+ </ul>
194
+ </li>
195
+ </ul>
196
+ <h2 id="changes-since-410-beta-10" class="tsd-anchor-link">Changes since 4.1.0-beta-10<a href="#changes-since-410-beta-10" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
197
+ <ul>
198
+ <li>
199
+ <p>Core fixes</p>
200
+ <ul>
201
+ <li>Push/Websocket onOpen onClose callback lifecycle fixes according to spec behavior</li>
202
+ <li>WebSocket <code>onopen</code> now fires only for the first connection attempt, not for automatic reconnects.</li>
203
+ <li>Failed first WebSocket connection attempts are now treated as terminal: <code>onclose</code> is called, no reconnect is scheduled, and <code>onerror</code> is not called.</li>
204
+ <li>WebSocket close code <code>1000</code> is now treated as terminal for any reason, not only <code>REASON_EXPIRED</code>.</li>
205
+ <li>WebSocket close code <code>1008</code> (<code>Policy Violation</code>) is now treated as terminal and does not reconnect.</li>
206
+ <li>WebSocket reconnect exhaustion now calls <code>onclose</code> and stops reconnecting after <code>MAX_RECONNECT_ATTEMPTS</code>.</li>
207
+ <li>Terminal WebSocket closes now reset reconnect state so a later explicit <code>open()</code> starts as a fresh connection.</li>
208
+ </ul>
209
+ </li>
210
+ <li>
211
+ <p>Tests added or expanded</p>
212
+ <ul>
213
+ <li>Added tests to verify the <code>onopen</code>/<code>onclose</code> callback lifecycle.</li>
214
+ <li>Added tests that <code>onopen</code> is not fired again after a successful automatic reconnect.</li>
215
+ <li>Added tests that reconnect attempts reset after a successful reconnect.</li>
216
+ <li>Added tests that max reconnect exhaustion calls <code>onclose</code>.</li>
217
+ <li>Added tests that close code <code>1008</code> is terminal and does not reconnect.</li>
218
+ <li>Added tests that explicit <code>open()</code> after a terminal close fires <code>onopen</code> again as a fresh connection.</li>
219
+ <li>JSF 2.3 jsf.push.init compatibility test added</li>
220
+ </ul>
221
+ </li>
222
+ </ul>
223
+ <p>4.1.0-beta.12</p>
224
+ <p>Bug Fixes</p>
225
+ <ul>
226
+ <li>WebSocket push spec alignment (PushImpl.ts): Full compliance with the Jakarta Faces push specification on 4+ and 2.3 level
227
+ <ul>
228
+ <li>hasEverConnected flag is now set before firing onopen callbacks (prevents re-entrant terminal-close edge case)</li>
229
+ <li>Code 1000 (normal closure) is now always treated as terminal regardless of reason, per spec</li>
230
+ <li>reconnectAttempts and hasEverConnected are reset after a terminal close, allowing faces.push.open() to re-establish a connection and fire onopen again</li>
231
+ </ul>
232
+ </li>
233
+ <li>XhrQueueController debounce race condition: Each XhrQueueController instance now uses a unique debounce key — previously all instances shared one key, causing<br>
234
+ enqueues on separate instances to cancel each other's debounce window</li>
235
+ <li>Code cleanup: Removed dead exports from ResponseDataResolver.ts; minor cleanup in _api.ts and PushImpl.ts</li>
236
+ </ul>
237
+ <p>Improvements</p>
238
+ <ul>
239
+ <li>PushImpl.ts readability: Lifecycle code refactored for clarity</li>
240
+ <li>FileUtils.ts: Minor code improvements (stricter equality, cleaner split)</li>
241
+ </ul>
242
+ <p>Tests</p>
243
+ <ul>
244
+ <li>Added tests for WebSocket re-open after terminal close</li>
245
+ <li>Added XhrQueueController two-instance debounce isolation test</li>
246
+ <li>Added direct unit tests for FileUtils (encodeFormData, decodeEncodedValues, fixEmptyParameters)</li>
247
+ <li>Added tests for Assertions.ts — branch coverage up to ~88%</li>
248
+ <li>Added tests for ResponseDataResolver.resolveContexts</li>
249
+ <li>Added tests for ExtDomQuery (nonce DOM fallback, runHeadInserts text-node path) and ExtConfig (append, appendIf, deepCopy)</li>
250
+ <li>Added tests for HiddenInputBuilder, Lang, and async queue</li>
251
+ </ul>
252
+ <h2 id="410-beta20" class="tsd-anchor-link">4.1.0-beta.20<a href="#410-beta20" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
253
+ <ul>
254
+ <li>Bugfix: focus bug in the new refocus code of <code>mona-dish</code>
255
+ <ul>
256
+ <li>Fixed upstream in <code>mona-dish</code> <code>0.50.0-beta.6</code>; the bundles are rebuilt against that version.</li>
257
+ </ul>
258
+ </li>
259
+ <li>Dependency update
260
+ <ul>
261
+ <li>Updated <code>mona-dish</code> to <code>0.50.0-beta.6</code></li>
262
+ </ul>
263
+ </li>
264
+ </ul>
265
+ <h2 id="410-beta19" class="tsd-anchor-link">4.1.0-beta.19<a href="#410-beta19" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
266
+ <ul>
267
+ <li>Bugfix: Chromium error on huge DOM replacements
268
+ <ul>
269
+ <li>Partial responses replacing very large DOM trees (~150,000 nodes) failed on Chromium-based
270
+ browsers because unchunked large arrays were passed in a single <code>push(...array)</code> /
271
+ constructor-spread call, exceeding the engine's argument-count limit. <code>mona-dish</code> now
272
+ appends in chunks of 30,000 elements (<code>pushChunked</code> / <code>Es2019ArrayFrom</code>), and all
273
+ <code>DomQuery</code> node-list paths go through the chunk-safe code.</li>
274
+ </ul>
275
+ </li>
276
+ <li>Dependency update
277
+ <ul>
278
+ <li>Updated <code>mona-dish</code> to <code>0.50.0-beta.5</code></li>
279
+ </ul>
280
+ </li>
281
+ </ul>
282
+ <h2 id="410-beta18" class="tsd-anchor-link">4.1.0-beta.18<a href="#410-beta18" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
283
+ <ul>
284
+ <li>Added missing ASL2 license headers</li>
285
+ </ul>
286
+ <h2 id="410-beta17" class="tsd-anchor-link">4.1.0-beta.17<a href="#410-beta17" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
287
+ <ul>
288
+ <li>Bugfix: caret position regression on partial updates
289
+ <ul>
290
+ <li>After typing into an input that triggers an ajax request, the keyboard caret jumped to
291
+ the beginning of the field (e.g. typing <code>123</code> resulted in <code>321</code>). This regressed in
292
+ <code>mona-dish</code> <code>0.50.0-beta.3</code>'s caret restoration and is fixed there; the focused input now
293
+ keeps its caret whether a partial response re-renders a different component or the input
294
+ itself.</li>
295
+ </ul>
296
+ </li>
297
+ <li>Dependency update
298
+ <ul>
299
+ <li>Updated <code>mona-dish</code> to <code>0.50.0-beta.3</code></li>
300
+ </ul>
301
+ </li>
302
+ <li>Tests added
303
+ <ul>
304
+ <li>Added two protocol-level regression tests (<code>ResponseTest</code>) reproducing the Tobago
305
+ <code>&lt;tc:in&gt;</code>/<code>&lt;tc:out&gt;</code> scenario: typing <code>123</code> keeps the caret in order for both the
306
+ &quot;re-render only the output&quot; and the &quot;re-render the input itself&quot; cases.</li>
307
+ </ul>
308
+ </li>
309
+ </ul>
310
+ <h2 id="410-beta16" class="tsd-anchor-link">4.1.0-beta.16<a href="#410-beta16" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
311
+ <ul>
312
+ <li>
313
+ <p>Dependency update</p>
314
+ <ul>
315
+ <li>Updated <code>mona-dish</code> to <code>0.50.0-beta.2</code></li>
316
+ </ul>
317
+ </li>
318
+ <li>
319
+ <p>Build / tooling improvements</p>
320
+ <ul>
321
+ <li><code>dist/**</code>, <code>target/**</code>, <code>**/*.d.ts</code>, and <code>**/*.mjs</code> are now excluded from the <code>nyc</code> coverage report so only the implementation source is measured.</li>
322
+ <li>Apache license header added to <code>dist/window/faces.d.ts</code> and <code>dist/window/jsf.d.ts</code> (prepended by the <code>build-dts</code> post-processing step).</li>
323
+ <li>Apache license header added to <code>scripts/build-dts.mjs</code> and <code>webpack.config.ts</code>.</li>
324
+ </ul>
325
+ </li>
326
+ </ul>
327
+ <h2 id="410-beta15" class="tsd-anchor-link">4.1.0-beta.15<a href="#410-beta15" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
328
+ <ul>
329
+ <li>
330
+ <p>Tests added or expanded</p>
331
+ <ul>
332
+ <li>Added tests for <code>ExtDomQuery.runHeadInserts(false)</code> — covers the <code>suppressDoubleIncludes=false</code> path in <code>resourceIsNew</code> that bypasses deduplication.</li>
333
+ <li>Added test for checked checkbox as issuing element with <code>execute=&quot;@none&quot;</code> — covers <code>XhrRequest.appendIssuingItem</code> adding the element keyed by its ID when it is absent from the encoded form data.</li>
334
+ <li>Added test verifying <code>execute=&quot;@none&quot;</code> deletes <code>P_EXECUTE</code> from the pass-through context via <code>AjaxImpl.remapDefaultConstants</code>.</li>
335
+ <li>Added unit tests for <code>StateHolder.hasNameSpace</code> — covers the getter returning <code>false</code> (no namespace prefix) and <code>true</code> (namespace prefix present).</li>
336
+ <li>Added test for <code>ExtLang.getMessage</code> with a key that exists in <code>Messages</code> — covers the left branch of the <code>??</code> fallback chain.</li>
337
+ </ul>
338
+ </li>
339
+ <li>
340
+ <p>Type system improvements</p>
341
+ <ul>
342
+ <li><code>$faces()</code> in <code>Const.ts</code> now returns <code>typeof faces</code> instead of <code>any</code>, giving full type-safe access to the faces namespace throughout the implementation and catching typos at compile time.</li>
343
+ <li>Stale hand-written method interface definitions (<code>IErrorData</code>, <code>IEventData</code>, <code>Ajax</code>, <code>Util</code>, <code>Push</code>, <code>FacesAPI</code>, <code>OAM</code>, <code>MyFacesAPI</code>) removed from <code>index.d.ts</code>; the <code>Window</code> augmentation now derives its types directly from <code>_api.ts</code> via <code>typeof faces</code> / <code>typeof myfaces</code>.</li>
344
+ <li><code>ErrorData</code> and <code>EventData</code> no longer implement the removed <code>IErrorData</code> / <code>IEventData</code> interfaces.</li>
345
+ </ul>
346
+ </li>
347
+ <li>
348
+ <p>Build improvements</p>
349
+ <ul>
350
+ <li>Self-contained <code>dist/window/faces.d.ts</code> and <code>dist/window/jsf.d.ts</code> declaration files are now generated deterministically via <code>@microsoft/api-extractor</code> as part of the build (<code>npm run build-dts</code>).</li>
351
+ <li><code>jsf.d.ts</code> is derived from <code>faces.d.ts</code> by automated text transforms: namespace renamed to <code>jsf</code>, <code>contextpath</code> removed, <code>onerror</code> parameter removed from <code>push.init</code> (JSF 2.3 compatibility).</li>
352
+ <li>A dedicated <code>tsconfig.ae.json</code> isolates the api-extractor compiler program from source <code>.ts</code> files, preventing the <code>ae-wrong-input-file-type</code> error caused by the <code>index.d.ts</code> import chain.</li>
353
+ <li>Generated <code>faces.d.ts</code> is a strict superset of the Jakarta Faces specification <code>faces.d.ts</code> — all spec members are present; widened unions and additional optional fields are implementation extensions.</li>
354
+ <li><code>specversion</code>, <code>implversion</code>, <code>separatorchar</code>, and <code>contextpath</code> are now declared as <code>const</code> (matching the Jakarta Faces 5.0 spec) instead of <code>var</code> in both <code>_api.ts</code> and the generated declaration files.</li>
355
+ <li>Post-processing now restores the missing <code>export</code> keyword on <code>const</code> namespace members in the generated <code>faces.d.ts</code> and <code>jsf.d.ts</code> (api-extractor omits it for <code>const</code> declarations); without it, members like <code>faces.specversion</code> would not be TypeScript-accessible.</li>
356
+ </ul>
357
+ </li>
358
+ </ul>
359
+ <h2 id="410-beta13-410-beta14" class="tsd-anchor-link">4.1.0-beta.13 / 4.1.0-beta.14<a href="#410-beta13-410-beta14" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
360
+ <ul>
361
+ <li>Added AI disclaimers to fulfill the ASF criteria for code being integrated into the Apache MyFaces codebase</li>
145
362
  </ul>
146
- </div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#🚀-scratchpad-for-the-typescript-based-reimplementation-of-jsf-js"><span>🚀 <wbr/>Scratchpad for the typescript based reimplementation of jsf js</span></a><ul><li><a href="#what-is-this"><span>What is this?</span></a></li><li><a href="#status"><span>Status</span></a></li><li><ul><li><a href="#special-info"><span>Special info</span></a></li><li><a href="#general-build"><span>General build</span></a></li><li><ul><li><a href="#on-windows"><span>On <wbr/>Windows</span></a></li></ul></li><li><a href="#tests"><span>Tests</span></a></li><li><a href="#test-coverage"><span>Test <wbr/>Coverage</span></a></li><li><a href="#changelist-compared-to-the-original-implementation"><span>Changelist compared to the original implementation</span></a></li></ul></li><li><a href="#upload-support"><span>Upload <wbr/>Support</span></a></li><li><a href="#changes-since-40"><span>Changes since 4.0</span></a></li></ul></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="modules.html">jsf.js_next_gen</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
363
+ <p>Note as of Version 4.0 starting with the ts6 conversion, the code has been improved with the help of
364
+ generative AI Tooling, as per <a href="https://www.apache.org/legal/generative-tooling.html">https://www.apache.org/legal/generative-tooling.html</a>
365
+ disclosures now are added!
366
+ See AI_CONTRIBUTIONS.md for full disclosure</p>
367
+ </div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#🚀-scratchpad-for-the-typescript-based-reimplementation-of-jsfjs"><span>🚀 <wbr/>Scratchpad for the <wbr/>Type<wbr/>Script-<wbr/>based reimplementation of jsf.js</span></a><ul><li><a href="#what-is-this"><span>What is this?</span></a></li><li><a href="#status"><span>Status</span></a></li><li><ul><li><a href="#special-info"><span>Special <wbr/>Info</span></a></li><li><a href="#general-build"><span>General <wbr/>Build</span></a></li><li><ul><li><a href="#on-windows"><span>On <wbr/>Windows</span></a></li></ul></li><li><a href="#tests"><span>Tests</span></a></li><li><a href="#test-coverage"><span>Test <wbr/>Coverage</span></a></li><li><a href="#changelist-compared-to-the-original-implementation"><span>Changelist compared to the original implementation</span></a></li></ul></li><li><a href="#upload-support"><span>Upload <wbr/>Support</span></a></li><li><a href="#changes-since-40"><span>Changes since 4.0</span></a></li><li><a href="#changes-since-410-beta-10"><span>Changes since 4.1.0-<wbr/>beta-<wbr/>10</span></a></li><li><a href="#410-beta20"><span>4.1.0-<wbr/>beta.20</span></a></li><li><a href="#410-beta19"><span>4.1.0-<wbr/>beta.19</span></a></li><li><a href="#410-beta18"><span>4.1.0-<wbr/>beta.18</span></a></li><li><a href="#410-beta17"><span>4.1.0-<wbr/>beta.17</span></a></li><li><a href="#410-beta16"><span>4.1.0-<wbr/>beta.16</span></a></li><li><a href="#410-beta15"><span>4.1.0-<wbr/>beta.15</span></a></li><li><a href="#410-beta13-410-beta14"><span>4.1.0-<wbr/>beta.13 / 4.1.0-<wbr/>beta.14</span></a></li></ul></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="modules.html">jsf.js_next_gen</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
@@ -0,0 +1,6 @@
1
+ <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>AjaxData | jsf.js_next_gen</title><meta name="description" content="Documentation for jsf.js_next_gen"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">jsf.js_next_gen</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../modules/faces.html">faces</a></li><li><a href="" aria-current="page">AjaxData</a></li></ul><h1>Interface AjaxData</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>Common shape for the data passed to ajax callbacks.</p>
2
+ </div></section><div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">AjaxData</span> <span class="tsd-signature-symbol">{</span><br/>    <a class="tsd-kind-property" href="#responsecode">responseCode</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#responsetext">responseText</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#responsexml">responseXML</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">XMLDocument</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#source">source</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">Element</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><section class="tsd-panel tsd-hierarchy" data-refl="13"><h4>Hierarchy (<a href="../hierarchy.html#faces.AjaxData">View Summary</a>)</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">AjaxData</span><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="faces.AjaxEvent.html" class="tsd-signature-type tsd-kind-interface">AjaxEvent</a></li><li class="tsd-hierarchy-item"><a href="faces.AjaxError.html" class="tsd-signature-type tsd-kind-interface">AjaxError</a></li></ul></li></ul></section><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h5 class="tsd-index-heading uppercase">Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="#responsecode" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>response<wbr/>Code?</span></a>
3
+ <a href="#responsetext" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>response<wbr/>Text?</span></a>
4
+ <a href="#responsexml" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>response<wbr/>XML?</span></a>
5
+ <a href="#source" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>source?</span></a>
6
+ </div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>Properties</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="responsecode"><code class="tsd-tag">Optional</code><span>response<wbr/>Code</span><a href="#responsecode" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">responseCode</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span></div></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="responsetext"><code class="tsd-tag">Optional</code><span>response<wbr/>Text</span><a href="#responsetext" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">responseText</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="responsexml"><code class="tsd-tag">Optional</code><span>response<wbr/>XML</span><a href="#responsexml" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">responseXML</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">XMLDocument</span></div></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="source"><code class="tsd-tag">Optional</code><span>source</span><a href="#source" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">source</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">Element</span></div></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Properties</summary><div><a href="#responsecode"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>response<wbr/>Code</span></a><a href="#responsetext"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>response<wbr/>Text</span></a><a href="#responsexml"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>response<wbr/>XML</span></a><a href="#source"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>source</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">jsf.js_next_gen</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>