@adaas/are 0.0.2

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 (485) hide show
  1. package/.conf/tsconfig.base.json +110 -0
  2. package/.conf/tsconfig.browser.json +43 -0
  3. package/.conf/tsconfig.node.json +47 -0
  4. package/.nvmrc +1 -0
  5. package/LICENSE +22 -0
  6. package/README.md +2 -0
  7. package/dist/browser/index.d.mts +1134 -0
  8. package/dist/browser/index.mjs +2624 -0
  9. package/dist/browser/index.mjs.map +1 -0
  10. package/dist/node/chunk-EQQGB2QZ.mjs +15 -0
  11. package/dist/node/chunk-EQQGB2QZ.mjs.map +1 -0
  12. package/dist/node/engines/html/AreHTML.compiler.d.mts +114 -0
  13. package/dist/node/engines/html/AreHTML.compiler.d.ts +114 -0
  14. package/dist/node/engines/html/AreHTML.compiler.js +408 -0
  15. package/dist/node/engines/html/AreHTML.compiler.js.map +1 -0
  16. package/dist/node/engines/html/AreHTML.compiler.mjs +398 -0
  17. package/dist/node/engines/html/AreHTML.compiler.mjs.map +1 -0
  18. package/dist/node/engines/html/AreHTML.engine.d.mts +36 -0
  19. package/dist/node/engines/html/AreHTML.engine.d.ts +36 -0
  20. package/dist/node/engines/html/AreHTML.engine.js +122 -0
  21. package/dist/node/engines/html/AreHTML.engine.js.map +1 -0
  22. package/dist/node/engines/html/AreHTML.engine.mjs +112 -0
  23. package/dist/node/engines/html/AreHTML.engine.mjs.map +1 -0
  24. package/dist/node/engines/html/index.d.mts +26 -0
  25. package/dist/node/engines/html/index.d.ts +26 -0
  26. package/dist/node/engines/html/index.js +17 -0
  27. package/dist/node/engines/html/index.js.map +1 -0
  28. package/dist/node/engines/html/index.mjs +5 -0
  29. package/dist/node/engines/html/index.mjs.map +1 -0
  30. package/dist/node/engines/json/AreJSON.compiler.d.mts +21 -0
  31. package/dist/node/engines/json/AreJSON.compiler.d.ts +21 -0
  32. package/dist/node/engines/json/AreJSON.compiler.js +24 -0
  33. package/dist/node/engines/json/AreJSON.compiler.js.map +1 -0
  34. package/dist/node/engines/json/AreJSON.compiler.mjs +17 -0
  35. package/dist/node/engines/json/AreJSON.compiler.mjs.map +1 -0
  36. package/dist/node/index-BD-6iOuR.d.ts +238 -0
  37. package/dist/node/index-DMXWCL7R.d.mts +238 -0
  38. package/dist/node/index.d.mts +40 -0
  39. package/dist/node/index.d.ts +40 -0
  40. package/dist/node/index.js +105 -0
  41. package/dist/node/index.js.map +1 -0
  42. package/dist/node/index.mjs +16 -0
  43. package/dist/node/index.mjs.map +1 -0
  44. package/dist/node/lib/AreApp/AreApp.container.d.mts +22 -0
  45. package/dist/node/lib/AreApp/AreApp.container.d.ts +22 -0
  46. package/dist/node/lib/AreApp/AreApp.container.js +60 -0
  47. package/dist/node/lib/AreApp/AreApp.container.js.map +1 -0
  48. package/dist/node/lib/AreApp/AreApp.container.mjs +48 -0
  49. package/dist/node/lib/AreApp/AreApp.container.mjs.map +1 -0
  50. package/dist/node/lib/AreApp/AreApp.env.d.mts +2 -0
  51. package/dist/node/lib/AreApp/AreApp.env.d.ts +2 -0
  52. package/dist/node/lib/AreApp/AreApp.env.js +4 -0
  53. package/dist/node/lib/AreApp/AreApp.env.js.map +1 -0
  54. package/dist/node/lib/AreApp/AreApp.env.mjs +3 -0
  55. package/dist/node/lib/AreApp/AreApp.env.mjs.map +1 -0
  56. package/dist/node/lib/AreApp/AreApp.error.d.mts +6 -0
  57. package/dist/node/lib/AreApp/AreApp.error.d.ts +6 -0
  58. package/dist/node/lib/AreApp/AreApp.error.js +10 -0
  59. package/dist/node/lib/AreApp/AreApp.error.js.map +1 -0
  60. package/dist/node/lib/AreApp/AreApp.error.mjs +9 -0
  61. package/dist/node/lib/AreApp/AreApp.error.mjs.map +1 -0
  62. package/dist/node/lib/AreApp/AreApp.types.d.mts +2 -0
  63. package/dist/node/lib/AreApp/AreApp.types.d.ts +2 -0
  64. package/dist/node/lib/AreApp/AreApp.types.js +4 -0
  65. package/dist/node/lib/AreApp/AreApp.types.js.map +1 -0
  66. package/dist/node/lib/AreApp/AreApp.types.mjs +3 -0
  67. package/dist/node/lib/AreApp/AreApp.types.mjs.map +1 -0
  68. package/dist/node/lib/AreApp/index.d.mts +17 -0
  69. package/dist/node/lib/AreApp/index.d.ts +17 -0
  70. package/dist/node/lib/AreApp/index.js +24 -0
  71. package/dist/node/lib/AreApp/index.js.map +1 -0
  72. package/dist/node/lib/AreApp/index.mjs +6 -0
  73. package/dist/node/lib/AreApp/index.mjs.map +1 -0
  74. package/dist/node/lib/AreCompiler/AreCompiler.component.d.mts +238 -0
  75. package/dist/node/lib/AreCompiler/AreCompiler.component.d.ts +238 -0
  76. package/dist/node/lib/AreCompiler/AreCompiler.component.js +647 -0
  77. package/dist/node/lib/AreCompiler/AreCompiler.component.js.map +1 -0
  78. package/dist/node/lib/AreCompiler/AreCompiler.component.mjs +637 -0
  79. package/dist/node/lib/AreCompiler/AreCompiler.component.mjs.map +1 -0
  80. package/dist/node/lib/AreCompiler/AreCompiler.error.d.mts +8 -0
  81. package/dist/node/lib/AreCompiler/AreCompiler.error.d.ts +8 -0
  82. package/dist/node/lib/AreCompiler/AreCompiler.error.js +12 -0
  83. package/dist/node/lib/AreCompiler/AreCompiler.error.js.map +1 -0
  84. package/dist/node/lib/AreCompiler/AreCompiler.error.mjs +11 -0
  85. package/dist/node/lib/AreCompiler/AreCompiler.error.mjs.map +1 -0
  86. package/dist/node/lib/AreCompiler/AreCompiler.types.d.mts +2 -0
  87. package/dist/node/lib/AreCompiler/AreCompiler.types.d.ts +2 -0
  88. package/dist/node/lib/AreCompiler/AreCompiler.types.js +4 -0
  89. package/dist/node/lib/AreCompiler/AreCompiler.types.js.map +1 -0
  90. package/dist/node/lib/AreCompiler/AreCompiler.types.mjs +3 -0
  91. package/dist/node/lib/AreCompiler/AreCompiler.types.mjs.map +1 -0
  92. package/dist/node/lib/AreCompiler/index.d.mts +17 -0
  93. package/dist/node/lib/AreCompiler/index.d.ts +17 -0
  94. package/dist/node/lib/AreCompiler/index.js +24 -0
  95. package/dist/node/lib/AreCompiler/index.js.map +1 -0
  96. package/dist/node/lib/AreCompiler/index.mjs +6 -0
  97. package/dist/node/lib/AreCompiler/index.mjs.map +1 -0
  98. package/dist/node/lib/AreComponent/Are.component.d.mts +45 -0
  99. package/dist/node/lib/AreComponent/Are.component.d.ts +45 -0
  100. package/dist/node/lib/AreComponent/Are.component.js +165 -0
  101. package/dist/node/lib/AreComponent/Are.component.js.map +1 -0
  102. package/dist/node/lib/AreComponent/Are.component.mjs +156 -0
  103. package/dist/node/lib/AreComponent/Are.component.mjs.map +1 -0
  104. package/dist/node/lib/AreComponent/Are.constants.d.mts +32 -0
  105. package/dist/node/lib/AreComponent/Are.constants.d.ts +32 -0
  106. package/dist/node/lib/AreComponent/Are.constants.js +27 -0
  107. package/dist/node/lib/AreComponent/Are.constants.js.map +1 -0
  108. package/dist/node/lib/AreComponent/Are.constants.mjs +27 -0
  109. package/dist/node/lib/AreComponent/Are.constants.mjs.map +1 -0
  110. package/dist/node/lib/AreComponent/Are.context.d.mts +22 -0
  111. package/dist/node/lib/AreComponent/Are.context.d.ts +22 -0
  112. package/dist/node/lib/AreComponent/Are.context.js +45 -0
  113. package/dist/node/lib/AreComponent/Are.context.js.map +1 -0
  114. package/dist/node/lib/AreComponent/Are.context.mjs +38 -0
  115. package/dist/node/lib/AreComponent/Are.context.mjs.map +1 -0
  116. package/dist/node/lib/AreComponent/Are.types.d.mts +2 -0
  117. package/dist/node/lib/AreComponent/Are.types.d.ts +2 -0
  118. package/dist/node/lib/AreComponent/Are.types.js +4 -0
  119. package/dist/node/lib/AreComponent/Are.types.js.map +1 -0
  120. package/dist/node/lib/AreComponent/Are.types.mjs +3 -0
  121. package/dist/node/lib/AreComponent/Are.types.mjs.map +1 -0
  122. package/dist/node/lib/AreComponent/index.d.mts +11 -0
  123. package/dist/node/lib/AreComponent/index.d.ts +11 -0
  124. package/dist/node/lib/AreComponent/index.js +31 -0
  125. package/dist/node/lib/AreComponent/index.js.map +1 -0
  126. package/dist/node/lib/AreComponent/index.mjs +7 -0
  127. package/dist/node/lib/AreComponent/index.mjs.map +1 -0
  128. package/dist/node/lib/AreEvent/AreEvent.context.d.mts +8 -0
  129. package/dist/node/lib/AreEvent/AreEvent.context.d.ts +8 -0
  130. package/dist/node/lib/AreEvent/AreEvent.context.js +34 -0
  131. package/dist/node/lib/AreEvent/AreEvent.context.js.map +1 -0
  132. package/dist/node/lib/AreEvent/AreEvent.context.mjs +27 -0
  133. package/dist/node/lib/AreEvent/AreEvent.context.mjs.map +1 -0
  134. package/dist/node/lib/AreEvent/AreEvent.types.d.mts +16 -0
  135. package/dist/node/lib/AreEvent/AreEvent.types.d.ts +16 -0
  136. package/dist/node/lib/AreEvent/AreEvent.types.js +4 -0
  137. package/dist/node/lib/AreEvent/AreEvent.types.js.map +1 -0
  138. package/dist/node/lib/AreEvent/AreEvent.types.mjs +3 -0
  139. package/dist/node/lib/AreEvent/AreEvent.types.mjs.map +1 -0
  140. package/dist/node/lib/AreEvent/index.d.mts +8 -0
  141. package/dist/node/lib/AreEvent/index.d.ts +8 -0
  142. package/dist/node/lib/AreEvent/index.js +19 -0
  143. package/dist/node/lib/AreEvent/index.js.map +1 -0
  144. package/dist/node/lib/AreEvent/index.mjs +5 -0
  145. package/dist/node/lib/AreEvent/index.mjs.map +1 -0
  146. package/dist/node/lib/AreIndex/AreIndex.context.d.mts +8 -0
  147. package/dist/node/lib/AreIndex/AreIndex.context.d.ts +8 -0
  148. package/dist/node/lib/AreIndex/AreIndex.context.js +142 -0
  149. package/dist/node/lib/AreIndex/AreIndex.context.js.map +1 -0
  150. package/dist/node/lib/AreIndex/AreIndex.context.mjs +141 -0
  151. package/dist/node/lib/AreIndex/AreIndex.context.mjs.map +1 -0
  152. package/dist/node/lib/AreIndex/index.d.mts +8 -0
  153. package/dist/node/lib/AreIndex/index.d.ts +8 -0
  154. package/dist/node/lib/AreIndex/index.js +12 -0
  155. package/dist/node/lib/AreIndex/index.js.map +1 -0
  156. package/dist/node/lib/AreIndex/index.mjs +4 -0
  157. package/dist/node/lib/AreIndex/index.mjs.map +1 -0
  158. package/dist/node/lib/AreNode/AreNode.constants.d.mts +36 -0
  159. package/dist/node/lib/AreNode/AreNode.constants.d.ts +36 -0
  160. package/dist/node/lib/AreNode/AreNode.constants.js +17 -0
  161. package/dist/node/lib/AreNode/AreNode.constants.js.map +1 -0
  162. package/dist/node/lib/AreNode/AreNode.constants.mjs +17 -0
  163. package/dist/node/lib/AreNode/AreNode.constants.mjs.map +1 -0
  164. package/dist/node/lib/AreNode/AreNode.entity.d.mts +8 -0
  165. package/dist/node/lib/AreNode/AreNode.entity.d.ts +8 -0
  166. package/dist/node/lib/AreNode/AreNode.entity.js +164 -0
  167. package/dist/node/lib/AreNode/AreNode.entity.js.map +1 -0
  168. package/dist/node/lib/AreNode/AreNode.entity.mjs +157 -0
  169. package/dist/node/lib/AreNode/AreNode.entity.mjs.map +1 -0
  170. package/dist/node/lib/AreNode/AreNode.error.d.mts +2 -0
  171. package/dist/node/lib/AreNode/AreNode.error.d.ts +2 -0
  172. package/dist/node/lib/AreNode/AreNode.error.js +4 -0
  173. package/dist/node/lib/AreNode/AreNode.error.js.map +1 -0
  174. package/dist/node/lib/AreNode/AreNode.error.mjs +3 -0
  175. package/dist/node/lib/AreNode/AreNode.error.mjs.map +1 -0
  176. package/dist/node/lib/AreNode/AreNode.types.d.mts +13 -0
  177. package/dist/node/lib/AreNode/AreNode.types.d.ts +13 -0
  178. package/dist/node/lib/AreNode/AreNode.types.js +4 -0
  179. package/dist/node/lib/AreNode/AreNode.types.js.map +1 -0
  180. package/dist/node/lib/AreNode/AreNode.types.mjs +3 -0
  181. package/dist/node/lib/AreNode/AreNode.types.mjs.map +1 -0
  182. package/dist/node/lib/AreNode/index.d.mts +9 -0
  183. package/dist/node/lib/AreNode/index.d.ts +9 -0
  184. package/dist/node/lib/AreNode/index.js +26 -0
  185. package/dist/node/lib/AreNode/index.js.map +1 -0
  186. package/dist/node/lib/AreNode/index.mjs +6 -0
  187. package/dist/node/lib/AreNode/index.mjs.map +1 -0
  188. package/dist/node/lib/AreProps/AreProps.context.d.mts +9 -0
  189. package/dist/node/lib/AreProps/AreProps.context.d.ts +9 -0
  190. package/dist/node/lib/AreProps/AreProps.context.js +32 -0
  191. package/dist/node/lib/AreProps/AreProps.context.js.map +1 -0
  192. package/dist/node/lib/AreProps/AreProps.context.mjs +25 -0
  193. package/dist/node/lib/AreProps/AreProps.context.mjs.map +1 -0
  194. package/dist/node/lib/AreProps/index.d.mts +3 -0
  195. package/dist/node/lib/AreProps/index.d.ts +3 -0
  196. package/dist/node/lib/AreProps/index.js +12 -0
  197. package/dist/node/lib/AreProps/index.js.map +1 -0
  198. package/dist/node/lib/AreProps/index.mjs +4 -0
  199. package/dist/node/lib/AreProps/index.mjs.map +1 -0
  200. package/dist/node/lib/AreRoot/AreRoot.component.d.mts +18 -0
  201. package/dist/node/lib/AreRoot/AreRoot.component.d.ts +18 -0
  202. package/dist/node/lib/AreRoot/AreRoot.component.js +53 -0
  203. package/dist/node/lib/AreRoot/AreRoot.component.js.map +1 -0
  204. package/dist/node/lib/AreRoot/AreRoot.component.mjs +41 -0
  205. package/dist/node/lib/AreRoot/AreRoot.component.mjs.map +1 -0
  206. package/dist/node/lib/AreRoot/index.d.mts +11 -0
  207. package/dist/node/lib/AreRoot/index.d.ts +11 -0
  208. package/dist/node/lib/AreRoot/index.js +12 -0
  209. package/dist/node/lib/AreRoot/index.js.map +1 -0
  210. package/dist/node/lib/AreRoot/index.mjs +4 -0
  211. package/dist/node/lib/AreRoot/index.mjs.map +1 -0
  212. package/dist/node/lib/AreRouter/AreRouter.componeent.d.mts +17 -0
  213. package/dist/node/lib/AreRouter/AreRouter.componeent.d.ts +17 -0
  214. package/dist/node/lib/AreRouter/AreRouter.componeent.js +37 -0
  215. package/dist/node/lib/AreRouter/AreRouter.componeent.js.map +1 -0
  216. package/dist/node/lib/AreRouter/AreRouter.componeent.mjs +25 -0
  217. package/dist/node/lib/AreRouter/AreRouter.componeent.mjs.map +1 -0
  218. package/dist/node/lib/AreRouter/index.d.mts +12 -0
  219. package/dist/node/lib/AreRouter/index.d.ts +12 -0
  220. package/dist/node/lib/AreRouter/index.js +12 -0
  221. package/dist/node/lib/AreRouter/index.js.map +1 -0
  222. package/dist/node/lib/AreRouter/index.mjs +4 -0
  223. package/dist/node/lib/AreRouter/index.mjs.map +1 -0
  224. package/dist/node/lib/AreScene/AreScene.context.d.mts +8 -0
  225. package/dist/node/lib/AreScene/AreScene.context.d.ts +8 -0
  226. package/dist/node/lib/AreScene/AreScene.context.js +249 -0
  227. package/dist/node/lib/AreScene/AreScene.context.js.map +1 -0
  228. package/dist/node/lib/AreScene/AreScene.context.mjs +248 -0
  229. package/dist/node/lib/AreScene/AreScene.context.mjs.map +1 -0
  230. package/dist/node/lib/AreScene/AreScene.error.d.mts +14 -0
  231. package/dist/node/lib/AreScene/AreScene.error.d.ts +14 -0
  232. package/dist/node/lib/AreScene/AreScene.error.js +18 -0
  233. package/dist/node/lib/AreScene/AreScene.error.js.map +1 -0
  234. package/dist/node/lib/AreScene/AreScene.error.mjs +17 -0
  235. package/dist/node/lib/AreScene/AreScene.error.mjs.map +1 -0
  236. package/dist/node/lib/AreScene/AreScene.types.d.mts +9 -0
  237. package/dist/node/lib/AreScene/AreScene.types.d.ts +9 -0
  238. package/dist/node/lib/AreScene/AreScene.types.js +4 -0
  239. package/dist/node/lib/AreScene/AreScene.types.js.map +1 -0
  240. package/dist/node/lib/AreScene/AreScene.types.mjs +3 -0
  241. package/dist/node/lib/AreScene/AreScene.types.mjs.map +1 -0
  242. package/dist/node/lib/AreScene/index.d.mts +9 -0
  243. package/dist/node/lib/AreScene/index.d.ts +9 -0
  244. package/dist/node/lib/AreScene/index.js +24 -0
  245. package/dist/node/lib/AreScene/index.js.map +1 -0
  246. package/dist/node/lib/AreScene/index.mjs +6 -0
  247. package/dist/node/lib/AreScene/index.mjs.map +1 -0
  248. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.constants.d.mts +7 -0
  249. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.constants.d.ts +7 -0
  250. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.constants.js +12 -0
  251. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.constants.js.map +1 -0
  252. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.constants.mjs +12 -0
  253. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.constants.mjs.map +1 -0
  254. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.entity.d.mts +8 -0
  255. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.entity.d.ts +8 -0
  256. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.entity.js +95 -0
  257. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.entity.js.map +1 -0
  258. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.entity.mjs +94 -0
  259. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.entity.mjs.map +1 -0
  260. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.types.d.mts +8 -0
  261. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.types.d.ts +8 -0
  262. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.types.js +4 -0
  263. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.types.js.map +1 -0
  264. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.types.mjs +3 -0
  265. package/dist/node/lib/AreSceneInstruction/AreSceneInstruction.types.mjs.map +1 -0
  266. package/dist/node/lib/AreSceneInstruction/index.d.mts +19 -0
  267. package/dist/node/lib/AreSceneInstruction/index.d.ts +19 -0
  268. package/dist/node/lib/AreSceneInstruction/index.js +33 -0
  269. package/dist/node/lib/AreSceneInstruction/index.js.map +1 -0
  270. package/dist/node/lib/AreSceneInstruction/index.mjs +7 -0
  271. package/dist/node/lib/AreSceneInstruction/index.mjs.map +1 -0
  272. package/dist/node/lib/AreSceneInstruction/types/AddAttribute.instruction.d.mts +19 -0
  273. package/dist/node/lib/AreSceneInstruction/types/AddAttribute.instruction.d.ts +19 -0
  274. package/dist/node/lib/AreSceneInstruction/types/AddAttribute.instruction.js +27 -0
  275. package/dist/node/lib/AreSceneInstruction/types/AddAttribute.instruction.js.map +1 -0
  276. package/dist/node/lib/AreSceneInstruction/types/AddAttribute.instruction.mjs +26 -0
  277. package/dist/node/lib/AreSceneInstruction/types/AddAttribute.instruction.mjs.map +1 -0
  278. package/dist/node/lib/AreSceneInstruction/types/AddDirective.instruction.d.mts +20 -0
  279. package/dist/node/lib/AreSceneInstruction/types/AddDirective.instruction.d.ts +20 -0
  280. package/dist/node/lib/AreSceneInstruction/types/AddDirective.instruction.js +27 -0
  281. package/dist/node/lib/AreSceneInstruction/types/AddDirective.instruction.js.map +1 -0
  282. package/dist/node/lib/AreSceneInstruction/types/AddDirective.instruction.mjs +26 -0
  283. package/dist/node/lib/AreSceneInstruction/types/AddDirective.instruction.mjs.map +1 -0
  284. package/dist/node/lib/AreSceneInstruction/types/AddStyle.instruction.d.mts +17 -0
  285. package/dist/node/lib/AreSceneInstruction/types/AddStyle.instruction.d.ts +17 -0
  286. package/dist/node/lib/AreSceneInstruction/types/AddStyle.instruction.js +23 -0
  287. package/dist/node/lib/AreSceneInstruction/types/AddStyle.instruction.js.map +1 -0
  288. package/dist/node/lib/AreSceneInstruction/types/AddStyle.instruction.mjs +22 -0
  289. package/dist/node/lib/AreSceneInstruction/types/AddStyle.instruction.mjs.map +1 -0
  290. package/dist/node/lib/AreSceneInstruction/types/AddStyleProperty.instruction.d.mts +19 -0
  291. package/dist/node/lib/AreSceneInstruction/types/AddStyleProperty.instruction.d.ts +19 -0
  292. package/dist/node/lib/AreSceneInstruction/types/AddStyleProperty.instruction.js +27 -0
  293. package/dist/node/lib/AreSceneInstruction/types/AddStyleProperty.instruction.js.map +1 -0
  294. package/dist/node/lib/AreSceneInstruction/types/AddStyleProperty.instruction.mjs +26 -0
  295. package/dist/node/lib/AreSceneInstruction/types/AddStyleProperty.instruction.mjs.map +1 -0
  296. package/dist/node/lib/AreSceneInstruction/types/AttachListener.instruction.d.mts +23 -0
  297. package/dist/node/lib/AreSceneInstruction/types/AttachListener.instruction.d.ts +23 -0
  298. package/dist/node/lib/AreSceneInstruction/types/AttachListener.instruction.js +41 -0
  299. package/dist/node/lib/AreSceneInstruction/types/AttachListener.instruction.js.map +1 -0
  300. package/dist/node/lib/AreSceneInstruction/types/AttachListener.instruction.mjs +40 -0
  301. package/dist/node/lib/AreSceneInstruction/types/AttachListener.instruction.mjs.map +1 -0
  302. package/dist/node/lib/AreSceneInstruction/types/AttachRootNode.instruction.d.mts +15 -0
  303. package/dist/node/lib/AreSceneInstruction/types/AttachRootNode.instruction.d.ts +15 -0
  304. package/dist/node/lib/AreSceneInstruction/types/AttachRootNode.instruction.js +21 -0
  305. package/dist/node/lib/AreSceneInstruction/types/AttachRootNode.instruction.js.map +1 -0
  306. package/dist/node/lib/AreSceneInstruction/types/AttachRootNode.instruction.mjs +20 -0
  307. package/dist/node/lib/AreSceneInstruction/types/AttachRootNode.instruction.mjs.map +1 -0
  308. package/dist/node/lib/AreSceneInstruction/types/MountNode.instruction.d.mts +17 -0
  309. package/dist/node/lib/AreSceneInstruction/types/MountNode.instruction.d.ts +17 -0
  310. package/dist/node/lib/AreSceneInstruction/types/MountNode.instruction.js +23 -0
  311. package/dist/node/lib/AreSceneInstruction/types/MountNode.instruction.js.map +1 -0
  312. package/dist/node/lib/AreSceneInstruction/types/MountNode.instruction.mjs +22 -0
  313. package/dist/node/lib/AreSceneInstruction/types/MountNode.instruction.mjs.map +1 -0
  314. package/dist/node/lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.d.mts +23 -0
  315. package/dist/node/lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.d.ts +23 -0
  316. package/dist/node/lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.js +34 -0
  317. package/dist/node/lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.js.map +1 -0
  318. package/dist/node/lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.mjs +33 -0
  319. package/dist/node/lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.mjs.map +1 -0
  320. package/dist/node/lib/AreSceneInstruction/types/UnmountNode.instruction.d.mts +16 -0
  321. package/dist/node/lib/AreSceneInstruction/types/UnmountNode.instruction.d.ts +16 -0
  322. package/dist/node/lib/AreSceneInstruction/types/UnmountNode.instruction.js +20 -0
  323. package/dist/node/lib/AreSceneInstruction/types/UnmountNode.instruction.js.map +1 -0
  324. package/dist/node/lib/AreSceneInstruction/types/UnmountNode.instruction.mjs +19 -0
  325. package/dist/node/lib/AreSceneInstruction/types/UnmountNode.instruction.mjs.map +1 -0
  326. package/dist/node/lib/AreSceneInstruction/types/index.d.mts +18 -0
  327. package/dist/node/lib/AreSceneInstruction/types/index.d.ts +18 -0
  328. package/dist/node/lib/AreSceneInstruction/types/index.js +52 -0
  329. package/dist/node/lib/AreSceneInstruction/types/index.js.map +1 -0
  330. package/dist/node/lib/AreSceneInstruction/types/index.mjs +12 -0
  331. package/dist/node/lib/AreSceneInstruction/types/index.mjs.map +1 -0
  332. package/dist/node/lib/AreSlot/AreSlot.component.d.mts +8 -0
  333. package/dist/node/lib/AreSlot/AreSlot.component.d.ts +8 -0
  334. package/dist/node/lib/AreSlot/AreSlot.component.js +37 -0
  335. package/dist/node/lib/AreSlot/AreSlot.component.js.map +1 -0
  336. package/dist/node/lib/AreSlot/AreSlot.component.mjs +36 -0
  337. package/dist/node/lib/AreSlot/AreSlot.component.mjs.map +1 -0
  338. package/dist/node/lib/AreStore/AreStore.context.d.mts +10 -0
  339. package/dist/node/lib/AreStore/AreStore.context.d.ts +10 -0
  340. package/dist/node/lib/AreStore/AreStore.context.js +35 -0
  341. package/dist/node/lib/AreStore/AreStore.context.js.map +1 -0
  342. package/dist/node/lib/AreStore/AreStore.context.mjs +28 -0
  343. package/dist/node/lib/AreStore/AreStore.context.mjs.map +1 -0
  344. package/dist/node/lib/AreStore/index.d.mts +3 -0
  345. package/dist/node/lib/AreStore/index.d.ts +3 -0
  346. package/dist/node/lib/AreStore/index.js +12 -0
  347. package/dist/node/lib/AreStore/index.js.map +1 -0
  348. package/dist/node/lib/AreStore/index.mjs +4 -0
  349. package/dist/node/lib/AreStore/index.mjs.map +1 -0
  350. package/dist/node/lib/AreSyntax/AreSyntax.component.d.mts +89 -0
  351. package/dist/node/lib/AreSyntax/AreSyntax.component.d.ts +89 -0
  352. package/dist/node/lib/AreSyntax/AreSyntax.component.js +241 -0
  353. package/dist/node/lib/AreSyntax/AreSyntax.component.js.map +1 -0
  354. package/dist/node/lib/AreSyntax/AreSyntax.component.mjs +232 -0
  355. package/dist/node/lib/AreSyntax/AreSyntax.component.mjs.map +1 -0
  356. package/dist/node/lib/AreSyntax/AreSyntax.context.d.mts +80 -0
  357. package/dist/node/lib/AreSyntax/AreSyntax.context.d.ts +80 -0
  358. package/dist/node/lib/AreSyntax/AreSyntax.context.js +117 -0
  359. package/dist/node/lib/AreSyntax/AreSyntax.context.js.map +1 -0
  360. package/dist/node/lib/AreSyntax/AreSyntax.context.mjs +110 -0
  361. package/dist/node/lib/AreSyntax/AreSyntax.context.mjs.map +1 -0
  362. package/dist/node/lib/AreSyntax/AreSyntax.error.d.mts +9 -0
  363. package/dist/node/lib/AreSyntax/AreSyntax.error.d.ts +9 -0
  364. package/dist/node/lib/AreSyntax/AreSyntax.error.js +13 -0
  365. package/dist/node/lib/AreSyntax/AreSyntax.error.js.map +1 -0
  366. package/dist/node/lib/AreSyntax/AreSyntax.error.mjs +12 -0
  367. package/dist/node/lib/AreSyntax/AreSyntax.error.mjs.map +1 -0
  368. package/dist/node/lib/AreSyntax/AreSyntax.types.d.mts +132 -0
  369. package/dist/node/lib/AreSyntax/AreSyntax.types.d.ts +132 -0
  370. package/dist/node/lib/AreSyntax/AreSyntax.types.js +4 -0
  371. package/dist/node/lib/AreSyntax/AreSyntax.types.js.map +1 -0
  372. package/dist/node/lib/AreSyntax/AreSyntax.types.mjs +3 -0
  373. package/dist/node/lib/AreSyntax/AreSyntax.types.mjs.map +1 -0
  374. package/dist/node/lib/AreSyntax/index.d.mts +12 -0
  375. package/dist/node/lib/AreSyntax/index.d.ts +12 -0
  376. package/dist/node/lib/AreSyntax/index.js +29 -0
  377. package/dist/node/lib/AreSyntax/index.js.map +1 -0
  378. package/dist/node/lib/AreSyntax/index.mjs +7 -0
  379. package/dist/node/lib/AreSyntax/index.mjs.map +1 -0
  380. package/dist/node/signals/AreInit.signal.d.mts +7 -0
  381. package/dist/node/signals/AreInit.signal.d.ts +7 -0
  382. package/dist/node/signals/AreInit.signal.js +13 -0
  383. package/dist/node/signals/AreInit.signal.js.map +1 -0
  384. package/dist/node/signals/AreInit.signal.mjs +12 -0
  385. package/dist/node/signals/AreInit.signal.mjs.map +1 -0
  386. package/dist/node/signals/AreRoute.signal.d.mts +12 -0
  387. package/dist/node/signals/AreRoute.signal.d.ts +12 -0
  388. package/dist/node/signals/AreRoute.signal.js +24 -0
  389. package/dist/node/signals/AreRoute.signal.js.map +1 -0
  390. package/dist/node/signals/AreRoute.signal.mjs +23 -0
  391. package/dist/node/signals/AreRoute.signal.mjs.map +1 -0
  392. package/dist/node/signals/index.d.mts +4 -0
  393. package/dist/node/signals/index.d.ts +4 -0
  394. package/dist/node/signals/index.js +17 -0
  395. package/dist/node/signals/index.js.map +1 -0
  396. package/dist/node/signals/index.mjs +5 -0
  397. package/dist/node/signals/index.mjs.map +1 -0
  398. package/docs/a-logo-docs.png +0 -0
  399. package/examples/jumpstart/concept.ts +60 -0
  400. package/examples/jumpstart/containers/UI.container.ts +172 -0
  401. package/examples/jumpstart/dist/index.html +22 -0
  402. package/examples/jumpstart/dist/mls3rrlq-lofs95.js +129 -0
  403. package/examples/jumpstart/dist/static/css/main.css +40 -0
  404. package/examples/jumpstart/dist/static/img/test.png +0 -0
  405. package/examples/jumpstart/public/index.html +22 -0
  406. package/examples/jumpstart/public/static/css/main.css +40 -0
  407. package/examples/jumpstart/public/static/img/test.png +0 -0
  408. package/examples/jumpstart/src/components/A-Btn.component.ts +124 -0
  409. package/examples/jumpstart/src/components/A-Input.component.ts +78 -0
  410. package/examples/jumpstart/src/components/A-Navigation.component.ts +167 -0
  411. package/examples/jumpstart/src/components/SignInComponent.component.ts +127 -0
  412. package/examples/jumpstart/src/concept.ts +92 -0
  413. package/jest.config.ts +26 -0
  414. package/package.json +92 -0
  415. package/src/engines/html/AreHTML.compiler.ts +657 -0
  416. package/src/engines/html/AreHTML.engine.ts +62 -0
  417. package/src/engines/html/index.ts +2 -0
  418. package/src/engines/json/AreJSON.compiler.ts +13 -0
  419. package/src/index.ts +15 -0
  420. package/src/lib/AreApp/AreApp.container.ts +77 -0
  421. package/src/lib/AreApp/AreApp.env.ts +0 -0
  422. package/src/lib/AreApp/AreApp.error.ts +7 -0
  423. package/src/lib/AreApp/AreApp.types.ts +0 -0
  424. package/src/lib/AreApp/index.ts +4 -0
  425. package/src/lib/AreCompiler/AreCompiler.component.ts +1023 -0
  426. package/src/lib/AreCompiler/AreCompiler.error.ts +9 -0
  427. package/src/lib/AreCompiler/AreCompiler.types.ts +0 -0
  428. package/src/lib/AreCompiler/index.ts +3 -0
  429. package/src/lib/AreComponent/Are.component.ts +203 -0
  430. package/src/lib/AreComponent/Are.constants.ts +39 -0
  431. package/src/lib/AreComponent/Are.context.ts +43 -0
  432. package/src/lib/AreComponent/Are.types.ts +0 -0
  433. package/src/lib/AreComponent/index.ts +4 -0
  434. package/src/lib/AreEvent/AreEvent.context.ts +38 -0
  435. package/src/lib/AreEvent/AreEvent.types.ts +16 -0
  436. package/src/lib/AreEvent/index.ts +2 -0
  437. package/src/lib/AreIndex/AreIndex.context.ts +174 -0
  438. package/src/lib/AreIndex/index.ts +1 -0
  439. package/src/lib/AreNode/AreNode.constants.ts +37 -0
  440. package/src/lib/AreNode/AreNode.entity.ts +249 -0
  441. package/src/lib/AreNode/AreNode.error.ts +0 -0
  442. package/src/lib/AreNode/AreNode.types.ts +15 -0
  443. package/src/lib/AreNode/index.ts +4 -0
  444. package/src/lib/AreProps/AreProps.context.ts +26 -0
  445. package/src/lib/AreProps/index.ts +1 -0
  446. package/src/lib/AreRoot/AreRoot.component.ts +54 -0
  447. package/src/lib/AreRoot/index.ts +1 -0
  448. package/src/lib/AreRouter/AreRouter.componeent.ts +24 -0
  449. package/src/lib/AreRouter/index.ts +1 -0
  450. package/src/lib/AreScene/AreScene.context.ts +382 -0
  451. package/src/lib/AreScene/AreScene.error.ts +22 -0
  452. package/src/lib/AreScene/AreScene.types.ts +7 -0
  453. package/src/lib/AreScene/index.ts +3 -0
  454. package/src/lib/AreSceneInstruction/AreSceneInstruction.constants.ts +7 -0
  455. package/src/lib/AreSceneInstruction/AreSceneInstruction.entity.ts +156 -0
  456. package/src/lib/AreSceneInstruction/AreSceneInstruction.types.ts +8 -0
  457. package/src/lib/AreSceneInstruction/index.ts +4 -0
  458. package/src/lib/AreSceneInstruction/types/AddAttribute.instruction.ts +34 -0
  459. package/src/lib/AreSceneInstruction/types/AddDirective.instruction.ts +36 -0
  460. package/src/lib/AreSceneInstruction/types/AddStyle.instruction.ts +26 -0
  461. package/src/lib/AreSceneInstruction/types/AddStyleProperty.instruction.ts +32 -0
  462. package/src/lib/AreSceneInstruction/types/AttachListener.instruction.ts +57 -0
  463. package/src/lib/AreSceneInstruction/types/AttachRootNode.instruction.ts +23 -0
  464. package/src/lib/AreSceneInstruction/types/MountNode.instruction.ts +29 -0
  465. package/src/lib/AreSceneInstruction/types/ReplaceInterpolation.instruction.ts +45 -0
  466. package/src/lib/AreSceneInstruction/types/UnmountNode.instruction.ts +22 -0
  467. package/src/lib/AreSceneInstruction/types/index.ts +10 -0
  468. package/src/lib/AreSlot/AreSlot.component.ts +48 -0
  469. package/src/lib/AreStore/AreStore.context.ts +36 -0
  470. package/src/lib/AreStore/index.ts +1 -0
  471. package/src/lib/AreSyntax/AreSyntax.component.ts +378 -0
  472. package/src/lib/AreSyntax/AreSyntax.context.ts +114 -0
  473. package/src/lib/AreSyntax/AreSyntax.error.ts +11 -0
  474. package/src/lib/AreSyntax/AreSyntax.types.ts +156 -0
  475. package/src/lib/AreSyntax/index.ts +4 -0
  476. package/src/signals/AreInit.signal.ts +7 -0
  477. package/src/signals/AreRoute.signal.ts +25 -0
  478. package/src/signals/index.ts +2 -0
  479. package/tests/A-HttpChannel.test.ts +204 -0
  480. package/tests/A-HttpServerError.test.ts +204 -0
  481. package/tests/A-Request.test.ts +742 -0
  482. package/tests/A-Service.test.ts +18 -0
  483. package/tsconfig.json +68 -0
  484. package/tslint.json +98 -0
  485. package/tsup.config.ts +78 -0
@@ -0,0 +1,742 @@
1
+ // import { A_SERVER_TYPES__RequestConstructor, A_SERVER_TYPES__RequestOptions, A_Request } from '../src';
2
+ // import { IncomingMessage } from 'http';
3
+ // import { Socket } from 'net';
4
+
5
+ // describe('A_Request Entity', () => {
6
+ // let mockIncomingMessage: Partial<IncomingMessage>;
7
+ // let mockSocket: Partial<Socket>;
8
+ // let requestParams: A_SERVER_TYPES__RequestConstructor;
9
+
10
+ // beforeEach(() => {
11
+ // mockSocket = {
12
+ // remoteAddress: '192.168.1.100',
13
+ // destroyed: false
14
+ // };
15
+
16
+ // mockIncomingMessage = {
17
+ // method: 'POST',
18
+ // url: '/api/users/123?sort=name&limit=10',
19
+ // headers: {
20
+ // 'content-type': 'application/json',
21
+ // 'content-length': '100',
22
+ // 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
23
+ // 'cookie': 'sessionId=abc123; preferences=dark',
24
+ // 'x-forwarded-for': '203.0.113.45, 192.168.1.100'
25
+ // },
26
+ // socket: mockSocket as Socket,
27
+ // on: jest.fn(),
28
+ // pipe: jest.fn().mockReturnValue(mockIncomingMessage),
29
+ // read: jest.fn(),
30
+ // pause: jest.fn(),
31
+ // resume: jest.fn(),
32
+ // destroy: jest.fn()
33
+ // };
34
+
35
+ // requestParams = {
36
+ // id: 'test-request-123',
37
+ // request: mockIncomingMessage as IncomingMessage,
38
+ // scope: 'test-api'
39
+ // };
40
+ // });
41
+
42
+ // describe('Constructor and Initialization', () => {
43
+ // test('should create A_Request instance with basic parameters', () => {
44
+ // const request = new A_Request(requestParams);
45
+
46
+ // expect(request).toBeInstanceOf(A_Request);
47
+ // expect(request.aseid.id).toBe('test-request-123');
48
+ // });
49
+
50
+ // test('should create A_Request instance with options', () => {
51
+ // const options: A_SERVER_TYPES__RequestOptions = {
52
+ // maxBodySize: 5 * 1024 * 1024,
53
+ // timeout: 10000,
54
+ // parseCookies: false,
55
+ // enableSession: true
56
+ // };
57
+
58
+ // const request = new A_Request(requestParams, options);
59
+ // expect(request).toBeInstanceOf(A_Request);
60
+ // });
61
+
62
+ // test('should initialize request properly', async () => {
63
+ // const request = new A_Request(requestParams);
64
+
65
+ // await request.init();
66
+
67
+ // expect(request.method).toBe('POST');
68
+ // expect(request.url).toBe('/api/users/123?sort=name&limit=10');
69
+ // expect(request.clientIp).toBe('203.0.113.45');
70
+ // expect(request.userAgent).toBe('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36');
71
+ // expect(request.contentLength).toBe(100);
72
+ // });
73
+ // });
74
+
75
+ // describe('Basic Properties', () => {
76
+ // test('should return correct HTTP method', async () => {
77
+ // const request = new A_Request(requestParams);
78
+ // await request.init();
79
+
80
+ // expect(request.method).toBe('POST');
81
+ // });
82
+
83
+ // test('should return correct URL', async () => {
84
+ // const request = new A_Request(requestParams);
85
+ // await request.init();
86
+
87
+ // expect(request.url).toBe('/api/users/123?sort=name&limit=10');
88
+ // });
89
+
90
+ // test('should return correct headers', async () => {
91
+ // const request = new A_Request(requestParams);
92
+ // await request.init();
93
+
94
+ // expect(request.headers['content-type']).toBe('application/json');
95
+ // expect(request.headers['user-agent']).toBe('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36');
96
+ // });
97
+
98
+ // test('should extract client IP from x-forwarded-for header', async () => {
99
+ // const request = new A_Request(requestParams);
100
+ // await request.init();
101
+
102
+ // expect(request.clientIp).toBe('203.0.113.45');
103
+ // });
104
+
105
+ // test('should extract client IP from socket when no forwarded headers', async () => {
106
+ // mockIncomingMessage.headers = {
107
+ // 'content-type': 'application/json'
108
+ // };
109
+
110
+ // const request = new A_Request(requestParams);
111
+ // await request.init();
112
+
113
+ // expect(request.clientIp).toBe('192.168.1.100');
114
+ // });
115
+ // });
116
+
117
+ // describe('Cookie Parsing', () => {
118
+ // test('should parse cookies correctly', async () => {
119
+ // const request = new A_Request(requestParams);
120
+ // await request.init();
121
+
122
+ // expect(request.cookies.sessionId).toBe('abc123');
123
+ // expect(request.cookies.preferences).toBe('dark');
124
+ // });
125
+
126
+ // test('should return empty object when no cookies', async () => {
127
+ // mockIncomingMessage.headers = {
128
+ // 'content-type': 'application/json'
129
+ // };
130
+
131
+ // const request = new A_Request(requestParams);
132
+ // await request.init();
133
+
134
+ // expect(request.cookies).toEqual({});
135
+ // });
136
+
137
+ // test('should handle cookie methods', async () => {
138
+ // const request = new A_Request(requestParams);
139
+ // await request.init();
140
+
141
+ // expect(request.getCookie('sessionId')).toBe('abc123');
142
+ // expect(request.getCookie('nonexistent')).toBeUndefined();
143
+ // expect(request.hasCookie('sessionId')).toBe(true);
144
+ // expect(request.hasCookie('nonexistent')).toBe(false);
145
+ // });
146
+
147
+ // test('should set cookies for response', async () => {
148
+ // const request = new A_Request(requestParams);
149
+ // await request.init();
150
+
151
+ // request.setCookie('newCookie', 'newValue', { httpOnly: true });
152
+ // expect(request.getCookie('newCookie')).toBe('newValue');
153
+ // });
154
+ // });
155
+
156
+ // describe('Parameter and Query Extraction', () => {
157
+ // test('should extract URL parameters correctly', async () => {
158
+ // const request = new A_Request(requestParams);
159
+ // await request.init();
160
+
161
+ // // This would need a more sophisticated URL matching logic
162
+ // // For now, testing the basic extraction method
163
+ // const params = request.extractParams('/api/users/123');
164
+ // expect(typeof params).toBe('object');
165
+ // });
166
+
167
+ // test('should extract query parameters correctly', async () => {
168
+ // const request = new A_Request(requestParams);
169
+ // await request.init();
170
+
171
+ // const query = request.extractQuery('/api/users?sort=name&limit=10&filter=active');
172
+ // expect(query.sort).toBe('name');
173
+ // expect(query.limit).toBe('10');
174
+ // expect(query.filter).toBe('active');
175
+ // });
176
+
177
+ // test('should handle query parameters with no values', async () => {
178
+ // const request = new A_Request(requestParams);
179
+ // await request.init();
180
+
181
+ // const query = request.extractQuery('/api/users?flag&empty=');
182
+ // expect(query.flag).toBe('');
183
+ // expect(query.empty).toBe('');
184
+ // });
185
+
186
+ // test('should handle URLs with no query parameters', async () => {
187
+ // const request = new A_Request(requestParams);
188
+ // await request.init();
189
+
190
+ // const query = request.extractQuery('/api/users');
191
+ // expect(query).toEqual({});
192
+ // });
193
+
194
+ // test('should decode query parameters', async () => {
195
+ // const request = new A_Request(requestParams);
196
+ // await request.init();
197
+
198
+ // const query = request.extractQuery('/api/search?q=hello%20world&type=user%2Badmin');
199
+ // expect(query.q).toBe('hello world');
200
+ // expect(query.type).toBe('user+admin');
201
+ // });
202
+ // });
203
+
204
+ // describe('Body Parsing', () => {
205
+ // test('should parse JSON body correctly', async () => {
206
+ // const jsonData = { name: 'John Doe', email: 'john@example.com' };
207
+ // const jsonString = JSON.stringify(jsonData);
208
+
209
+ // // Mock the request data event
210
+ // const dataEvents: Buffer[] = [];
211
+ // const endEvents: (() => void)[] = [];
212
+
213
+ // mockIncomingMessage.on = jest.fn((event: string, callback: any) => {
214
+ // if (event === 'data') {
215
+ // dataEvents.push(callback);
216
+ // } else if (event === 'end') {
217
+ // endEvents.push(callback);
218
+ // }
219
+ // return mockIncomingMessage;
220
+ // });
221
+
222
+ // const request = new A_Request(requestParams);
223
+ // await request.init();
224
+
225
+ // // Simulate body parsing
226
+ // const parsePromise = request.parseRequestBody();
227
+
228
+ // // Emit data events
229
+ // dataEvents.forEach(callback => {
230
+ // callback(Buffer.from(jsonString));
231
+ // });
232
+
233
+ // // Emit end event
234
+ // endEvents.forEach(callback => {
235
+ // callback();
236
+ // });
237
+
238
+ // const result = await parsePromise;
239
+
240
+ // expect(result.type).toBe('json');
241
+ // expect(result.data).toEqual(jsonData);
242
+ // expect(result.size).toBe(Buffer.byteLength(jsonString));
243
+ // expect(request.isBodyParsed).toBe(true);
244
+ // });
245
+
246
+ // test('should parse form-urlencoded body correctly', async () => {
247
+ // mockIncomingMessage.headers = {
248
+ // 'content-type': 'application/x-www-form-urlencoded',
249
+ // 'content-length': '50'
250
+ // };
251
+
252
+ // const formData = 'name=John%20Doe&email=john%40example.com&age=30';
253
+
254
+ // const dataEvents: ((chunk: Buffer) => void)[] = [];
255
+ // const endEvents: (() => void)[] = [];
256
+
257
+ // mockIncomingMessage.on = jest.fn((event: string, callback: any) => {
258
+ // if (event === 'data') {
259
+ // dataEvents.push(callback);
260
+ // } else if (event === 'end') {
261
+ // endEvents.push(callback);
262
+ // }
263
+ // return mockIncomingMessage;
264
+ // });
265
+
266
+ // const request = new A_Request(requestParams);
267
+ // await request.init();
268
+
269
+ // const parsePromise = request.parseRequestBody();
270
+
271
+ // dataEvents.forEach(callback => {
272
+ // callback(Buffer.from(formData));
273
+ // });
274
+
275
+ // endEvents.forEach(callback => {
276
+ // callback();
277
+ // });
278
+
279
+ // const result = await parsePromise;
280
+
281
+ // expect(result.type).toBe('form');
282
+ // expect(result.data['name']).toBe('John Doe');
283
+ // expect(result.data['email']).toBe('john@example.com');
284
+ // expect(result.data['age']).toBe('30');
285
+ // });
286
+
287
+ // test('should handle body size limit', async () => {
288
+ // const options: A_SERVER_TYPES__RequestOptions = {
289
+ // maxBodySize: 10 // Very small limit
290
+ // };
291
+
292
+ // mockIncomingMessage.headers = {
293
+ // 'content-type': 'application/json',
294
+ // 'content-length': '100'
295
+ // };
296
+
297
+ // const dataEvents: ((chunk: Buffer) => void)[] = [];
298
+ // const errorEvents: ((error: Error) => void)[] = [];
299
+
300
+ // mockIncomingMessage.on = jest.fn((event: string, callback: any) => {
301
+ // if (event === 'data') {
302
+ // dataEvents.push(callback);
303
+ // } else if (event === 'error') {
304
+ // errorEvents.push(callback);
305
+ // }
306
+ // return mockIncomingMessage;
307
+ // });
308
+
309
+ // const request = new A_Request(requestParams, options);
310
+ // await request.init();
311
+
312
+ // const parsePromise = request.parseRequestBody();
313
+
314
+ // // Emit large data chunk
315
+ // dataEvents.forEach(callback => {
316
+ // callback(Buffer.from('a'.repeat(100)));
317
+ // });
318
+
319
+ // await expect(parsePromise).rejects.toThrow();
320
+ // });
321
+
322
+ // test('should handle body parsing errors', async () => {
323
+ // mockIncomingMessage.headers = {
324
+ // 'content-type': 'application/json'
325
+ // };
326
+
327
+ // const invalidJson = '{ invalid json }';
328
+
329
+ // const dataEvents: ((chunk: Buffer) => void)[] = [];
330
+ // const endEvents: (() => void)[] = [];
331
+
332
+ // mockIncomingMessage.on = jest.fn((event: string, callback: any) => {
333
+ // if (event === 'data') {
334
+ // dataEvents.push(callback);
335
+ // } else if (event === 'end') {
336
+ // endEvents.push(callback);
337
+ // }
338
+ // return mockIncomingMessage;
339
+ // });
340
+
341
+ // const request = new A_Request(requestParams);
342
+ // await request.init();
343
+
344
+ // const parsePromise = request.parseRequestBody();
345
+
346
+ // dataEvents.forEach(callback => {
347
+ // callback(Buffer.from(invalidJson));
348
+ // });
349
+
350
+ // endEvents.forEach(callback => {
351
+ // callback();
352
+ // });
353
+
354
+ // await expect(parsePromise).rejects.toThrow();
355
+ // expect(request.bodyParsingError).toBeDefined();
356
+ // });
357
+ // });
358
+
359
+ // describe('Session Management', () => {
360
+ // test('should initialize session when enabled', async () => {
361
+ // const options: A_SERVER_TYPES__RequestOptions = {
362
+ // enableSession: true
363
+ // };
364
+
365
+ // const request = new A_Request(requestParams, options);
366
+ // await request.init();
367
+
368
+ // expect(request.session).toBeDefined();
369
+ // expect(request.session.id).toBeDefined();
370
+ // expect(request.session.createdAt).toBeInstanceOf(Date);
371
+ // expect(request.session.lastAccess).toBeInstanceOf(Date);
372
+ // });
373
+
374
+ // test('should handle session data operations', async () => {
375
+ // const options: A_SERVER_TYPES__RequestOptions = {
376
+ // enableSession: true
377
+ // };
378
+
379
+ // const request = new A_Request(requestParams, options);
380
+ // await request.init();
381
+
382
+ // // Set session data
383
+ // request.setSession('userId', '12345');
384
+ // request.setSession('role', 'admin');
385
+
386
+ // // Get session data
387
+ // expect(request.getSession('userId')).toBe('12345');
388
+ // expect(request.getSession('role')).toBe('admin');
389
+ // expect(request.getSession('nonexistent')).toBeUndefined();
390
+
391
+ // // Get full session
392
+ // const fullSession = request.getSession();
393
+ // expect(fullSession.data.userId).toBe('12345');
394
+ // expect(fullSession.data.role).toBe('admin');
395
+ // });
396
+
397
+ // test('should destroy session', async () => {
398
+ // const options: A_SERVER_TYPES__RequestOptions = {
399
+ // enableSession: true
400
+ // };
401
+
402
+ // const request = new A_Request(requestParams, options);
403
+ // await request.init();
404
+
405
+ // request.setSession('userId', '12345');
406
+ // expect(request.getSession('userId')).toBe('12345');
407
+
408
+ // request.destroySession();
409
+ // expect(request.session).toEqual({});
410
+ // });
411
+ // });
412
+
413
+ // describe('Request Validation', () => {
414
+ // test('should validate request successfully', async () => {
415
+ // const request = new A_Request(requestParams);
416
+ // request.body = {
417
+ // name: 'John Doe',
418
+ // email: 'john@example.com',
419
+ // age: 30
420
+ // };
421
+ // await request.init();
422
+
423
+ // const schema = {
424
+ // required: ['name', 'email'],
425
+ // fields: {
426
+ // name: { type: 'string', minLength: 2 },
427
+ // email: { type: 'string', minLength: 5 },
428
+ // age: { type: 'number' }
429
+ // }
430
+ // };
431
+
432
+ // const validation = await request.validate(schema);
433
+
434
+ // expect(validation.isValid).toBe(true);
435
+ // expect(validation.errors).toHaveLength(0);
436
+ // expect(request.isValid).toBe(true);
437
+ // });
438
+
439
+ // test('should detect validation errors', async () => {
440
+ // const request = new A_Request(requestParams);
441
+ // request.body = {
442
+ // name: 'J', // Too short
443
+ // email: 'invalid', // No @ symbol
444
+ // age: 'thirty' // Wrong type
445
+ // };
446
+ // await request.init();
447
+
448
+ // const schema = {
449
+ // required: ['name', 'email'],
450
+ // fields: {
451
+ // name: { type: 'string', minLength: 2 },
452
+ // email: { type: 'string', minLength: 10 },
453
+ // age: { type: 'number' }
454
+ // }
455
+ // };
456
+
457
+ // const validation = await request.validate(schema);
458
+
459
+ // expect(validation.isValid).toBe(false);
460
+ // expect(validation.errors.length).toBeGreaterThan(0);
461
+ // expect(request.isValid).toBe(false);
462
+ // expect(request.validationErrors.length).toBeGreaterThan(0);
463
+ // });
464
+
465
+ // test('should detect missing required fields', async () => {
466
+ // const request = new A_Request(requestParams);
467
+ // request.body = {
468
+ // name: 'John Doe'
469
+ // // Missing email
470
+ // };
471
+ // await request.init();
472
+
473
+ // const schema = {
474
+ // required: ['name', 'email'],
475
+ // fields: {
476
+ // name: { type: 'string' },
477
+ // email: { type: 'string' }
478
+ // }
479
+ // };
480
+
481
+ // const validation = await request.validate(schema);
482
+
483
+ // expect(validation.isValid).toBe(false);
484
+ // expect(validation.errors).toContain("Field 'email' is required");
485
+ // });
486
+ // });
487
+
488
+ // describe('File Upload Processing', () => {
489
+ // test('should parse multipart data with files', async () => {
490
+ // mockIncomingMessage.headers = {
491
+ // 'content-type': 'multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW'
492
+ // };
493
+
494
+ // const multipartData = [
495
+ // '------WebKitFormBoundary7MA4YWxkTrZu0gW',
496
+ // 'Content-Disposition: form-data; name="name"',
497
+ // '',
498
+ // 'John Doe',
499
+ // '------WebKitFormBoundary7MA4YWxkTrZu0gW',
500
+ // 'Content-Disposition: form-data; name="file"; filename="test.txt"',
501
+ // 'Content-Type: text/plain',
502
+ // '',
503
+ // 'Hello World',
504
+ // '------WebKitFormBoundary7MA4YWxkTrZu0gW--'
505
+ // ].join('\r\n');
506
+
507
+ // const dataEvents: ((chunk: Buffer) => void)[] = [];
508
+ // const endEvents: (() => void)[] = [];
509
+
510
+ // mockIncomingMessage.on = jest.fn((event: string, callback: any) => {
511
+ // if (event === 'data') {
512
+ // dataEvents.push(callback);
513
+ // } else if (event === 'end') {
514
+ // endEvents.push(callback);
515
+ // }
516
+ // return mockIncomingMessage;
517
+ // });
518
+
519
+ // const request = new A_Request(requestParams);
520
+ // await request.init();
521
+
522
+ // const parsePromise = request.parseRequestBody();
523
+
524
+ // dataEvents.forEach(callback => {
525
+ // callback(Buffer.from(multipartData));
526
+ // });
527
+
528
+ // endEvents.forEach(callback => {
529
+ // callback();
530
+ // });
531
+
532
+ // const result = await parsePromise;
533
+
534
+ // expect(result.type).toBe('multipart');
535
+ // expect(request.files).toHaveLength(1);
536
+
537
+ // const uploadedFile = request.files[0];
538
+ // expect(uploadedFile.fieldName).toBe('file');
539
+ // expect(uploadedFile.filename).toBe('test.txt');
540
+ // expect(uploadedFile.mimetype).toBe('text/plain');
541
+ // expect(uploadedFile.buffer.toString()).toBe('Hello World');
542
+ // });
543
+ // });
544
+
545
+ // describe('Performance and Metrics', () => {
546
+ // test('should track processing time', async () => {
547
+ // const request = new A_Request(requestParams);
548
+
549
+ // const startTime = Date.now();
550
+ // await request.init();
551
+
552
+ // // Simulate some processing time
553
+ // await new Promise(resolve => setTimeout(resolve, 10));
554
+
555
+ // const processingTime = request.processingTime;
556
+ // expect(processingTime).toBeGreaterThan(0);
557
+ // expect(processingTime).toBeLessThan(1000); // Should be less than 1 second
558
+ // });
559
+
560
+ // test('should provide request metadata', async () => {
561
+ // const request = new A_Request(requestParams);
562
+ // await request.init();
563
+
564
+ // expect(request.isSecure).toBeDefined();
565
+ // expect(request.isMobile).toBeDefined();
566
+ // expect(request.size).toBe(100); // Content-Length
567
+ // expect(request.userAgent).toBeDefined();
568
+ // expect(request.clientIp).toBeDefined();
569
+ // });
570
+
571
+ // test('should generate request fingerprint', async () => {
572
+ // const request = new A_Request(requestParams);
573
+ // await request.init();
574
+
575
+ // const fingerprint = request.getFingerprint();
576
+ // expect(typeof fingerprint).toBe('string');
577
+ // expect(fingerprint.length).toBeGreaterThan(0);
578
+ // });
579
+ // });
580
+
581
+ // describe('Content Type Handling', () => {
582
+ // test('should check content type acceptance', async () => {
583
+ // mockIncomingMessage.headers = {
584
+ // 'accept': 'application/json, text/html, */*'
585
+ // };
586
+
587
+ // const request = new A_Request(requestParams);
588
+ // await request.init();
589
+
590
+ // expect(request.accepts('application/json')).toBe(true);
591
+ // expect(request.accepts('text/html')).toBe(true);
592
+ // expect(request.accepts('application/xml')).toBe(true); // */* accepts all
593
+ // });
594
+
595
+ // test('should detect mobile devices', async () => {
596
+ // mockIncomingMessage.headers = {
597
+ // 'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15'
598
+ // };
599
+
600
+ // const request = new A_Request(requestParams);
601
+ // await request.init();
602
+
603
+ // expect(request.isMobile).toBe(true);
604
+ // });
605
+
606
+ // test('should detect secure connections', async () => {
607
+ // (mockSocket as any).encrypted = true;
608
+
609
+ // const request = new A_Request(requestParams);
610
+ // await request.init();
611
+
612
+ // expect(request.isSecure).toBe(true);
613
+ // });
614
+ // });
615
+
616
+ // describe('Error Handling', () => {
617
+ // test('should handle request errors', async () => {
618
+ // const errorEvents: ((error: Error) => void)[] = [];
619
+
620
+ // mockIncomingMessage.on = jest.fn((event: string, callback: any) => {
621
+ // if (event === 'error') {
622
+ // errorEvents.push(callback);
623
+ // }
624
+ // return mockIncomingMessage;
625
+ // });
626
+
627
+ // const request = new A_Request(requestParams);
628
+ // await request.init();
629
+
630
+ // const testError = new Error('Test error');
631
+
632
+ // // Simulate error
633
+ // errorEvents.forEach(callback => {
634
+ // callback(testError);
635
+ // });
636
+
637
+ // expect(request.error).toBeDefined();
638
+ // expect(request.error?.message).toBe('Test error');
639
+ // });
640
+ // });
641
+
642
+ // describe('Stream Operations', () => {
643
+ // test('should pipe request to destination', async () => {
644
+ // const mockDestination = {
645
+ // write: jest.fn(),
646
+ // end: jest.fn()
647
+ // };
648
+
649
+ // mockIncomingMessage.pipe = jest.fn().mockReturnValue(mockDestination);
650
+
651
+ // const request = new A_Request(requestParams);
652
+ // await request.init();
653
+
654
+ // const result = request.pipe(mockDestination as any);
655
+
656
+ // expect(mockIncomingMessage.pipe).toHaveBeenCalledWith(mockDestination, undefined);
657
+ // expect(result).toBe(mockDestination);
658
+ // });
659
+
660
+ // test('should pipe request with options', async () => {
661
+ // const mockDestination = {
662
+ // write: jest.fn(),
663
+ // end: jest.fn()
664
+ // };
665
+
666
+ // const pipeOptions = { end: false };
667
+ // mockIncomingMessage.pipe = jest.fn().mockReturnValue(mockDestination);
668
+
669
+ // const request = new A_Request(requestParams);
670
+ // await request.init();
671
+
672
+ // request.pipe(mockDestination as any, pipeOptions);
673
+
674
+ // expect(mockIncomingMessage.pipe).toHaveBeenCalledWith(mockDestination, pipeOptions);
675
+ // });
676
+ // });
677
+
678
+ // describe('Serialization', () => {
679
+ // test('should serialize to JSON correctly', async () => {
680
+ // const request = new A_Request(requestParams);
681
+ // await request.init();
682
+
683
+ // const json = request.toJSON();
684
+
685
+ // expect(json).toHaveProperty('method');
686
+ // expect(json).toHaveProperty('url');
687
+ // expect(json).toHaveProperty('headers');
688
+ // expect(json).toHaveProperty('params');
689
+ // expect(json).toHaveProperty('query');
690
+ // expect(json).toHaveProperty('cookies');
691
+ // expect(json).toHaveProperty('clientIp');
692
+ // expect(json).toHaveProperty('userAgent');
693
+ // expect(json).toHaveProperty('processingTime');
694
+ // expect(json).toHaveProperty('isValid');
695
+ // expect(json).toHaveProperty('validationErrors');
696
+
697
+ // expect(json.method).toBe('POST');
698
+ // expect(json.url).toBe('/api/users/123?sort=name&limit=10');
699
+ // });
700
+ // });
701
+
702
+ // describe('Configuration Options', () => {
703
+ // test('should respect parseCookies option', async () => {
704
+ // const options: A_SERVER_TYPES__RequestOptions = {
705
+ // parseCookies: false
706
+ // };
707
+
708
+ // const request = new A_Request(requestParams, options);
709
+ // await request.init();
710
+
711
+ // expect(Object.keys(request.cookies)).toHaveLength(0);
712
+ // });
713
+
714
+ // test('should respect parseQuery option', async () => {
715
+ // const options: A_SERVER_TYPES__RequestOptions = {
716
+ // parseQuery: false
717
+ // };
718
+
719
+ // const request = new A_Request(requestParams, options);
720
+ // await request.init();
721
+
722
+ // expect(Object.keys(request.query)).toHaveLength(0);
723
+ // expect(Object.keys(request.params)).toHaveLength(0);
724
+ // });
725
+
726
+ // test('should respect parseBody option', async () => {
727
+ // const options: A_SERVER_TYPES__RequestOptions = {
728
+ // parseBody: false
729
+ // };
730
+
731
+ // mockIncomingMessage.headers = {
732
+ // 'content-type': 'application/json',
733
+ // 'content-length': '50'
734
+ // };
735
+
736
+ // const request = new A_Request(requestParams, options);
737
+ // await request.init();
738
+
739
+ // expect(request.isBodyParsed).toBe(false);
740
+ // });
741
+ // });
742
+ // });