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

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 +243 -77
  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 +258 -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 +1749 -494
  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 +1754 -508
  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
@@ -0,0 +1,71 @@
1
+ # AI Contributions Disclosure
2
+
3
+ In accordance with the [Apache Software Foundation policy on generative AI tooling](https://www.apache.org/legal/generative-tooling.html), this file discloses that portions of this project were created or substantially modified with assistance from generative AI tools.
4
+
5
+ ## Tool used
6
+
7
+ **Claude** (Anthropic) — conversational AI coding assistant
8
+
9
+ ## Scope
10
+
11
+ All new source files and substantial modifications introduced from the TypeScript 6 migration onwards (starting with commit `d609321` in http://github.com/werpu/jsf_js_ts) were produced with AI assistance. This covers both production source code and test code.
12
+
13
+ ### Newly created files (AI-generated)
14
+
15
+ - `src/main/typescript/@types/definitions/modules.d.ts`
16
+ - `src/main/typescript/api/_api_ae_stub.d.ts`
17
+ - `src/main/typescript/test/api/JsfPushShimTest.spec.ts`
18
+ - `src/main/typescript/test/api/PushTypeCompatibility.ts`
19
+ - `src/main/typescript/test/impl/AssertionsTest.spec.ts`
20
+ - `src/main/typescript/test/impl/FileUtilsTest.spec.ts`
21
+ - `src/main/typescript/test/impl/ResponseDataResolverTest.spec.ts`
22
+ - `src/main/typescript/test/impl/util/ExtLangTest.spec.ts`
23
+ - `src/main/typescript/test/impl/util/HiddenInputBuilderTest.spec.ts`
24
+ - `src/main/typescript/test/xhrCore/WebsocketTest.spec.ts`
25
+ - `src/main/typescript/tsconfig.ae.json`
26
+ - `scripts/build-dts.mjs`
27
+
28
+ ### Substantially modified files (AI-assisted)
29
+
30
+ - `src/main/typescript/api/_api.ts`
31
+ - `src/main/typescript/api/faces.ts`
32
+ - `src/main/typescript/api/jsf.ts`
33
+ - `src/main/typescript/impl/AjaxImpl.ts`
34
+ - `src/main/typescript/impl/PushImpl.ts`
35
+ - `src/main/typescript/impl/core/Const.ts`
36
+ - `src/main/typescript/impl/util/Assertions.ts`
37
+ - `src/main/typescript/impl/util/AsyncRunnable.ts`
38
+ - `src/main/typescript/impl/util/ExtDomQuery.ts`
39
+ - `src/main/typescript/impl/util/FileUtils.ts`
40
+ - `src/main/typescript/impl/util/HiddenInputBuilder.ts`
41
+ - `src/main/typescript/impl/util/Lang.ts`
42
+ - `src/main/typescript/impl/util/XhrQueueController.ts`
43
+ - `src/main/typescript/impl/xhrCore/ErrorData.ts`
44
+ - `src/main/typescript/impl/xhrCore/EventData.ts`
45
+ - `src/main/typescript/impl/xhrCore/IResponseProcessor.ts`
46
+ - `src/main/typescript/impl/xhrCore/RequestDataResolver.ts`
47
+ - `src/main/typescript/impl/xhrCore/Response.ts`
48
+ - `src/main/typescript/impl/xhrCore/ResponseDataResolver.ts`
49
+ - `src/main/typescript/impl/xhrCore/ResponseProcessor.ts`
50
+ - `src/main/typescript/impl/xhrCore/XhrFormData.ts`
51
+ - `src/main/typescript/impl/xhrCore/XhrRequest.ts`
52
+ - `src/main/typescript/myfaces/OamSubmit.ts`
53
+ - `src/main/typescript/test/frameworkBase/_ext/monadish/DomQueryTest.spec.ts`
54
+ - `src/main/typescript/test/frameworkBase/_ext/shared/StandardInits.ts`
55
+ - `src/main/typescript/test/impl/util/ExtDomQueryTest.spec.ts`
56
+ - `src/main/typescript/test/myfaces/OamSubmit.spec.ts`
57
+ - `src/main/typescript/test/queue/AsynchronousQueueTest.spec.ts`
58
+ - `src/main/typescript/test/xhrCore/ErrorChainTest.spec.ts`
59
+ - `src/main/typescript/test/xhrCore/FakeWebsocket.ts`
60
+ - `src/main/typescript/test/xhrCore/RequestTest.spec.ts`
61
+ - `src/main/typescript/test/xhrCore/ResponseTest.spec.ts`
62
+ - `src/main/typescript/test/xhrCore/TobagoFileUploadTest.spec.ts`
63
+ - `src/main/typescript/test/xhrCore/XhrFormDataTest.spec.ts`
64
+ - `src/main/typescript/@types/definitions/index.d.ts`
65
+ - `api-extractor.faces.json`
66
+
67
+ ## Nature of AI assistance
68
+
69
+ The AI assistant was used interactively: the human author directed the work, reviewed all output, made corrections,
70
+ and approved each change before it was applied.
71
+ The AI did not commit code autonomously. All contributions remain under the Apache License 2.0.
package/README.md CHANGED
@@ -1,54 +1,53 @@
1
- # 🚀 Scratchpad for the typescript based reimplementation of jsf js
1
+ # 🚀 Scratchpad for the TypeScript-based reimplementation of jsf.js
2
2
 
3
3
  ## What is this?
4
4
 
5
- This project is a work in progress for a next gen typescript based
6
- reimplementation of jsf.js/faces.js
5
+ This project is a work in progress for a next-generation TypeScript-based
6
+ reimplementation of jsf.js/faces.js.
7
7
 
8
- The main goal is maintainability. It omits legacy browsers
9
- with Edge 14 and Ecmascript 2015 being the browser and ES baseline for the moment.
8
+ The main goal is maintainability. It omits legacy browsers,
9
+ with Edge 14 and ECMAScript 2015 as the browser and ES baseline for now.
10
10
 
11
- It uses functional constructs on micro scale
12
- to keep the maintainability and uses
13
- my own [mona-dish](https://github.com/werpu/mona-dish/) project as core framework base, to avoid
14
- unnecessary colliding dependencies.
11
+ It uses functional constructs on a small scale for maintainability and uses
12
+ my own [mona-dish](https://github.com/werpu/mona-dish/) project as its core framework base to avoid
13
+ unnecessary dependency collisions.
15
14
 
16
- But it still uses classes modules and inheritance
15
+ But it still uses classes, modules, and inheritance
17
16
  for code structuring.
18
- The reason for this is, I do not like the one function for all
19
- approach, especially given we have Typescript now as implementation language
20
- which allows a proper code structuring and modularization.
17
+ The reason for this is that I do not like the one-function-for-all
18
+ approach, especially since TypeScript is now the implementation language
19
+ and allows proper code structure and modularization.
21
20
 
22
21
  Webpack can take care of the packaging.
23
22
 
24
- Having smaller code parts, makes it easier to test certain
23
+ Having smaller code parts makes it easier to test certain
25
24
  aspects of the implementation.
26
25
 
27
- Also one additional aspect of the new implementation: it has a proper
28
- test coverage via Mocha based unit tests.
26
+ One additional aspect of the new implementation: it has proper
27
+ test coverage via Mocha-based unit tests.
29
28
 
30
29
  This was also severely lacking in my old implementation
31
- where I just ran a set of 20 integration tests on macro scale.
30
+ where I just ran a set of 20 integration tests on a macro scale.
32
31
 
33
32
  ## Status
34
33
 
35
34
  We now have a stable version!
36
- The current stable version (and first stable version is 4.0)
35
+ The current stable version, and first stable version, is 4.0.
37
36
  Why 4.0 and not 1.0?
38
- The reason for this is, it is faces 4.0 compliant (but also faces 2.3 compliant)
39
- and also used in MyFaces 4.0.
40
- In order to avoid version confusion the projects stable version always will be in
41
- sync with the Faces implementation level it provides now and in the future.
37
+ The reason is that it is Faces 4.0 compliant, but also Faces 2.3 compliant,
38
+ and is used in MyFaces 4.0.
39
+ To avoid version confusion, the project's stable version will always stay
40
+ in sync with the Faces implementation level it provides now and in the future.
42
41
 
43
- ### Special info
44
- Due to a small api change, if you want to embed the 4.0 version (faces.js)
42
+ ### Special Info
43
+ Due to a small API change, if you want to embed the 4.0 version (faces.js)
45
44
  in your code, a new attribute specified by the Faces 4.0 spec is not set
46
- at its proper value, *contextpath*. This attribute atm is a value expression
45
+ to its proper value: *contextpath*. This attribute is currently a value expression
47
46
  which needs to be set by the loading implementation.
48
47
 
49
- Now if you want to provide your own embedded solution and you will have
48
+ If you want to provide your own embedded solution, you will have
50
49
  to set this value yourself. While my code does not use the attribute in the faces
51
- namespace, other libraries or the users might.
50
+ namespace, other libraries or users might.
52
51
 
53
52
  If you serve the code from MyFaces 4 instead of embedding it, the value will be preset
54
53
  by the internal resource loader.
@@ -59,90 +58,91 @@ All other attributes behave the same in both versions as in the original legacy
59
58
 
60
59
 
61
60
 
62
- ### General build
61
+ ### General Build
63
62
 
64
- run
65
-
66
- * npm install
63
+ Run:
64
+ * npm install ;to install the build time dependencies
65
+ * npm run build
67
66
 
68
67
  #### On Windows
69
68
 
70
- if not done yet
69
+ If not done yet:
71
70
 
72
71
  * npm install --global --production windows-build-tools
73
72
 
74
- run
73
+
74
+ Run:
75
75
 
76
- * npm install
76
+ * npm run build
77
77
 
78
78
 
79
79
  ### Tests
80
80
 
81
- run
81
+ Run:
82
82
 
83
- * npm test
83
+ * npm run test
84
84
 
85
85
  ### Test Coverage
86
86
 
87
- * npm coverage
87
+ * npm run coverage
88
88
 
89
89
 
90
90
 
91
91
  ### Changelist compared to the original implementation
92
92
 
93
93
  * *no_portlet_env* is no more
94
- the configuration parameter 'no_portlet_env' has become obsolete with
95
- jsf 2.3 which introduced a proper namespaced viewstate handling
96
- so it is gone now
94
+ The configuration parameter `no_portlet_env` became obsolete with
95
+ JSF 2.3, which introduced proper namespaced view state handling,
96
+ so it is gone now.
97
97
 
98
98
  * pps disabled for the moment
99
99
 
100
- We had a special pps handling introduced in myfaces, a feature
100
+ We had special PPS handling introduced in MyFaces, a feature
101
101
  probably never used (you basically could reduce the parameters
102
- sent down by sending a list of pps ids). I have disabled it for the time being.
103
- The code still is in there for the moment, but will be dropped
102
+ sent down by sending a list of PPS IDs). I have disabled it for the time being.
103
+ The code is still there for now, but it will be dropped
104
104
  if no demand arises to enable it again.
105
105
 
106
106
  * legacy browsers
107
107
 
108
- In order to improve the maintainability I have dropped a lot
108
+ In order to improve maintainability, I have dropped a lot
109
109
  of shim and legacy code which was needed to support old browsers.
110
- Since our main aim is long term maintainability there is a clear cut.
110
+ Since our main aim is long-term maintainability, there is a clear cut.
111
111
  The lowest supported browser for the moment is Edge 14.
112
- Older browsers are now cut off. This should suffice for most, if
113
- not all important environments. If you still use an older browser than
114
- Edge 14 you still can revert to the old codebase for the time being
115
- (final cutoff point probably will come within the next few years)
112
+ Older browsers are now cut off. This should suffice for most, if
113
+ not all, important environments. If you still use a browser older than
114
+ Edge 14, you can still revert to the old codebase for the time being.
115
+ The final cutoff point will probably come within the next few years.
116
116
 
117
117
 
118
118
  * performance
119
119
 
120
- Given that we now have faster browsers and end user devices in the mobile
121
- area than 10 years ago and the spec conformity has improved a lot, my main focus was maintainability.
122
- Maintainability and readability now comes before performance. So I sacrificed some
123
- of the performance to achieve it.
124
- Given that the most critical performance hits do not happen in the ajax area
120
+ Given that we now have faster browsers and end-user devices in the mobile
121
+ area than 10 years ago, and spec conformity has improved a lot, my main focus was maintainability.
122
+ Maintainability and readability now come before performance, so I sacrificed some
123
+ performance to achieve it.
124
+ Given that the most critical performance hits do not happen in the AJAX area,
125
125
  this is a sacrifice I can live with, for the time being.
126
126
 
127
- * Client side i18n
127
+ * Client-side i18n
128
128
 
129
- The client side i18n error message translations have become more
129
+ The client-side i18n error message translations have become more
130
130
  of a liability than a feature.
131
- For the time being all client side errors are reported in english.
132
- I can reintroduce them, if there is real demand.
131
+ For the time being, all client-side errors are reported in English.
132
+ I can reintroduce them if there is real demand.
133
133
  But the size and maintainability tradeoff, compared to what they
134
- bring was not worth it to keep them anymore.
134
+ bring, was not worth keeping them anymore.
135
135
 
136
136
 
137
137
  * Mapping file support
138
138
 
139
139
  The original implementation had various builds to support easier debugging (split, combined, compressed)
140
140
 
141
- We now have only two builds prod and development.
142
- However I have introduced a mapping file support.
141
+ We now have only two builds: production and development.
142
+ However, I have introduced mapping file support.
143
143
  To enable this support you have to reference the FacesJSMappingDecorator unless the mapping file
144
144
  is reachable via the normal request (mapping files are bundled).
145
- This works for normal includes, but if you include the jsf.js in a resource library you have to use
145
+ This works for normal includes, but if you include jsf.js in a resource library, you have to use
146
146
  the decorator provided.
147
147
 
148
148
  Usage *faces-config.xml*
@@ -153,12 +153,12 @@ Usage *faces-config.xml*
153
153
  </application>
154
154
  ```
155
155
 
156
- This resource decorator detects automatically a faces*.js file coming from a resource library
157
- and adjusts the references in the resource accordingly to the request patterns
156
+ This resource decorator automatically detects a faces*.js file coming from a resource library
157
+ and adjusts the references in the resource according to the request patterns.
158
158
 
159
159
  ## Upload Support
160
160
 
161
- As non standard extension XMLHttpRequestUpload support is added
161
+ As a non-standard extension, XMLHttpRequestUpload support is added.
162
162
 
163
163
  ```json
164
164
  faces.ajax.request(document.getElementById("cmd_eval"), null,
@@ -172,11 +172,11 @@ faces.ajax.request(document.getElementById("cmd_eval"), null,
172
172
  },
173
173
  preinit: (upload: XMLHttpRequestUpload) => preinitTriggered = true,
174
174
  loadstart: (upload: XMLHttpRequestUpload, event: ProgressEvent) => loadstartTriggered = true,
175
- load: (upload: XMLHttpRequestUpload, event: ProgressEvent) => loadTriggered = true,
176
- loadend: (upload: XMLHttpRequestUpload, event: ProgressEvent) => loadendTriggered = true,
177
- error: (upload: XMLHttpRequestUpload, event: ProgressEvent) => errorTriggered = true,
178
- abort: (upload: XMLHttpRequestUpload, event: ProgressEvent) => abortTriggered = true,
179
- timeout: (upload: XMLHttpRequestUpload, event: ProgressEvent) => timeoutTriggered = true,
175
+ load: (upload: XMLHttpRequestUpload, event: ProgressEvent) => loadTriggered = true,
176
+ loadend: (upload: XMLHttpRequestUpload, event: ProgressEvent) => loadendTriggered = true,
177
+ error: (upload: XMLHttpRequestUpload, event: ProgressEvent) => errorTriggered = true,
178
+ abort: (upload: XMLHttpRequestUpload, event: ProgressEvent) => abortTriggered = true,
179
+ timeout: (upload: XMLHttpRequestUpload, event: ProgressEvent) => timeoutTriggered = true,
180
180
  }
181
181
  }
182
182
  });
@@ -184,12 +184,178 @@ faces.ajax.request(document.getElementById("cmd_eval"), null,
184
184
 
185
185
  ## Changes since 4.0
186
186
 
187
- * Elimination of Streams in favor of native arrays
188
- * Providing an internal non intrusive shim for browsers which do not have array map and flapMap
189
- (older Edge and Chromium versions) - done in mona-dish
190
- * Adding a progress monitoring functionality under the myfaces namespace
191
- * Bugfixes which improve tck compliance
192
- * Integration in myfaces 4.0+ as default faces.js implementation
193
-
187
+ * Core fixes
188
+ * Updated the codebase build to TypeScript 6.
189
+ * Fixed code for TypeScript 6's stronger type enforcement rules.
190
+ * Fixes cases like `404`/`500` with empty, HTML, invalid XML, or otherwise non-partial-response bodies being incorrectly reported as `malformedXML` or
191
+ `emptyResponse`.
192
+ * Malformed XML is now only reported as `malformedXML` for successful HTTP responses.
193
+ * XHR timeout now emits the timeout event and reports `httpError`.
194
+ * XHR abort now reports `httpError`.
195
+ * Fixed handling of browser-cancelled XHRs: cancellation-style responses (`status=0`, `readyState=4`, 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 `onerror`.
196
+ * Multipart requests no longer get an explicit URL-encoded `Content-Type`; the browser can set the proper multipart boundary.
197
+ * WebSocket Faces `onerror` now matches the spec: reconnectable abnormal closes call `onerror` before reconnecting.
198
+ * WebSocket reconnect scheduling now keeps the correct `this` binding.
199
+ * WebSocket reconnect now increments attempts before scheduling, clears the stale socket, and creates a fresh socket on reconnect.
200
+ * `PushImpl.reset()` now closes existing sockets before clearing socket/component registries.
201
+ * Pending WebSocket callbacks now return cleanly if the channel registry has already been torn down.
202
+ * Preserved stale WebSocket component pruning when moving Faces `onerror` handling from native `WebSocket.onerror` to reconnectable close handling.
203
+ * The JSF 2.3 compatibility shim now adapts the old `jsf.push.init` signature without mutating the shared Faces 4 `faces.push` object.
204
+ * Push typings now include both the Faces 4 signature with `onerror` and the legacy JSF-compatible signature without it.
205
+ * Renamed the reference to the shared API to `myfacesApi` for code clarity.
206
+ * Cleaned up `myfaces.ab` init code in `jsf.ts` to match the `faces.ts` init code.
207
+
208
+ * Core improvements
209
+ * Refactored upload callback registration in `XhrRequest` into `registerUploadCallbacks()`.
210
+ * Simplified timeout/header setup.
211
+ * Cleaned up and simplified `XhrFormData`.
212
+ * Clarified view state ordering so it is applied after field encoding and not double-counted.
213
+
214
+ * Tests added or expanded
215
+ * Added tests for `4xx` non-XML responses returning `httpError`.
216
+ * Added tests for `5xx` valid XML responses still returning `httpError`.
217
+ * Added tests for successful empty responses returning `emptyResponse`.
218
+ * Added tests for successful malformed XML returning `malformedXML`.
219
+ * Added tests for XHR timeout behavior.
220
+ * Added tests for XHR abort behavior.
221
+ * Added tests for browser-cancelled XHR handling using the observed `status=0` cancellation fingerprint.
222
+ * Added or expanded `XhrFormData` tests for normal encoding, multi-value fields, view state, view state de-duplication, partial IDs, multipart detection,
223
+ `FormData` output, and naming-container remapping.
224
+ * Expanded WebSocket tests for Faces 4 `onerror`.
225
+ * Expanded WebSocket tests for abnormal-close reconnect behavior.
226
+ * Expanded WebSocket tests for cumulative reconnect delays and stale socket cleanup across consecutive failed reconnect attempts.
227
+ * Expanded WebSocket tests for terminal expired-close behavior.
228
+ * Expanded WebSocket tests for stale component cleanup.
229
+ * Expanded WebSocket tests for idempotent init.
230
+ * Expanded WebSocket tests for behavior dispatch.
231
+ * Expanded WebSocket tests for shared socket fan-out.
232
+ * Renamed the websocket test file from `WebsocketTest.ts` to `WebsocketTest.spec.ts`; the old name prevented the tests from running.
233
+
234
+
235
+ ## Changes since 4.1.0-beta-10
236
+
237
+ * Core fixes
238
+
239
+ * Push/Websocket onOpen onClose callback lifecycle fixes according to spec behavior
240
+ * WebSocket `onopen` now fires only for the first connection attempt, not for automatic reconnects.
241
+ * Failed first WebSocket connection attempts are now treated as terminal: `onclose` is called, no reconnect is scheduled, and `onerror` is not called.
242
+ * WebSocket close code `1000` is now treated as terminal for any reason, not only `REASON_EXPIRED`.
243
+ * WebSocket close code `1008` (`Policy Violation`) is now treated as terminal and does not reconnect.
244
+ * WebSocket reconnect exhaustion now calls `onclose` and stops reconnecting after `MAX_RECONNECT_ATTEMPTS`.
245
+ * Terminal WebSocket closes now reset reconnect state so a later explicit `open()` starts as a fresh connection.
246
+
247
+ * Tests added or expanded
248
+ * Added tests to verify the `onopen`/`onclose` callback lifecycle.
249
+ * Added tests that `onopen` is not fired again after a successful automatic reconnect.
250
+ * Added tests that reconnect attempts reset after a successful reconnect.
251
+ * Added tests that max reconnect exhaustion calls `onclose`.
252
+ * Added tests that close code `1008` is terminal and does not reconnect.
253
+ * Added tests that explicit `open()` after a terminal close fires `onopen` again as a fresh connection.
254
+ * JSF 2.3 jsf.push.init compatibility test added
255
+
256
+ 4.1.0-beta.12
257
+
258
+ Bug Fixes
259
+
260
+ - WebSocket push spec alignment (PushImpl.ts): Full compliance with the Jakarta Faces push specification on 4+ and 2.3 level
261
+ - hasEverConnected flag is now set before firing onopen callbacks (prevents re-entrant terminal-close edge case)
262
+ - Code 1000 (normal closure) is now always treated as terminal regardless of reason, per spec
263
+ - reconnectAttempts and hasEverConnected are reset after a terminal close, allowing faces.push.open() to re-establish a connection and fire onopen again
264
+ - XhrQueueController debounce race condition: Each XhrQueueController instance now uses a unique debounce key — previously all instances shared one key, causing
265
+ enqueues on separate instances to cancel each other's debounce window
266
+ - Code cleanup: Removed dead exports from ResponseDataResolver.ts; minor cleanup in _api.ts and PushImpl.ts
267
+
268
+ Improvements
269
+
270
+ - PushImpl.ts readability: Lifecycle code refactored for clarity
271
+ - FileUtils.ts: Minor code improvements (stricter equality, cleaner split)
272
+
273
+ Tests
274
+
275
+ - Added tests for WebSocket re-open after terminal close
276
+ - Added XhrQueueController two-instance debounce isolation test
277
+ - Added direct unit tests for FileUtils (encodeFormData, decodeEncodedValues, fixEmptyParameters)
278
+ - Added tests for Assertions.ts — branch coverage up to ~88%
279
+ - Added tests for ResponseDataResolver.resolveContexts
280
+ - Added tests for ExtDomQuery (nonce DOM fallback, runHeadInserts text-node path) and ExtConfig (append, appendIf, deepCopy)
281
+ - Added tests for HiddenInputBuilder, Lang, and async queue
282
+
283
+
284
+ ## 4.1.0-beta.20
285
+
286
+ - Bugfix: focus bug in the new refocus code of `mona-dish`
287
+ - Fixed upstream in `mona-dish` `0.50.0-beta.6`; the bundles are rebuilt against that version.
288
+ - Dependency update
289
+ - Updated `mona-dish` to `0.50.0-beta.6`
290
+
291
+ ## 4.1.0-beta.19
292
+
293
+ - Bugfix: Chromium error on huge DOM replacements
294
+ - Partial responses replacing very large DOM trees (~150,000 nodes) failed on Chromium-based
295
+ browsers because unchunked large arrays were passed in a single `push(...array)` /
296
+ constructor-spread call, exceeding the engine's argument-count limit. `mona-dish` now
297
+ appends in chunks of 30,000 elements (`pushChunked` / `Es2019ArrayFrom`), and all
298
+ `DomQuery` node-list paths go through the chunk-safe code.
299
+ - Dependency update
300
+ - Updated `mona-dish` to `0.50.0-beta.5`
301
+
302
+ ## 4.1.0-beta.18
303
+
304
+ - Added missing ASL2 license headers
305
+
306
+ ## 4.1.0-beta.17
307
+
308
+ - Bugfix: caret position regression on partial updates
309
+ - After typing into an input that triggers an ajax request, the keyboard caret jumped to
310
+ the beginning of the field (e.g. typing `123` resulted in `321`). This regressed in
311
+ `mona-dish` `0.50.0-beta.3`'s caret restoration and is fixed there; the focused input now
312
+ keeps its caret whether a partial response re-renders a different component or the input
313
+ itself.
314
+ - Dependency update
315
+ - Updated `mona-dish` to `0.50.0-beta.3`
316
+ - Tests added
317
+ - Added two protocol-level regression tests (`ResponseTest`) reproducing the Tobago
318
+ `<tc:in>`/`<tc:out>` scenario: typing `123` keeps the caret in order for both the
319
+ "re-render only the output" and the "re-render the input itself" cases.
320
+
321
+ ## 4.1.0-beta.16
322
+
323
+ - Dependency update
324
+ - Updated `mona-dish` to `0.50.0-beta.2`
325
+
326
+ - Build / tooling improvements
327
+ - `dist/**`, `target/**`, `**/*.d.ts`, and `**/*.mjs` are now excluded from the `nyc` coverage report so only the implementation source is measured.
328
+ - Apache license header added to `dist/window/faces.d.ts` and `dist/window/jsf.d.ts` (prepended by the `build-dts` post-processing step).
329
+ - Apache license header added to `scripts/build-dts.mjs` and `webpack.config.ts`.
330
+
331
+ ## 4.1.0-beta.15
332
+
333
+ - Tests added or expanded
334
+ - Added tests for `ExtDomQuery.runHeadInserts(false)` — covers the `suppressDoubleIncludes=false` path in `resourceIsNew` that bypasses deduplication.
335
+ - Added test for checked checkbox as issuing element with `execute="@none"` — covers `XhrRequest.appendIssuingItem` adding the element keyed by its ID when it is absent from the encoded form data.
336
+ - Added test verifying `execute="@none"` deletes `P_EXECUTE` from the pass-through context via `AjaxImpl.remapDefaultConstants`.
337
+ - Added unit tests for `StateHolder.hasNameSpace` — covers the getter returning `false` (no namespace prefix) and `true` (namespace prefix present).
338
+ - Added test for `ExtLang.getMessage` with a key that exists in `Messages` — covers the left branch of the `??` fallback chain.
339
+
340
+ - Type system improvements
341
+ - `$faces()` in `Const.ts` now returns `typeof faces` instead of `any`, giving full type-safe access to the faces namespace throughout the implementation and catching typos at compile time.
342
+ - Stale hand-written method interface definitions (`IErrorData`, `IEventData`, `Ajax`, `Util`, `Push`, `FacesAPI`, `OAM`, `MyFacesAPI`) removed from `index.d.ts`; the `Window` augmentation now derives its types directly from `_api.ts` via `typeof faces` / `typeof myfaces`.
343
+ - `ErrorData` and `EventData` no longer implement the removed `IErrorData` / `IEventData` interfaces.
344
+
345
+ - Build improvements
346
+ - Self-contained `dist/window/faces.d.ts` and `dist/window/jsf.d.ts` declaration files are now generated deterministically via `@microsoft/api-extractor` as part of the build (`npm run build-dts`).
347
+ - `jsf.d.ts` is derived from `faces.d.ts` by automated text transforms: namespace renamed to `jsf`, `contextpath` removed, `onerror` parameter removed from `push.init` (JSF 2.3 compatibility).
348
+ - A dedicated `tsconfig.ae.json` isolates the api-extractor compiler program from source `.ts` files, preventing the `ae-wrong-input-file-type` error caused by the `index.d.ts` import chain.
349
+ - Generated `faces.d.ts` is a strict superset of the Jakarta Faces specification `faces.d.ts` — all spec members are present; widened unions and additional optional fields are implementation extensions.
350
+ - `specversion`, `implversion`, `separatorchar`, and `contextpath` are now declared as `const` (matching the Jakarta Faces 5.0 spec) instead of `var` in both `_api.ts` and the generated declaration files.
351
+ - Post-processing now restores the missing `export` keyword on `const` namespace members in the generated `faces.d.ts` and `jsf.d.ts` (api-extractor omits it for `const` declarations); without it, members like `faces.specversion` would not be TypeScript-accessible.
352
+
353
+ ## 4.1.0-beta.13 / 4.1.0-beta.14
194
354
 
355
+ - Added AI disclaimers to fulfill the ASF criteria for code being integrated into the Apache MyFaces codebase
356
+
357
+ Note as of Version 4.0 starting with the ts6 conversion, the code has been improved with the help of
358
+ generative AI Tooling, as per https://www.apache.org/legal/generative-tooling.html
359
+ disclosures now are added!
360
+ See AI_CONTRIBUTIONS.md for full disclosure
195
361
 
@@ -0,0 +1,38 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
+
4
+ "mainEntryPointFilePath": "<projectFolder>/target/dts/src/main/typescript/api/_api.d.ts",
5
+
6
+ "compiler": {
7
+ "tsconfigFilePath": "<projectFolder>/src/main/typescript/tsconfig.ae.json"
8
+ },
9
+
10
+ "apiReport": {
11
+ "enabled": false
12
+ },
13
+
14
+ "docModel": {
15
+ "enabled": false
16
+ },
17
+
18
+ "dtsRollup": {
19
+ "enabled": true,
20
+ "untrimmedFilePath": "",
21
+ "publicTrimmedFilePath": "<projectFolder>/dist/window/faces.d.ts"
22
+ },
23
+
24
+ "tsdocMetadata": {
25
+ "enabled": false
26
+ },
27
+
28
+ "messages": {
29
+ "extractorMessageReporting": {
30
+ "ae-missing-release-tag": { "logLevel": "none" },
31
+ "ae-internal-missing-underscore": { "logLevel": "none" },
32
+ "ae-forgotten-export": { "logLevel": "none" }
33
+ },
34
+ "tsdocMessageReporting": {
35
+ "default": { "logLevel": "none" }
36
+ }
37
+ }
38
+ }
@@ -1 +1 @@
1
- window.hierarchyData = "eJyrVirKzy8pVrKKjtVRKkpNy0lNLsnMzwMKVNfWAgCbHgqm"
1
+ window.hierarchyData = "eJyNjsEKgzAQRP9lz9GikiLeCu1XFA/BrJg2JrDZloLk35sI7cFTLnPYmdk3G5D3HGC4N90ogHC2OLHxLp02aLqsTq0IA1we6nNVrEDA0zgNQyvPAl5kk2ccI81qwnDatf6F64VXmxqTVSG9BA66yu3q38jmYqwmdHlFL1o5RgFNf0Df3ui4mL2nC+CJ1MojichTOSmnS0gxfgH5/Xio"
@@ -1 +1 @@
1
- window.navigationData = "eJyNlMtOwzAQRf/F6wokqFh0C2wBgQSLqoupM21c4ge2k7ZC/Du2aZsH9TS7JHPmaHw18fybedx5NmMr4OjYhBnwZXiVuqgrdNfp81XpZRVqn0IVbDadMF6KqrCo2Gx+EsAGdrn+WBsnKYpn9Wittq1qVSvuhVY9WQv2vXfTn8nA1qDyo2wRJGwWv2p0l1QHivQ4E5rwougP+2dadFymdmUu9FgbFTqvNDVN8iSGOJRQgkgmKSJCGLQJU9GGiJBx1F5UuThibVwcJQhikuRJDDkK1yo+JcnJ1YAVsGxn6kB92e1NN1tpqgatC0PkVR2IUDk0YMFrGw5g87IeRukM8ouTdSBCtUZ/X4nwB36Emt7m8x+AxEYF8sXqDXL/5mFNbPgApJXvArcB87TvRJFLIveZa/dQGLWvGuS58I+KUCZih+W5Yxx7YUn9sOpBy1eEYk8pWoq+EtE2+AQyXHqhjRIO2TMBL34BrWRbeQ=="
1
+ window.navigationData = "eJyNlk1z2yAQhv+Lzp5+pEk69a3jdKaXxJ10pj1kclhLG4tEAhWQE0+n/72AbQnJsHCU9uERgpeVHv4WGt90sSyeoERVLIoOdG0uW1H1Dar37va7WreNqb0wXhXLy0VR1qypJPJi+TAI4BneYuNtLUtyj396VHoluLsx6Ji5ls7lG6f09AEXV9f/FnPvutNMcJXpPdKUd82/SSnkCppmA+XLKNb7buqckTPphy+fP15dTMU75DpP7JMpMVTVcSqj86nnpXtV3zuCU+X15ZnNPj/LZkHCJg/rnlAdKdKjOjMIk6IDdmZ69Fxdr+pYrG0tK9ZrvmqEwu/AqwZleDOdbApmhMTuT47WB9PaW1QKtlnznaJp9bpDnuP1uJS0tEsW32sndAwRGcYZkTunsAhhEGbCCYNFyLD1mjWxsNlaVtjKGhgxE+dxDDmVr+aE3IAGoleeEKpBWmbWbYKeQKMJiKaNJiw67zGRGf3UoHsVDuEMSiVweHDSOUIp5w8pnrG08BbDQp9InpHDN9JZBtkOJIPNGDEPmvo++SrWds0OpTKZiqs8iFAp7ECCFtLkUcZlE4zSdVgmZ+ZBhGqLetUws1m/TU28xo/TDCQahCHDexpQxrd2rvzF8NUGivYNFHnm233kL/BYyGo/AtrQ4p8UpkwsO2xCr3EaCxuq//Ib0d4jVHtKMVL0/wPKHd5Ba/4QzDBKOGcDC/z4H/5457I="
@@ -1 +1 @@
1
- window.searchData = "eJylmE1z2jAQhv+LzkzCynxf2x56aTvtTHpgmI6DlcSpbbm2Ickw/PeuZINWSCYK3JC1+74r60Ef3rFKvtRssdyxv2mRsMVowIo4F2zBHuK1qNmAbaoMW7lMNpmob/XTm6cmz7BrncV1jUELxvYDVyF+jl97BFSXR2XAyrgSRXO0N7ITopsk34svVSWro/rDplg3qSwsfRMXYKVTzvltVXCAn4q7zq8S/zaifsesC7rWqS5RV7xn1UZd4GWsyk391AOD6roYhnUmz9SvpXVISPG6Rq9LWqT986FNVMR1HrIUxXkPFXGBh7HYNGnWMwmq6/JJeIrT/tq1tA4JKV7XaFwiblxk0YjXpowbQ9I2rtL43gyDxHxsNMQnzctsK6oah9DrQ2Iu9qkFRsWNrPDdVL1OVtTlXqVYvzcmEnMxCY+i+ZSlGPYbe+RLLxMncdf4/ajks1g3v5r4sX8hOIm7xu8uFS8o0pw1OwZ9zMkY5W/+Dbh7fnYLJvMu49wz3wcR7D1f36EK/75473kDB+n4/gplWXyW+U8RJ29nHEzQFU64t4lqK75hqy4x7IzfaWig62qAu0ciXtlixw7/wAXjN9HNHOMfUpEl6gDWFoRqMs/bk0Yi1xv9c9WF3SG9slLBbfTtkA2WwwGf3UA0Wq0Gy0Oy7tAPDhrmiU4EbIEvEZxEsBI5trgvkTuJ3EqMsBX5EiMnMbISR9ga+RJHTuLIShxja+xLHDuJYytxgq2JL3HiJE6sxCm2pr7EqZM4tRJn2Jr5EmdO4sxKRIKWc1/i3Emc2wAoHsDLDrjwwAk9Gh8/Px6AbIJAcQFehsCFCGyKQLEBXo7ABQlskkDxAV6WwIUJbJpAMQJensAFCmyiQHECXqbAhQpsqkCxAl6uwAULbLJA8QJetsCFC2y6QDEDXr7ABQxswrhihnsJ4y5h3CaMK2a4lzDuEsZP1ii9SPlXKc8yZRPGFTPcSxh3Cese6SUe1/ZGJF/bpR5XaLU77tifbu3HwXRbzo5hvYvdfm/WemyR5V71KRe8TspCtNdcIkR0PiDT3l6NTGRkojAZfZk3AmQ8YcPp7ghEgUoEarSXPaMxNRLTMAV6hyC1kNcKYe+1O54ZjaGRGAYp4DFxrc/AL91ZmdQzIfVMQtXK9oRbtydhokZeE4S9J1Tb4hG2bs+5RGpGpGZBUtZ1iigRBCGMwfYWbiRILWGlHA/VpIw5KWMepKLP1OQfSSaeh828xPnOq/Z8S4TofzsMwvabgZEggwkbS/tZxggQ7sKwO36sMhojozEK1NAn68IcwslLIZjwMEzMVy0jMzYq4yCRk8s5AYYMD8LGZ12+iRIpCsKqaj/gEAnCHgSwhztVmZYiSwtMWa72+/8C3iCp";
1
+ window.searchData = "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";
@@ -1,4 +1,4 @@
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>addOnError | 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"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../modules/faces.html">faces</a></li><li><a href="../modules/faces.ajax.html">ajax</a></li><li><a href="" aria-current="page">addOnError</a></li></ul><h1>Function addOnError</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="addonerror"><span class="tsd-kind-call-signature">addOnError</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">errorFunc</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">data</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ErrorData</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#addonerror" 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></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Adds an error handler to our global error queue.
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>addOnError | 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="../modules/faces.ajax.html">ajax</a></li><li><a href="" aria-current="page">addOnError</a></li></ul><h1>Function addOnError</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="addonerror"><span class="tsd-kind-call-signature">addOnError</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">errorFunc</span><span class="tsd-signature-symbol">:</span> <a href="../types/faces.ajax.OnErrorCallback.html" class="tsd-signature-type tsd-kind-type-alias">OnErrorCallback</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#addonerror" 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></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Adds an error handler to our global error queue.
2
2
  the error handler must be of the format <i>function errorListener(&lt;errorData&gt;)</i>
3
3
  with errorData being of following format:</p>
4
4
  <ul>
@@ -10,5 +10,5 @@ with errorData being of following format:</p>
10
10
  <li> eventData.responseCode: the response code (aka http request response code, 401 etc...) </li>
11
11
  <li> eventData.responseText: the request response text </li>
12
12
  <li> eventData.responseXML: the request response xml </li>
13
- </ul></div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">errorFunc</span>: <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">data</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ErrorData</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">void</span></span><div class="tsd-comment tsd-typography"><p>error handler must be of the format <i>function errorListener(&lt;errorData&gt;)</i></p>
13
+ </ul></div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">errorFunc</span>: <a href="../types/faces.ajax.OnErrorCallback.html" class="tsd-signature-type tsd-kind-type-alias">OnErrorCallback</a></span><div class="tsd-comment tsd-typography"><p>error handler must be of the format <i>function errorListener(&lt;errorData&gt;)</i></p>
14
14
  </div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></div></li></ul></section></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></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>