@adaas/a-frame 0.0.21 → 0.0.23

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 (359) hide show
  1. package/.conf/tsconfig.browser.json +13 -0
  2. package/.conf/tsconfig.node.json +14 -0
  3. package/.env.example +12 -0
  4. package/dist/browser/A-FrameBrowserStorageBlobs.context-OEQr85oq.d.mts +40 -0
  5. package/dist/browser/A-FrameBundle.types-DaaUvViw.d.mts +33 -0
  6. package/dist/browser/A-FrameChannel.types-DWOEUs28.d.mts +142 -0
  7. package/dist/browser/A-FrameDefinition.entity-DWGN_Ujr.d.mts +329 -0
  8. package/dist/browser/A-FrameDynamicStructure.entity-DaBgSRCR.d.mts +188 -0
  9. package/dist/browser/A-FrameLogger.component.env-browser-BIPAP4oQ.d.mts +112 -0
  10. package/dist/browser/A-FrameNamespace.entity-rCm1AavP.d.mts +125 -0
  11. package/dist/browser/bundle.d.mts +8 -0
  12. package/dist/browser/bundle.mjs +2 -0
  13. package/dist/browser/bundle.mjs.map +1 -0
  14. package/dist/browser/channel.d.mts +165 -0
  15. package/dist/browser/channel.mjs +3 -0
  16. package/dist/browser/channel.mjs.map +1 -0
  17. package/dist/browser/chunk-5TTVFB3G.mjs +2 -0
  18. package/dist/browser/chunk-5TTVFB3G.mjs.map +1 -0
  19. package/dist/browser/chunk-AYN7KUQT.mjs +3 -0
  20. package/dist/browser/chunk-AYN7KUQT.mjs.map +1 -0
  21. package/dist/browser/chunk-DMGQW3AO.mjs +2 -0
  22. package/dist/browser/chunk-DMGQW3AO.mjs.map +1 -0
  23. package/dist/browser/chunk-G66IL2DR.mjs +2 -0
  24. package/dist/browser/chunk-G66IL2DR.mjs.map +1 -0
  25. package/dist/browser/chunk-H6OZP4ZV.mjs +2 -0
  26. package/dist/browser/chunk-H6OZP4ZV.mjs.map +1 -0
  27. package/dist/browser/chunk-INS7RO3B.mjs +2 -0
  28. package/dist/browser/chunk-INS7RO3B.mjs.map +1 -0
  29. package/dist/browser/chunk-K4MZY4ME.mjs +2 -0
  30. package/dist/browser/chunk-K4MZY4ME.mjs.map +1 -0
  31. package/dist/browser/chunk-OFKV5GNB.mjs +3 -0
  32. package/dist/browser/chunk-OFKV5GNB.mjs.map +1 -0
  33. package/dist/browser/chunk-QATIN7CO.mjs +3 -0
  34. package/dist/browser/chunk-QATIN7CO.mjs.map +1 -0
  35. package/dist/browser/chunk-QBBQ37P3.mjs +2 -0
  36. package/dist/browser/chunk-QBBQ37P3.mjs.map +1 -0
  37. package/dist/browser/chunk-VDVJWU5T.mjs +2 -0
  38. package/dist/browser/chunk-VDVJWU5T.mjs.map +1 -0
  39. package/dist/browser/chunk-X3C4I6YJ.mjs +2 -0
  40. package/dist/browser/chunk-X3C4I6YJ.mjs.map +1 -0
  41. package/dist/browser/chunk-ZVCTU2DN.mjs +3 -0
  42. package/dist/browser/chunk-ZVCTU2DN.mjs.map +1 -0
  43. package/dist/browser/core.d.mts +97 -0
  44. package/dist/browser/core.mjs +2 -0
  45. package/dist/browser/core.mjs.map +1 -0
  46. package/dist/browser/crypto.d.mts +35 -0
  47. package/dist/browser/crypto.mjs +2 -0
  48. package/dist/browser/crypto.mjs.map +1 -0
  49. package/dist/browser/definition.d.mts +13 -0
  50. package/dist/browser/definition.mjs +2 -0
  51. package/dist/browser/definition.mjs.map +1 -0
  52. package/dist/browser/dynamic-feature.d.mts +10 -0
  53. package/dist/browser/dynamic-feature.mjs +2 -0
  54. package/dist/browser/dynamic-feature.mjs.map +1 -0
  55. package/dist/browser/dynamic-structure.d.mts +12 -0
  56. package/dist/browser/dynamic-structure.mjs +2 -0
  57. package/dist/browser/dynamic-structure.mjs.map +1 -0
  58. package/dist/browser/env.d.mts +2 -0
  59. package/dist/browser/env.mjs +2 -0
  60. package/dist/browser/env.mjs.map +1 -0
  61. package/dist/browser/frame-index.d.mts +95 -0
  62. package/dist/browser/frame-index.mjs +2 -0
  63. package/dist/browser/frame-index.mjs.map +1 -0
  64. package/dist/browser/index.browser-CZlhzfSP.d.mts +22 -0
  65. package/dist/browser/index.d.mts +1 -144
  66. package/dist/browser/index.mjs +1 -1
  67. package/dist/browser/index.mjs.map +1 -1
  68. package/dist/browser/logger.d.mts +41 -0
  69. package/dist/browser/logger.mjs +2 -0
  70. package/dist/browser/logger.mjs.map +1 -0
  71. package/dist/browser/namespace.d.mts +13 -0
  72. package/dist/browser/namespace.mjs +2 -0
  73. package/dist/browser/namespace.mjs.map +1 -0
  74. package/dist/browser/storage.d.mts +194 -0
  75. package/dist/browser/storage.mjs +2 -0
  76. package/dist/browser/storage.mjs.map +1 -0
  77. package/dist/browser/vector.d.mts +15 -0
  78. package/dist/browser/vector.mjs +2 -0
  79. package/dist/browser/vector.mjs.map +1 -0
  80. package/dist/index.cjs +0 -0
  81. package/dist/node/A-FrameChannel.component-BfBcs734.d.ts +62 -0
  82. package/dist/node/A-FrameChannel.component-NNKcFViw.d.mts +62 -0
  83. package/dist/node/A-FrameChannel.types-DQF-IiRq.d.mts +146 -0
  84. package/dist/node/A-FrameChannel.types-DQF-IiRq.d.ts +146 -0
  85. package/dist/node/A-FrameDefinition.entity-CAUOdEvU.d.ts +329 -0
  86. package/dist/node/A-FrameDefinition.entity-DWGN_Ujr.d.mts +329 -0
  87. package/dist/node/A-FrameDynamicStructure.entity-DaBgSRCR.d.mts +188 -0
  88. package/dist/node/A-FrameDynamicStructure.entity-DaBgSRCR.d.ts +188 -0
  89. package/dist/node/A-FrameNamespace.entity-D3fZBGDx.d.ts +125 -0
  90. package/dist/node/A-FrameNamespace.entity-rCm1AavP.d.mts +125 -0
  91. package/dist/node/A-FrameStorage.component-BYjHfHJJ.d.mts +107 -0
  92. package/dist/node/A-FrameStorage.component-CT01fs-t.d.ts +107 -0
  93. package/dist/node/bundle.cjs +101 -0
  94. package/dist/node/bundle.cjs.map +1 -0
  95. package/dist/node/bundle.d.mts +69 -0
  96. package/dist/node/bundle.d.ts +69 -0
  97. package/dist/node/bundle.mjs +76 -0
  98. package/dist/node/bundle.mjs.map +1 -0
  99. package/dist/node/channel.cjs +60 -0
  100. package/dist/node/channel.cjs.map +1 -0
  101. package/dist/node/channel.d.mts +61 -0
  102. package/dist/node/channel.d.ts +61 -0
  103. package/dist/node/channel.mjs +11 -0
  104. package/dist/node/channel.mjs.map +1 -0
  105. package/dist/node/chunk-3LOMGNWA.cjs +8 -0
  106. package/dist/node/chunk-3LOMGNWA.cjs.map +1 -0
  107. package/dist/node/chunk-3ONWH75E.mjs +257 -0
  108. package/dist/node/chunk-3ONWH75E.mjs.map +1 -0
  109. package/dist/node/chunk-3TD2PEDZ.mjs +53 -0
  110. package/dist/node/chunk-3TD2PEDZ.mjs.map +1 -0
  111. package/dist/node/chunk-442DXGOD.mjs +16 -0
  112. package/dist/node/chunk-442DXGOD.mjs.map +1 -0
  113. package/dist/node/chunk-6EFXNUL4.mjs +6 -0
  114. package/dist/node/chunk-6EFXNUL4.mjs.map +1 -0
  115. package/dist/node/chunk-7A6XGT5J.cjs +541 -0
  116. package/dist/node/chunk-7A6XGT5J.cjs.map +1 -0
  117. package/dist/node/chunk-AOQRXZPC.mjs +207 -0
  118. package/dist/node/chunk-AOQRXZPC.mjs.map +1 -0
  119. package/dist/node/chunk-APRYHBEF.mjs +171 -0
  120. package/dist/node/chunk-APRYHBEF.mjs.map +1 -0
  121. package/dist/node/chunk-B7BXP7K4.mjs +253 -0
  122. package/dist/node/chunk-B7BXP7K4.mjs.map +1 -0
  123. package/dist/node/chunk-B7ZDJXD3.cjs +35 -0
  124. package/dist/node/chunk-B7ZDJXD3.cjs.map +1 -0
  125. package/dist/node/chunk-CP6JHUU6.cjs +541 -0
  126. package/dist/node/chunk-CP6JHUU6.cjs.map +1 -0
  127. package/dist/node/chunk-DDCEMKBP.mjs +655 -0
  128. package/dist/node/chunk-DDCEMKBP.mjs.map +1 -0
  129. package/dist/node/chunk-DMY44VUG.mjs +655 -0
  130. package/dist/node/chunk-DMY44VUG.mjs.map +1 -0
  131. package/dist/node/chunk-F4UCOZW5.mjs +33 -0
  132. package/dist/node/chunk-F4UCOZW5.mjs.map +1 -0
  133. package/dist/node/chunk-GBTFMT3K.cjs +256 -0
  134. package/dist/node/chunk-GBTFMT3K.cjs.map +1 -0
  135. package/dist/node/chunk-GNVXVK2B.cjs +8 -0
  136. package/dist/node/chunk-GNVXVK2B.cjs.map +1 -0
  137. package/dist/node/chunk-IIVYTS5M.mjs +239 -0
  138. package/dist/node/chunk-IIVYTS5M.mjs.map +1 -0
  139. package/dist/node/chunk-JQBYDEMW.mjs +33 -0
  140. package/dist/node/chunk-JQBYDEMW.mjs.map +1 -0
  141. package/dist/node/chunk-K4MZY4ME.mjs +3 -0
  142. package/dist/node/chunk-K4MZY4ME.mjs.map +1 -0
  143. package/dist/node/chunk-KK64VLZN.cjs +4 -0
  144. package/dist/node/chunk-KK64VLZN.cjs.map +1 -0
  145. package/dist/node/chunk-KLG6HKFU.cjs +175 -0
  146. package/dist/node/chunk-KLG6HKFU.cjs.map +1 -0
  147. package/dist/node/chunk-LJIZ47HO.cjs +688 -0
  148. package/dist/node/chunk-LJIZ47HO.cjs.map +1 -0
  149. package/dist/node/chunk-NIXKAQVP.cjs +35 -0
  150. package/dist/node/chunk-NIXKAQVP.cjs.map +1 -0
  151. package/dist/node/chunk-OI76LHVT.mjs +21 -0
  152. package/dist/node/chunk-OI76LHVT.mjs.map +1 -0
  153. package/dist/node/chunk-OJGCQNAH.mjs +529 -0
  154. package/dist/node/chunk-OJGCQNAH.mjs.map +1 -0
  155. package/dist/node/chunk-QFHZIG7Y.cjs +25 -0
  156. package/dist/node/chunk-QFHZIG7Y.cjs.map +1 -0
  157. package/dist/node/chunk-QFUZVN4Y.cjs +259 -0
  158. package/dist/node/chunk-QFUZVN4Y.cjs.map +1 -0
  159. package/dist/node/chunk-RRLTGGM7.cjs +209 -0
  160. package/dist/node/chunk-RRLTGGM7.cjs.map +1 -0
  161. package/dist/node/chunk-TO4BPKCY.mjs +6 -0
  162. package/dist/node/chunk-TO4BPKCY.mjs.map +1 -0
  163. package/dist/node/chunk-UKKCN7CQ.cjs +688 -0
  164. package/dist/node/chunk-UKKCN7CQ.cjs.map +1 -0
  165. package/dist/node/chunk-UPA7VN4R.mjs +153 -0
  166. package/dist/node/chunk-UPA7VN4R.mjs.map +1 -0
  167. package/dist/node/chunk-UTJ7CVVB.cjs +248 -0
  168. package/dist/node/chunk-UTJ7CVVB.cjs.map +1 -0
  169. package/dist/node/chunk-YVX4W6SI.cjs +155 -0
  170. package/dist/node/chunk-YVX4W6SI.cjs.map +1 -0
  171. package/dist/node/chunk-YWWGJ6EJ.cjs +55 -0
  172. package/dist/node/chunk-YWWGJ6EJ.cjs.map +1 -0
  173. package/dist/node/chunk-Z4HUCRK2.mjs +529 -0
  174. package/dist/node/chunk-Z4HUCRK2.mjs.map +1 -0
  175. package/dist/node/chunk-ZM2RLVVH.cjs +18 -0
  176. package/dist/node/chunk-ZM2RLVVH.cjs.map +1 -0
  177. package/dist/node/core.cjs +261 -0
  178. package/dist/node/core.cjs.map +1 -0
  179. package/dist/node/core.d.mts +76 -0
  180. package/dist/node/core.d.ts +76 -0
  181. package/dist/node/core.mjs +250 -0
  182. package/dist/node/core.mjs.map +1 -0
  183. package/dist/node/crypto.cjs +13 -0
  184. package/dist/node/crypto.cjs.map +1 -0
  185. package/dist/node/crypto.d.mts +44 -0
  186. package/dist/node/crypto.d.ts +44 -0
  187. package/dist/node/crypto.mjs +4 -0
  188. package/dist/node/crypto.mjs.map +1 -0
  189. package/dist/node/definition.cjs +19 -0
  190. package/dist/node/definition.cjs.map +1 -0
  191. package/dist/node/definition.d.mts +13 -0
  192. package/dist/node/definition.d.ts +13 -0
  193. package/dist/node/definition.mjs +6 -0
  194. package/dist/node/definition.mjs.map +1 -0
  195. package/dist/node/dynamic-feature.cjs +14 -0
  196. package/dist/node/dynamic-feature.cjs.map +1 -0
  197. package/dist/node/dynamic-feature.d.mts +10 -0
  198. package/dist/node/dynamic-feature.d.ts +10 -0
  199. package/dist/node/dynamic-feature.mjs +12 -0
  200. package/dist/node/dynamic-feature.mjs.map +1 -0
  201. package/dist/node/dynamic-structure.cjs +143 -0
  202. package/dist/node/dynamic-structure.cjs.map +1 -0
  203. package/dist/node/dynamic-structure.d.mts +12 -0
  204. package/dist/node/dynamic-structure.d.ts +12 -0
  205. package/dist/node/dynamic-structure.mjs +138 -0
  206. package/dist/node/dynamic-structure.mjs.map +1 -0
  207. package/dist/node/env.cjs +14 -0
  208. package/dist/node/env.cjs.map +1 -0
  209. package/dist/node/env.d.mts +22 -0
  210. package/dist/node/env.d.ts +22 -0
  211. package/dist/node/env.mjs +5 -0
  212. package/dist/node/env.mjs.map +1 -0
  213. package/dist/node/frame-index.cjs +16 -0
  214. package/dist/node/frame-index.cjs.map +1 -0
  215. package/dist/node/frame-index.d.mts +95 -0
  216. package/dist/node/frame-index.d.ts +95 -0
  217. package/dist/node/frame-index.mjs +7 -0
  218. package/dist/node/frame-index.mjs.map +1 -0
  219. package/dist/node/index.cjs +0 -288
  220. package/dist/node/index.cjs.map +1 -1
  221. package/dist/node/index.d.mts +1 -144
  222. package/dist/node/index.d.ts +1 -144
  223. package/dist/node/index.mjs +0 -284
  224. package/dist/node/index.mjs.map +1 -1
  225. package/dist/node/logger.cjs +41 -0
  226. package/dist/node/logger.cjs.map +1 -0
  227. package/dist/node/logger.d.mts +150 -0
  228. package/dist/node/logger.d.ts +150 -0
  229. package/dist/node/logger.mjs +4 -0
  230. package/dist/node/logger.mjs.map +1 -0
  231. package/dist/node/namespace.cjs +24 -0
  232. package/dist/node/namespace.cjs.map +1 -0
  233. package/dist/node/namespace.d.mts +13 -0
  234. package/dist/node/namespace.d.ts +13 -0
  235. package/dist/node/namespace.mjs +7 -0
  236. package/dist/node/namespace.mjs.map +1 -0
  237. package/dist/node/storage.cjs +42 -0
  238. package/dist/node/storage.cjs.map +1 -0
  239. package/dist/node/storage.d.mts +110 -0
  240. package/dist/node/storage.d.ts +110 -0
  241. package/dist/node/storage.mjs +13 -0
  242. package/dist/node/storage.mjs.map +1 -0
  243. package/dist/node/vector.cjs +13 -0
  244. package/dist/node/vector.cjs.map +1 -0
  245. package/dist/node/vector.d.mts +15 -0
  246. package/dist/node/vector.d.ts +15 -0
  247. package/dist/node/vector.mjs +4 -0
  248. package/dist/node/vector.mjs.map +1 -0
  249. package/jest.config.browser.ts +41 -0
  250. package/jest.config.ts +18 -8
  251. package/package.json +125 -13
  252. package/{index.ts → src/concept.ts} +5 -2
  253. package/src/helpers/Hash.helper.ts +14 -0
  254. package/src/index.ts +0 -24
  255. package/src/lib/A-Frame/A-Frame.component.env-browser.ts +124 -0
  256. package/src/lib/A-Frame/A-Frame.component.env-node.ts +106 -0
  257. package/src/lib/A-Frame/A-Frame.component.ts +62 -0
  258. package/src/lib/A-Frame/A-Frame.context.ts +40 -0
  259. package/src/lib/{components/Index.component.ts/Index.error.ts → A-Frame/A-Frame.error.ts} +1 -1
  260. package/src/lib/{components/Index.component.ts/Index.guard.ts → A-Frame/A-Frame.guard.ts} +9 -6
  261. package/src/lib/A-Frame/A-Frame.meta.ts +27 -0
  262. package/src/lib/{components/Index.component.ts/Index.types.ts → A-Frame/A-Frame.types.ts} +52 -17
  263. package/src/lib/A-Frame/decorators/A-FrameDefine.decorator.ts +104 -0
  264. package/src/lib/A-Frame/decorators/A-FrameNamespace.decorator.ts +33 -0
  265. package/src/lib/A-Frame/index.browser.ts +10 -0
  266. package/src/lib/A-Frame/index.ts +10 -0
  267. package/src/lib/A-FrameBundle/A-FrameBundle.builder.env-node.ts +95 -0
  268. package/src/lib/A-FrameBundle/A-FrameBundle.constants.ts +5 -0
  269. package/src/lib/A-FrameBundle/A-FrameBundle.types.ts +31 -0
  270. package/src/lib/A-FrameBundle/index.browser.ts +6 -0
  271. package/src/lib/A-FrameBundle/index.ts +7 -0
  272. package/src/lib/A-FrameCLI/A-FrameCLI.container.ts +333 -0
  273. package/src/lib/A-FrameChannel/A-FrameChannel.component.env-browser.ts +63 -0
  274. package/src/lib/A-FrameChannel/A-FrameChannel.component.env-node.ts +586 -0
  275. package/src/lib/A-FrameChannel/A-FrameChannel.component.ts +273 -0
  276. package/src/lib/A-FrameChannel/A-FrameChannel.constants.ts +39 -0
  277. package/src/lib/A-FrameChannel/A-FrameChannel.error.ts +10 -0
  278. package/src/lib/A-FrameChannel/A-FrameChannel.types.ts +143 -0
  279. package/src/lib/A-FrameChannel/A-FrameChannelEvent.context.ts +28 -0
  280. package/src/lib/A-FrameChannel/A-FrameChannelRequest.context.ts +36 -0
  281. package/src/lib/A-FrameChannel/A-FrameChannelSocket.entity.ts +189 -0
  282. package/src/lib/A-FrameChannel/A-FrameChannelStream.entity.ts +144 -0
  283. package/src/lib/A-FrameChannel/index.browser.ts +3 -0
  284. package/src/lib/A-FrameChannel/index.ts +10 -0
  285. package/src/lib/A-FrameCrypto/A-FrameCrypto.component.env-browser.ts +123 -0
  286. package/src/lib/A-FrameCrypto/A-FrameCrypto.component.env-node.ts +204 -0
  287. package/src/lib/A-FrameCrypto/index.browser.ts +1 -0
  288. package/src/lib/A-FrameCrypto/index.ts +1 -0
  289. package/src/lib/A-FrameDefinition/A-FrameDefinition.constants.ts +8 -0
  290. package/src/lib/A-FrameDefinition/A-FrameDefinition.entity.ts +290 -0
  291. package/src/lib/A-FrameDefinition/A-FrameDefinition.types.ts +109 -0
  292. package/src/lib/A-FrameDefinition/index.ts +3 -0
  293. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.entity.ts +13 -0
  294. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.types.ts +10 -0
  295. package/src/lib/A-FrameDynamicFeature/index.ts +2 -0
  296. package/src/lib/A-FrameDynamicPatch/A-FrameDynamicPatch.entity.ts +38 -0
  297. package/src/lib/A-FrameDynamicPatch/A-FrameDynamicPatch.types.ts +20 -0
  298. package/src/lib/A-FrameDynamicSession/A-FrameDynamicSession.constants.ts +9 -0
  299. package/src/lib/A-FrameDynamicSession/A-FrameDynamicSession.entity.ts +91 -0
  300. package/src/lib/A-FrameDynamicSession/A-FrameDynamicSession.types.ts +18 -0
  301. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.constants.ts +13 -0
  302. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.entity.ts +187 -0
  303. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.error.ts +13 -0
  304. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.types.ts +128 -0
  305. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructureOperation.context.ts +32 -0
  306. package/src/lib/A-FrameDynamicStructure/index.ts +5 -0
  307. package/src/lib/A-FrameEnv/A-FrameEnv.fragment.env-browser.ts +31 -0
  308. package/src/lib/A-FrameEnv/A-FrameEnv.fragment.env-node.ts +39 -0
  309. package/src/lib/A-FrameEnv/A-FrameEnv.types.ts +7 -0
  310. package/src/lib/A-FrameEnv/index.browser.ts +1 -0
  311. package/src/lib/A-FrameEnv/index.ts +1 -0
  312. package/src/lib/A-FrameIndex/A-FrameIndex.context.ts +321 -0
  313. package/src/lib/A-FrameIndex/A-FrameIndex.types.ts +63 -0
  314. package/src/lib/A-FrameIndex/index.browser.ts +3 -0
  315. package/src/lib/A-FrameIndex/index.ts +3 -0
  316. package/src/lib/A-FrameLogger/A-FrameLogger.component.env-browser.ts +99 -0
  317. package/src/lib/A-FrameLogger/A-FrameLogger.component.env-node.ts +129 -0
  318. package/src/lib/A-FrameLogger/A-FrameLogger.component.ts +123 -0
  319. package/src/lib/A-FrameLogger/A-FrameLogger.constants.ts +66 -0
  320. package/src/lib/A-FrameLogger/A-FrameLogger.types.ts +67 -0
  321. package/src/lib/A-FrameLogger/index.browser.ts +4 -0
  322. package/src/lib/A-FrameLogger/index.ts +4 -0
  323. package/src/lib/A-FrameNamespace/A-FrameNamespace.constants.ts +12 -0
  324. package/src/lib/A-FrameNamespace/A-FrameNamespace.entity.ts +211 -0
  325. package/src/lib/A-FrameNamespace/A-FrameNamespace.types.ts +72 -0
  326. package/src/lib/A-FrameNamespace/index.ts +3 -0
  327. package/src/lib/A-FrameStorage/A-FrameStorage.codec.ts +338 -0
  328. package/src/lib/A-FrameStorage/A-FrameStorage.component.ts +191 -0
  329. package/src/lib/A-FrameStorage/A-FrameStorage.constants.ts +11 -0
  330. package/src/lib/A-FrameStorage/A-FrameStorage.error.ts +13 -0
  331. package/src/lib/A-FrameStorage/A-FrameStorage.types.ts +98 -0
  332. package/src/lib/A-FrameStorage/A-FrameStorageOperation.context.ts +59 -0
  333. package/src/lib/A-FrameStorage/browser/A-FrameBrowserStorage.component.ts +312 -0
  334. package/src/lib/A-FrameStorage/browser/A-FrameBrowserStorageBlobs.context.ts +77 -0
  335. package/src/lib/A-FrameStorage/index.browser.ts +11 -0
  336. package/src/lib/A-FrameStorage/index.ts +10 -0
  337. package/src/lib/A-FrameStorage/node/A-FrameNodeStorage.component.ts +464 -0
  338. package/src/lib/A-FrameStorage/server/A-FrameServerStorage.component.ts +177 -0
  339. package/src/lib/{entities/A_FrameVector/A_FrameVector.entity.ts → A-FrameVector/A-FrameVector.entity.ts} +10 -0
  340. package/src/lib/A-FrameVector/index.ts +3 -0
  341. package/tests/A-Frame.browser.test.ts +94 -0
  342. package/tests/A-Frame.test.ts +73 -68
  343. package/tests/jest.browser-environment.js +30 -0
  344. package/tests/jest.polyfills.browser.ts +13 -0
  345. package/tests/jest.setup.browser.ts +33 -0
  346. package/tsconfig.browser.json +54 -0
  347. package/tsconfig.json +16 -0
  348. package/tsup.config.ts +32 -2
  349. package/src/lib/components/Builder.component.ts/Builder.component.ts +0 -0
  350. package/src/lib/components/Index.component.ts/Index.component.ts +0 -79
  351. package/src/lib/components/Index.component.ts/Index.constants.ts +0 -0
  352. package/src/lib/components/Index.component.ts/Index.meta.ts +0 -28
  353. package/src/lib/components/Index.component.ts/IndexConfigurations.meta.ts +0 -78
  354. package/src/lib/components/Index.component.ts/decorators/IndexComponent.decorator.ts +0 -97
  355. package/src/lib/components/Index.component.ts/decorators/IndexDescribe.decorator.ts +0 -59
  356. package/src/lib/components/Index.component.ts/decorators/IndexNamespace.decorator.ts +0 -57
  357. package/src/lib/components/Search/A_FrameSearch.component.ts +0 -66
  358. package/src/lib/containers/CLI.container.ts +0 -27
  359. package/src/lib/entities/Namespace/Namespace.entity.ts +0 -8
@@ -0,0 +1,94 @@
1
+ import { A_Component, A_Concept, A_Container, A_Error } from "@adaas/a-concept";
2
+ import { A_Frame } from "@adaas/a-frame/core";
3
+ import { config } from 'dotenv';
4
+ import { A_FrameIndex } from "@adaas/a-frame/index";
5
+ import { A_FrameBrowserChannel } from "@adaas/a-frame/channel";
6
+ import { A_FrameVector } from "@adaas/a-frame/vector";
7
+
8
+ config();
9
+
10
+ describe('A-Frame Browser Tests', () => {
11
+ @A_Frame.Define({
12
+ description: 'Handles HTTP requests and response formatting for the REST API layer. Use this for routing, middleware, request validation, and sending responses.',
13
+ })
14
+ class ComponentA extends A_Component {
15
+ }
16
+
17
+ @A_Frame.Define({
18
+ description: 'Manages database connections and performs CRUD operations on persistent storage. Use this for querying, inserting, updating, and deleting records.',
19
+ })
20
+ class ComponentB extends A_Component {
21
+
22
+ }
23
+
24
+ @A_Frame.Define({
25
+ description: 'Orchestrates business logic and coordinates between the HTTP layer and the database layer. Use this for processing rules, validation, and transformations.',
26
+ })
27
+ class ComponentC extends A_Component {
28
+
29
+ }
30
+
31
+ it('Standard basic test', async () => {
32
+ try {
33
+ const concept = new A_Concept({
34
+ name: 'Test Concept',
35
+ components: [A_Frame, A_FrameBrowserChannel],
36
+ containers: [
37
+ new A_Container({
38
+ name: 'Container A',
39
+ components: [ComponentA, ComponentB, ComponentC]
40
+ })
41
+ ]
42
+ })
43
+
44
+ await concept.load();
45
+ } catch (error) {
46
+ if (error instanceof A_Error) {
47
+ console.error("A_Error occurred:", error.toJSON());
48
+ } else {
49
+ console.error("Unexpected error occurred:", error);
50
+ }
51
+ throw error;
52
+ }
53
+ });
54
+
55
+ it('Should Allow to do search in index', async () => {
56
+ try {
57
+ const concept = new A_Concept({
58
+ name: 'Test Concept',
59
+ components: [A_Frame, A_FrameBrowserChannel],
60
+ containers: [
61
+ new A_Container({
62
+ name: 'Container A',
63
+ components: [ComponentA, ComponentB, ComponentC]
64
+ })
65
+ ]
66
+ })
67
+
68
+ await concept.load();
69
+
70
+ const index = concept.scope.resolve(A_FrameIndex)!;
71
+ const channel = concept.scope.resolve(A_FrameBrowserChannel)!;
72
+
73
+ const query = "I need to apply some business rules and validate data before saving";
74
+
75
+ const result = await channel.embed(query);
76
+
77
+ const vector = new A_FrameVector(result.response!.data[0].embedding);
78
+
79
+ const indexResult = index.search(vector, {
80
+ topK: 1,
81
+ });
82
+
83
+ console.log("Search results:", indexResult);
84
+
85
+ } catch (error) {
86
+ if (error instanceof A_Error) {
87
+ console.error("A_Error occurred:", error.toJSON());
88
+ } else {
89
+ console.error("Unexpected error occurred:", error);
90
+ }
91
+ throw error;
92
+ }
93
+ });
94
+ });
@@ -1,91 +1,96 @@
1
- import { A_Component, A_Container, A_Context, A_Entity, A_Fragment } from "@adaas/a-concept";
2
- import { A_Frame, A_Frame_IndexError, A_Frame_IndexMeta, A_Frame_IndexTargetType } from "../src/index";
3
- describe('A-Frame Tests', () => {
4
- it('Standard basic test ', async () => {
5
-
6
-
7
- @A_Frame.Namespace('MyTestNamespace')
8
- @A_Frame.Component()
9
- class MyComponent extends A_Component {
10
- }
11
-
1
+ import { A_Component, A_Concept, A_Container, A_Context, A_Entity, A_Error, A_Fragment } from "@adaas/a-concept";
2
+ import { A_Frame } from "@adaas/a-frame/core";
3
+ import { config } from 'dotenv';
4
+ import { A_FrameIndex } from "@adaas/a-frame/index";
5
+ import { A_FrameChannel } from "@adaas/a-frame/channel";
6
+ import { A_FrameVector } from "@adaas/a-frame/vector";
12
7
 
13
- @A_Frame.Entity({
14
- name: 'MyTestEntity',
15
- description: 'This entity is uses for the test purpose'
16
- })
17
- class MyEntity extends A_Entity {
8
+ config();
18
9
 
19
- @A_Frame.Namespace('MethodNamespace')
20
- @A_Frame.Describe('MethodNamespace')
21
- @A_Frame.Method()
22
- async testMethod() {
23
- return 'test';
24
- }
25
-
26
- }
10
+ describe('A-Frame Tests', () => {
11
+ @A_Frame.Define({
12
+ description: 'Handles HTTP requests and response formatting for the REST API layer. Use this for routing, middleware, request validation, and sending responses.',
13
+ })
14
+ class ComponentA extends A_Component {
15
+ }
27
16
 
28
- @A_Frame.Container()
29
- class MyContainer extends A_Container {
17
+ @A_Frame.Define({
18
+ description: 'Manages database connections and performs CRUD operations on persistent storage. Use this for querying, inserting, updating, and deleting records.',
19
+ })
20
+ class ComponentB extends A_Component {
30
21
 
31
- }
22
+ }
32
23
 
33
- @A_Frame.Describe('This is a test fragment for demonstration purposes')
34
- @A_Frame.Fragment()
35
- class MyFragment extends A_Fragment {
24
+ @A_Frame.Define({
25
+ description: 'Orchestrates business logic and coordinates between the HTTP layer and the database layer. Use this for processing rules, validation, and transformations.',
26
+ })
27
+ class ComponentC extends A_Component {
36
28
 
29
+ }
37
30
 
38
- }
39
-
31
+ it('Standard basic test ', async () => {
40
32
  try {
41
- // Test standalone decorators (without index decorators)
42
- @A_Frame.Namespace('StandaloneNamespace')
43
- @A_Frame.Describe('Standalone description')
44
- class StandaloneClass { }
33
+ const concept = new A_Concept({
34
+ name: 'Test Concept',
35
+ components: [A_Frame],
36
+ containers: [
37
+ new A_Container({
38
+ name: 'Container A',
39
+ components: [ComponentA, ComponentB, ComponentC]
40
+ })
41
+ ]
42
+ })
43
+
44
+ await concept.load();
45
45
  } catch (error) {
46
- // SHould trow error because standalone decorators should not create index entries
47
- expect(error).toBeInstanceOf(A_Frame_IndexError);
46
+ if (error instanceof A_Error) {
47
+ console.error("A_Error occurred:", error.toJSON());
48
+ } else {
49
+ console.error("Unexpected error occurred:", error);
50
+ }
51
+ throw error;
48
52
  }
49
53
 
54
+ });
50
55
 
51
- // Test that components are properly registered
52
- const indexMeta = A_Context.meta<A_Frame_IndexMeta>(A_Frame);
53
- const registeredComponents = indexMeta.getMetaFor(MyFragment);
54
-
55
- expect(registeredComponents).toBeDefined();
56
- expect(registeredComponents.name).toBe('MyFragment');
57
- expect(registeredComponents.type).toBe(A_Frame_IndexTargetType.FRAGMENT);
58
- expect(registeredComponents.description).toBe('This is a test fragment for demonstration purposes');
56
+ it('Should Allow to do search in index ', async () => {
57
+ try {
58
+ const concept = new A_Concept({
59
+ name: 'Test Concept',
60
+ components: [A_Frame,],
61
+ containers: [
62
+ new A_Container({
63
+ name: 'Container A',
64
+ components: [ComponentA, ComponentB, ComponentC]
65
+ })
66
+ ]
67
+ })
59
68
 
60
- const registeredEntity = indexMeta.getMetaFor(MyEntity);
69
+ await concept.load();
61
70
 
62
- expect(registeredEntity).toBeDefined();
63
- expect(registeredEntity.name).toBe('MyTestEntity');
64
- expect(registeredEntity.type).toBe(A_Frame_IndexTargetType.ENTITY);
65
- expect(registeredEntity.description).toBe('This entity is uses for the test purpose');
71
+ const index = concept.scope.resolve(A_FrameIndex)!;
72
+ const channel = concept.scope.resolve(A_FrameChannel)!;
66
73
 
67
- const registeredComponent = indexMeta.getMetaFor(MyComponent);
74
+ const query = "I need to apply some business rules and validate data before saving";
68
75
 
69
- expect(registeredComponent).toBeDefined();
70
- expect(registeredComponent.name).toBe('MyComponent');
71
- expect(registeredComponent.type).toBe(A_Frame_IndexTargetType.COMPONENT);
72
- expect(registeredComponent.description).toBeUndefined();
76
+ const result = await channel.embed(query);
73
77
 
74
- const registeredContainer = indexMeta.getMetaFor(MyContainer);
78
+ const vector = new A_FrameVector(result.response!.data[0].embedding);
75
79
 
76
- expect(registeredContainer).toBeDefined();
77
- expect(registeredContainer.name).toBe('MyContainer');
78
- expect(registeredContainer.type).toBe(A_Frame_IndexTargetType.CONTAINER);
79
- expect(registeredContainer.description).toBeUndefined();
80
+ const indexResult = index.search(vector, {
81
+ topK: 1,
82
+ });
80
83
 
81
- // Test that method is properly registered
82
- const registeredMethod = registeredEntity.methods.get('testMethod');
84
+ console.log("Search results:", indexResult);
83
85
 
84
- console.log('registeredEntity.methods: ', registeredEntity.methods)
86
+ } catch (error) {
87
+ if (error instanceof A_Error) {
88
+ console.error("A_Error occurred:", error.toJSON());
89
+ } else {
90
+ console.error("Unexpected error occurred:", error);
91
+ }
92
+ throw error;
93
+ }
85
94
 
86
- expect(registeredMethod).toBeDefined();
87
- expect(registeredMethod?.name).toBe('testMethod');
88
- expect(registeredMethod?.description).toBe('MethodNamespace');
89
-
90
95
  });
91
96
  });
@@ -0,0 +1,30 @@
1
+ // Custom JSDOM environment that polyfills browser globals missing from jsdom:
2
+ // - fetch / Headers / Request / Response (jsdom 20 does not ship fetch)
3
+ // - AbortController / AbortSignal (for request cancellation in the channel)
4
+ //
5
+ // This file runs in the Node.js context (not the jsdom vm sandbox), so it
6
+ // has direct access to Node 18+ built-ins.
7
+ const { TestEnvironment } = require('jest-environment-jsdom');
8
+
9
+ class BrowserTestEnvironment extends TestEnvironment {
10
+ async setup() {
11
+ await super.setup();
12
+
13
+ // Expose Node's built-in fetch to the jsdom window so that browser
14
+ // channel code calling `fetch(...)` works in tests.
15
+ if (typeof fetch !== 'undefined') {
16
+ this.global.fetch = fetch;
17
+ this.global.Headers = Headers;
18
+ this.global.Request = Request;
19
+ this.global.Response = Response;
20
+ }
21
+
22
+ // AbortController / AbortSignal are available in Node 18+ globally.
23
+ if (typeof AbortController !== 'undefined') {
24
+ this.global.AbortController = AbortController;
25
+ this.global.AbortSignal = AbortSignal;
26
+ }
27
+ }
28
+ }
29
+
30
+ module.exports = BrowserTestEnvironment;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Polyfills for jsdom environment — must run before any module is imported.
3
+ * This file is listed under `setupFiles` in jest.config.browser.ts so it
4
+ * executes before the test framework and before module loading.
5
+ */
6
+ import { TextEncoder, TextDecoder } from 'util';
7
+
8
+ Object.assign(global, { TextEncoder, TextDecoder });
9
+
10
+ // Polyfill crypto.subtle with the node:crypto WebCrypto implementation
11
+ // so browser code that calls globalThis.crypto.subtle works in jsdom.
12
+ import { webcrypto } from 'crypto';
13
+ Object.assign(global, { crypto: webcrypto });
@@ -0,0 +1,33 @@
1
+ import { A_Context } from '@adaas/a-concept';
2
+ import { config } from 'dotenv';
3
+
4
+ // Load .env so that A_FrameEnv (browser) can read server credentials.
5
+ // The browser env fragment reads from window.* globals instead of process.env,
6
+ // so we bridge them here for the jsdom test environment.
7
+ config();
8
+
9
+ (window as any).A_FRAME_SERVER_URL = process.env.A_FRAME_SERVER_URL ?? 'http://localhost:3000';
10
+ (window as any).A_FRAME_SERVER_API_KEY = process.env.A_FRAME_SERVER_API_KEY ?? '';
11
+ (window as any).A_FRAME_TOKEN = process.env.A_FRAME_TOKEN ?? '';
12
+ (window as any).A_FRAME_STORAGE_DIR = process.env.A_FRAME_STORAGE_DIR ?? '.aframestr';
13
+
14
+ /**
15
+ * Browser environment test hooks
16
+ */
17
+ beforeAll(async () => {
18
+ return Promise.resolve();
19
+ });
20
+
21
+ afterAll(async () => {
22
+ return Promise.resolve();
23
+ });
24
+
25
+ beforeEach(async () => {
26
+ A_Context.reset();
27
+ return Promise.resolve();
28
+ });
29
+
30
+ afterEach(async () => {
31
+ A_Context.reset();
32
+ return Promise.resolve();
33
+ });
@@ -0,0 +1,54 @@
1
+ {
2
+ "extends": "./.conf/tsconfig.base.json",
3
+
4
+ "compilerOptions": {
5
+ "rootDir": "./",
6
+ "baseUrl": ".",
7
+ /* ===============================
8
+ Browser-specific aliases (DEV ONLY)
9
+ =============================== */
10
+ "paths": {
11
+ "@adaas/a-frame/constants/*": ["src/constants/*"],
12
+ "@adaas/a-frame/utils/*": ["src/utils/*"],
13
+ "@adaas/a-frame/helpers/*": ["src/helpers/*"],
14
+ "@adaas/a-frame/types": ["src/types"],
15
+
16
+ "@adaas/a-frame/core": ["src/lib/A-Frame/index.browser.ts"],
17
+ "@adaas/a-frame/bundle": ["src/lib/A-FrameBundle/index.browser.ts"],
18
+ "@adaas/a-frame/channel": ["src/lib/A-FrameChannel/index.browser.ts"],
19
+ "@adaas/a-frame/crypto": ["src/lib/A-FrameCrypto/index.browser.ts"],
20
+ "@adaas/a-frame/definition": ["src/lib/A-FrameDefinition/index.ts"],
21
+ "@adaas/a-frame/dynamic-feature": ["src/lib/A-FrameDynamicFeature/index.ts"],
22
+ "@adaas/a-frame/dynamic-structure": ["src/lib/A-FrameDynamicStructure/index.ts"],
23
+ "@adaas/a-frame/env": ["src/lib/A-FrameEnv/index.browser.ts"],
24
+ "@adaas/a-frame/index": ["src/lib/A-FrameIndex/index.browser.ts"],
25
+ "@adaas/a-frame/logger": ["src/lib/A-FrameLogger/index.browser.ts"],
26
+ "@adaas/a-frame/namespace": ["src/lib/A-FrameNamespace/index.ts"],
27
+ "@adaas/a-frame/storage": ["src/lib/A-FrameStorage/index.browser.ts"],
28
+ "@adaas/a-frame/vector": ["src/lib/A-FrameVector/index.ts"]
29
+ },
30
+
31
+ /* ===============================
32
+ Types
33
+ =============================== */
34
+ "types": [
35
+ "node",
36
+ "jest",
37
+ "mocha"
38
+ ],
39
+ "typeRoots": ["node_modules/@types"]
40
+ },
41
+ "include": [
42
+ "src/**/*",
43
+ "tests/**/*.browser.test.ts",
44
+ "tests/jest.setup.browser.ts",
45
+ "examples/**/*.ts",
46
+ "index.ts",
47
+ "src/index.ts",
48
+ "src/env/global.browser.d.ts"
49
+ ],
50
+ "exclude": [
51
+ "node_modules",
52
+ "dist"
53
+ ]
54
+ }
package/tsconfig.json CHANGED
@@ -12,6 +12,21 @@
12
12
  "@adaas/a-frame/utils/*": ["src/utils/*"],
13
13
  "@adaas/a-frame/helpers/*": ["src/helpers/*"],
14
14
  "@adaas/a-frame/types": ["src/types"],
15
+
16
+ "@adaas/a-frame/core": ["src/lib/A-Frame/index.ts"],
17
+ // "@adaas/a-frame/cli": ["src/lib/A-FrameCLI/index.ts"],
18
+ "@adaas/a-frame/bundle": ["src/lib/A-FrameBundle/index.ts"],
19
+ "@adaas/a-frame/channel": ["src/lib/A-FrameChannel/index.ts"],
20
+ "@adaas/a-frame/crypto": ["src/lib/A-FrameCrypto/index.ts"],
21
+ "@adaas/a-frame/definition": ["src/lib/A-FrameDefinition/index.ts"],
22
+ "@adaas/a-frame/dynamic-feature": ["src/lib/A-FrameDynamicFeature/index.ts"],
23
+ "@adaas/a-frame/dynamic-structure": ["src/lib/A-FrameDynamicStructure/index.ts"],
24
+ "@adaas/a-frame/env": ["src/lib/A-FrameEnv/index.ts"],
25
+ "@adaas/a-frame/index": ["src/lib/A-FrameIndex/index.ts"],
26
+ "@adaas/a-frame/logger": ["src/lib/A-FrameLogger/index.ts"],
27
+ "@adaas/a-frame/namespace": ["src/lib/A-FrameNamespace/index.ts"],
28
+ "@adaas/a-frame/storage": ["src/lib/A-FrameStorage/index.ts"],
29
+ "@adaas/a-frame/vector": ["src/lib/A-FrameVector/index.ts"],
15
30
 
16
31
  },
17
32
 
@@ -30,6 +45,7 @@
30
45
  "src/**/*",
31
46
  "tests/**/*",
32
47
  "examples/**/*.ts",
48
+ "index.ts",
33
49
  "src/index.ts",
34
50
  "src/env/global.browser.d.ts"
35
51
  ],
package/tsup.config.ts CHANGED
@@ -16,8 +16,23 @@ export default defineConfig([
16
16
  */
17
17
  {
18
18
  entry: {
19
- // Public library entry
19
+ // Root barrel (empty — the package API is subpath-based)
20
20
  index: "src/index.ts",
21
+ // Per-subpath entries (browser variants)
22
+ core: "src/lib/A-Frame/index.browser.ts",
23
+ bundle: "src/lib/A-FrameBundle/index.browser.ts",
24
+ channel: "src/lib/A-FrameChannel/index.browser.ts",
25
+ crypto: "src/lib/A-FrameCrypto/index.browser.ts",
26
+ definition: "src/lib/A-FrameDefinition/index.ts",
27
+ "dynamic-feature": "src/lib/A-FrameDynamicFeature/index.ts",
28
+ "dynamic-structure": "src/lib/A-FrameDynamicStructure/index.ts",
29
+ env: "src/lib/A-FrameEnv/index.browser.ts",
30
+ // "index" already used by root — output A-FrameIndex as "frame-index"
31
+ "frame-index": "src/lib/A-FrameIndex/index.browser.ts",
32
+ logger: "src/lib/A-FrameLogger/index.browser.ts",
33
+ namespace: "src/lib/A-FrameNamespace/index.ts",
34
+ storage: "src/lib/A-FrameStorage/index.browser.ts",
35
+ vector: "src/lib/A-FrameVector/index.ts",
21
36
  },
22
37
 
23
38
  tsconfig: "./.conf/tsconfig.browser.json", // Separate tsconfig for browser build
@@ -71,8 +86,23 @@ export default defineConfig([
71
86
  */
72
87
  {
73
88
  entry: {
74
- // Same public API as browser
89
+ // Root barrel (empty — the package API is subpath-based)
75
90
  index: "src/index.ts",
91
+ // Per-subpath entries (node variants)
92
+ core: "src/lib/A-Frame/index.ts",
93
+ bundle: "src/lib/A-FrameBundle/index.ts",
94
+ channel: "src/lib/A-FrameChannel/index.ts",
95
+ crypto: "src/lib/A-FrameCrypto/index.ts",
96
+ definition: "src/lib/A-FrameDefinition/index.ts",
97
+ "dynamic-feature": "src/lib/A-FrameDynamicFeature/index.ts",
98
+ "dynamic-structure": "src/lib/A-FrameDynamicStructure/index.ts",
99
+ env: "src/lib/A-FrameEnv/index.ts",
100
+ // "index" already used by root — output A-FrameIndex as "frame-index"
101
+ "frame-index": "src/lib/A-FrameIndex/index.ts",
102
+ logger: "src/lib/A-FrameLogger/index.ts",
103
+ namespace: "src/lib/A-FrameNamespace/index.ts",
104
+ storage: "src/lib/A-FrameStorage/index.ts",
105
+ vector: "src/lib/A-FrameVector/index.ts",
76
106
  },
77
107
 
78
108
  tsconfig: "./.conf/tsconfig.node.json", // Separate tsconfig for node build
@@ -1,79 +0,0 @@
1
- import { A_Component, A_Meta } from "@adaas/a-concept";
2
- import { A_Frame_IndexOptions, A_Frame_IndexTargetType } from "./Index.types";
3
- import { A_Frame_IndexDecorator } from "./decorators/IndexComponent.decorator";
4
- import { A_Frame_IndexNamespaceDecorator } from "./decorators/IndexNamespace.decorator";
5
- import { A_Frame_IndexDescribeDecorator } from "./decorators/IndexDescribe.decorator";
6
- import { A_Frame_IndexMeta } from "./Index.meta";
7
-
8
-
9
-
10
- @A_Meta.Define(A_Frame_IndexMeta)
11
- export class A_Frame_Index extends A_Component {
12
-
13
-
14
- /**
15
- * Allows to mark namespace and add it to index structure,
16
- */
17
- static Namespace(name: string): ClassDecorator & MethodDecorator {
18
- return A_Frame_IndexNamespaceDecorator(name) as ClassDecorator & MethodDecorator;
19
- }
20
-
21
- /**
22
- * Allows to add description to a class and add it to index structure
23
- */
24
- static Describe(description: string): ClassDecorator & MethodDecorator {
25
- return A_Frame_IndexDescribeDecorator(description) as ClassDecorator & MethodDecorator;
26
- }
27
-
28
-
29
-
30
- /**
31
- * Allows to mark component and add it to index structure,
32
- */
33
- static Component(): ClassDecorator
34
- static Component(options: Partial<A_Frame_IndexOptions>): ClassDecorator
35
- static Component(options: Partial<A_Frame_IndexOptions> = {}): ClassDecorator {
36
- return A_Frame_IndexDecorator(A_Frame_IndexTargetType.COMPONENT, options) as ClassDecorator;
37
- }
38
-
39
- /**
40
- * Allows to mark container and add it to index structure,
41
- */
42
- static Container(): ClassDecorator
43
- static Container(options: Partial<A_Frame_IndexOptions>): ClassDecorator
44
- static Container(options: Partial<A_Frame_IndexOptions> = {}): ClassDecorator {
45
- return A_Frame_IndexDecorator(A_Frame_IndexTargetType.CONTAINER, options) as ClassDecorator;
46
- }
47
-
48
- /**
49
- * Allows to mark entity and add it to index structure,
50
- * so it can be reused in other components or structures
51
- */
52
- static Entity(): ClassDecorator
53
- static Entity(options: Partial<A_Frame_IndexOptions>): ClassDecorator
54
- static Entity(options: Partial<A_Frame_IndexOptions> = {}): ClassDecorator {
55
- return A_Frame_IndexDecorator(A_Frame_IndexTargetType.ENTITY, options) as ClassDecorator;
56
- }
57
-
58
-
59
- /**
60
- * Allows to mark fragment and add it to index structure,
61
- * so it can be reused in other components or structures
62
- */
63
- static Fragment(): ClassDecorator
64
- static Fragment(options: Partial<A_Frame_IndexOptions>): ClassDecorator
65
- static Fragment(options: Partial<A_Frame_IndexOptions> = {}): ClassDecorator {
66
- return A_Frame_IndexDecorator(A_Frame_IndexTargetType.FRAGMENT, options) as ClassDecorator;
67
- }
68
-
69
- /**
70
- * Allows to define a reusable AI method from components,
71
- * that can be reused in other components. to build new Features
72
- */
73
- static Method(): MethodDecorator
74
- static Method(options: Partial<A_Frame_IndexOptions>): MethodDecorator
75
- static Method(options: Partial<A_Frame_IndexOptions> = {}): MethodDecorator {
76
- return A_Frame_IndexDecorator(A_Frame_IndexTargetType.METHOD, options) as MethodDecorator;
77
- }
78
-
79
- }
@@ -1,28 +0,0 @@
1
- import { A_ComponentMeta, A_Context, A_Meta } from "@adaas/a-concept";
2
- import { A_Frame_IndexDecoratorMeta, A_Frame_IndexTargetType, A_Frame_IndexMetaTarget } from "./Index.types";
3
- import { A_Frame_Index } from "./Index.component";
4
- import { A_Frame_IndexConfigurationsMeta } from "./IndexConfigurations.meta";
5
-
6
- export class A_Frame_IndexMeta extends A_ComponentMeta {
7
-
8
- getMetaFor(target: A_Frame_IndexMetaTarget): A_Frame_IndexConfigurationsMeta {
9
-
10
- const targetSpace = this.get('A_FRAME_INDEX_CONFIGURATIONS_META' as any) || new Map<A_Frame_IndexMetaTarget, A_Frame_IndexConfigurationsMeta>();
11
-
12
- if (!targetSpace.has(target)) {
13
- targetSpace.set(target, new A_Frame_IndexConfigurationsMeta());
14
- this.set('A_FRAME_INDEX_CONFIGURATIONS_META' as any, targetSpace);
15
- }
16
-
17
- return targetSpace.get(target)!;
18
- }
19
-
20
-
21
- seMetaFor(target: A_Frame_IndexMetaTarget, meta: A_Frame_IndexConfigurationsMeta): void {
22
- const targetSpace = this.get('A_FRAME_INDEX_CONFIGURATIONS_META' as any) || new Map<A_Frame_IndexMetaTarget, A_Frame_IndexConfigurationsMeta>();
23
-
24
- targetSpace.set(target, meta);
25
-
26
- this.set('A_FRAME_INDEX_CONFIGURATIONS_META' as any, targetSpace);
27
- }
28
- }
@@ -1,78 +0,0 @@
1
- import { A_Meta } from "@adaas/a-concept";
2
- import { A_Namespace } from "../../entities/Namespace/Namespace.entity";
3
- import { A_Frame_IndexConfigurationsMetaMethodMeta, A_Frame_IndexConfigurationsMetaType } from "./Index.types";
4
-
5
-
6
-
7
- export class A_Frame_IndexConfigurationsMeta extends A_Meta<Partial<A_Frame_IndexConfigurationsMetaType>> {
8
-
9
- get name(): string | undefined {
10
- return this.get('name');
11
- }
12
-
13
- set name(value: string | undefined) {
14
- if (value)
15
- this.set('name', value);
16
- }
17
-
18
-
19
- get type(): string | undefined {
20
- return this.get('type');
21
- }
22
-
23
- set type(value: string | undefined) {
24
- if (value)
25
- this.set('type', value);
26
- }
27
-
28
-
29
- get namespace(): string | undefined {
30
- return this.get('namespaces');
31
- }
32
-
33
- set namespace(value: string | undefined | A_Namespace) {
34
- if (value) {
35
- const target = value instanceof A_Namespace ? value.aseid.toString() : value;
36
- this.set('namespaces', target);
37
- }
38
- }
39
-
40
-
41
- get description(): string | undefined {
42
- return this.get('descriptions');
43
- }
44
-
45
- set description(value: string | undefined) {
46
- if (value)
47
- this.set('descriptions', value);
48
- }
49
-
50
-
51
-
52
- get methods(): Map<string, A_Frame_IndexConfigurationsMetaMethodMeta> {
53
- if (!this.get('methods')) {
54
- this.set('methods', new Map());
55
- }
56
-
57
- return this.get('methods')!;
58
- }
59
-
60
-
61
- clear(): void {
62
- this.set('name', undefined);
63
- this.set('type', undefined);
64
- this.set('namespaces', undefined);
65
- this.set('descriptions', undefined);
66
- this.set('methods', new Map());
67
- }
68
-
69
-
70
- addMethod(methodMeta: A_Frame_IndexConfigurationsMetaMethodMeta): void {
71
- const methods = this.methods;
72
-
73
- if (!methods.has(methodMeta.name)) {
74
- methods.set(methodMeta.name, methodMeta);
75
- this.set('methods', methods);
76
- }
77
- }
78
- }