@a2ui/web_core 0.8.0 → 0.9.0

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 (436) hide show
  1. package/.tsbuildinfo +1 -0
  2. package/LICENSE +203 -0
  3. package/README.md +50 -4
  4. package/package.json +42 -72
  5. package/{dist/src → src}/v0_8/data/guards.js +13 -13
  6. package/src/v0_8/data/guards.test.d.ts +2 -0
  7. package/src/v0_8/data/guards.test.d.ts.map +1 -0
  8. package/src/v0_8/data/guards.test.js +174 -0
  9. package/src/v0_8/data/guards.test.js.map +1 -0
  10. package/{dist/src → src}/v0_8/data/model-processor.d.ts +1 -1
  11. package/{dist/src → src}/v0_8/data/model-processor.d.ts.map +1 -1
  12. package/{dist/src → src}/v0_8/data/model-processor.js +51 -40
  13. package/src/v0_8/data/model-processor.js.map +1 -0
  14. package/src/v0_8/data/model-processor.test.d.ts +2 -0
  15. package/src/v0_8/data/model-processor.test.d.ts.map +1 -0
  16. package/src/v0_8/data/model-processor.test.js +712 -0
  17. package/src/v0_8/data/model-processor.test.js.map +1 -0
  18. package/src/v0_8/errors.d.ts +35 -0
  19. package/src/v0_8/errors.d.ts.map +1 -0
  20. package/src/v0_8/errors.js +65 -0
  21. package/src/v0_8/errors.js.map +1 -0
  22. package/src/v0_8/events/validation-event.d.ts.map +1 -0
  23. package/{dist/src → src}/v0_8/events/validation-event.js.map +1 -1
  24. package/{dist/src → src}/v0_8/index.d.ts +35 -4
  25. package/{dist/src → src}/v0_8/index.d.ts.map +1 -1
  26. package/src/v0_8/index.js +28 -0
  27. package/src/v0_8/index.js.map +1 -0
  28. package/src/v0_8/schema/common-types.d.ts +1189 -0
  29. package/src/v0_8/schema/common-types.d.ts.map +1 -0
  30. package/src/v0_8/schema/common-types.js +381 -0
  31. package/src/v0_8/schema/common-types.js.map +1 -0
  32. package/src/v0_8/schema/server-to-client.d.ts +17949 -0
  33. package/src/v0_8/schema/server-to-client.d.ts.map +1 -0
  34. package/src/v0_8/schema/server-to-client.js +228 -0
  35. package/src/v0_8/schema/server-to-client.js.map +1 -0
  36. package/src/v0_8/schema/verify-schema.test.d.ts +17 -0
  37. package/src/v0_8/schema/verify-schema.test.d.ts.map +1 -0
  38. package/src/v0_8/schema/verify-schema.test.js +167 -0
  39. package/src/v0_8/schema/verify-schema.test.js.map +1 -0
  40. package/{dist/src → src}/v0_8/schemas/server_to_client.json +1 -1
  41. package/src/v0_8/schemas/server_to_client_with_standard_catalog.json +817 -787
  42. package/{dist/src → src}/v0_8/schemas/standard_catalog_definition.json +26 -0
  43. package/{dist/src → src}/v0_8/styles/behavior.js +13 -13
  44. package/{dist/src → src}/v0_8/styles/border.js +13 -13
  45. package/{dist/src → src}/v0_8/styles/colors.js +13 -13
  46. package/{dist/src → src}/v0_8/styles/colors.js.map +1 -1
  47. package/src/v0_8/styles/icons.d.ts +11 -0
  48. package/{dist/src → src}/v0_8/styles/icons.d.ts.map +1 -1
  49. package/{dist/src → src}/v0_8/styles/icons.js +17 -14
  50. package/{dist/src → src}/v0_8/styles/icons.js.map +1 -1
  51. package/src/v0_8/styles/index.js +35 -0
  52. package/{dist/src → src}/v0_8/styles/layout.js +13 -13
  53. package/{dist/src → src}/v0_8/styles/layout.js.map +1 -1
  54. package/src/v0_8/styles/opacity.js +24 -0
  55. package/src/v0_8/{events/index.ts → styles/shared.js} +3 -4
  56. package/src/v0_8/styles/styles.test.d.ts +2 -0
  57. package/src/v0_8/styles/styles.test.d.ts.map +1 -0
  58. package/src/v0_8/styles/styles.test.js +86 -0
  59. package/src/v0_8/styles/styles.test.js.map +1 -0
  60. package/{dist/src → src}/v0_8/styles/type.js +13 -13
  61. package/{dist/src → src}/v0_8/styles/utils.js +13 -13
  62. package/{dist/src → src}/v0_8/types/client-event.d.ts +10 -8
  63. package/src/v0_8/types/client-event.d.ts.map +1 -0
  64. package/src/v0_8/types/client-event.js +17 -0
  65. package/src/v0_8/types/colors.js +19 -0
  66. package/src/v0_8/types/components.d.ts +41 -0
  67. package/src/v0_8/types/components.d.ts.map +1 -0
  68. package/src/v0_8/types/components.js +17 -0
  69. package/src/v0_8/types/primitives.d.ts +9 -0
  70. package/src/v0_8/types/primitives.d.ts.map +1 -0
  71. package/src/v0_8/types/primitives.js +17 -0
  72. package/{dist/src → src}/v0_8/types/types.d.ts +44 -22
  73. package/src/v0_8/types/types.d.ts.map +1 -0
  74. package/src/v0_8/types/types.js +17 -0
  75. package/src/v0_9/basic_catalog/components/basic_components.d.ts +3359 -0
  76. package/src/v0_9/basic_catalog/components/basic_components.d.ts.map +1 -0
  77. package/src/v0_9/basic_catalog/components/basic_components.js +448 -0
  78. package/src/v0_9/basic_catalog/components/basic_components.js.map +1 -0
  79. package/src/v0_9/basic_catalog/components/basic_components.test.d.ts +2 -0
  80. package/src/v0_9/basic_catalog/components/basic_components.test.d.ts.map +1 -0
  81. package/src/v0_9/basic_catalog/components/basic_components.test.js +46 -0
  82. package/src/v0_9/basic_catalog/components/basic_components.test.js.map +1 -0
  83. package/src/v0_9/basic_catalog/expressions/expression_parser.d.ts +38 -0
  84. package/src/v0_9/basic_catalog/expressions/expression_parser.d.ts.map +1 -0
  85. package/src/v0_9/basic_catalog/expressions/expression_parser.js +294 -0
  86. package/src/v0_9/basic_catalog/expressions/expression_parser.js.map +1 -0
  87. package/src/v0_9/basic_catalog/expressions/expression_parser.test.d.ts +2 -0
  88. package/src/v0_9/basic_catalog/expressions/expression_parser.test.d.ts.map +1 -0
  89. package/src/v0_9/basic_catalog/expressions/expression_parser.test.js +126 -0
  90. package/src/v0_9/basic_catalog/expressions/expression_parser.test.js.map +1 -0
  91. package/src/v0_9/basic_catalog/functions/basic_functions.d.ts +32 -0
  92. package/src/v0_9/basic_catalog/functions/basic_functions.d.ts.map +1 -0
  93. package/src/v0_9/basic_catalog/functions/basic_functions.js +212 -0
  94. package/src/v0_9/basic_catalog/functions/basic_functions.js.map +1 -0
  95. package/src/v0_9/basic_catalog/functions/basic_functions.test.d.ts +2 -0
  96. package/src/v0_9/basic_catalog/functions/basic_functions.test.d.ts.map +1 -0
  97. package/src/v0_9/basic_catalog/functions/basic_functions.test.js +301 -0
  98. package/src/v0_9/basic_catalog/functions/basic_functions.test.js.map +1 -0
  99. package/src/v0_9/basic_catalog/functions/basic_functions_api.d.ts +930 -0
  100. package/src/v0_9/basic_catalog/functions/basic_functions_api.d.ts.map +1 -0
  101. package/src/v0_9/basic_catalog/functions/basic_functions_api.js +466 -0
  102. package/src/v0_9/basic_catalog/functions/basic_functions_api.js.map +1 -0
  103. package/src/v0_9/basic_catalog/index.d.ts +5 -0
  104. package/src/v0_9/basic_catalog/index.d.ts.map +1 -0
  105. package/src/v0_9/basic_catalog/index.js +20 -0
  106. package/src/v0_9/basic_catalog/index.js.map +1 -0
  107. package/src/v0_9/catalog/function_invoker.d.ts +12 -0
  108. package/src/v0_9/catalog/function_invoker.d.ts.map +1 -0
  109. package/src/v0_9/catalog/function_invoker.js +17 -0
  110. package/src/v0_9/catalog/function_invoker.js.map +1 -0
  111. package/src/v0_9/catalog/types.d.ts +80 -0
  112. package/src/v0_9/catalog/types.d.ts.map +1 -0
  113. package/src/v0_9/catalog/types.js +68 -0
  114. package/src/v0_9/catalog/types.js.map +1 -0
  115. package/src/v0_9/catalog/types.test.d.ts +2 -0
  116. package/src/v0_9/catalog/types.test.d.ts.map +1 -0
  117. package/src/v0_9/catalog/types.test.js +88 -0
  118. package/src/v0_9/catalog/types.test.js.map +1 -0
  119. package/src/v0_9/common/events.d.ts +45 -0
  120. package/src/v0_9/common/events.d.ts.map +1 -0
  121. package/src/v0_9/common/events.js +58 -0
  122. package/src/v0_9/common/events.js.map +1 -0
  123. package/src/v0_9/common/events.test.d.ts +2 -0
  124. package/src/v0_9/common/events.test.d.ts.map +1 -0
  125. package/src/v0_9/common/events.test.js +58 -0
  126. package/src/v0_9/common/events.test.js.map +1 -0
  127. package/src/v0_9/errors.d.ts +40 -0
  128. package/src/v0_9/errors.d.ts.map +1 -0
  129. package/src/v0_9/errors.js +69 -0
  130. package/src/v0_9/errors.js.map +1 -0
  131. package/src/v0_9/index.d.ts +152 -0
  132. package/src/v0_9/index.d.ts.map +1 -0
  133. package/src/v0_9/index.js +41 -0
  134. package/src/v0_9/index.js.map +1 -0
  135. package/src/v0_9/processing/message-processor.d.ts +70 -0
  136. package/src/v0_9/processing/message-processor.d.ts.map +1 -0
  137. package/src/v0_9/processing/message-processor.js +289 -0
  138. package/src/v0_9/processing/message-processor.js.map +1 -0
  139. package/src/v0_9/processing/message-processor.test.js +547 -0
  140. package/src/v0_9/processing/message-processor.test.js.map +1 -0
  141. package/src/v0_9/reactivity/signals.d.ts +43 -0
  142. package/src/v0_9/reactivity/signals.d.ts.map +1 -0
  143. package/src/v0_9/reactivity/signals.js +17 -0
  144. package/src/v0_9/reactivity/signals.js.map +1 -0
  145. package/src/v0_9/reactivity/signals.test.d.ts +17 -0
  146. package/src/v0_9/reactivity/signals.test.d.ts.map +1 -0
  147. package/src/v0_9/reactivity/signals.test.js +100 -0
  148. package/src/v0_9/reactivity/signals.test.js.map +1 -0
  149. package/src/v0_9/rendering/component-context.d.ts +35 -0
  150. package/src/v0_9/rendering/component-context.d.ts.map +1 -0
  151. package/src/v0_9/rendering/component-context.js +49 -0
  152. package/src/v0_9/rendering/component-context.js.map +1 -0
  153. package/src/v0_9/rendering/component-context.test.d.ts +2 -0
  154. package/src/v0_9/rendering/component-context.test.d.ts.map +1 -0
  155. package/src/v0_9/rendering/component-context.test.js +55 -0
  156. package/src/v0_9/rendering/component-context.test.js.map +1 -0
  157. package/src/v0_9/rendering/data-context.d.ts +99 -0
  158. package/src/v0_9/rendering/data-context.d.ts.map +1 -0
  159. package/src/v0_9/rendering/data-context.js +310 -0
  160. package/src/v0_9/rendering/data-context.js.map +1 -0
  161. package/src/v0_9/rendering/data-context.test.js +379 -0
  162. package/src/v0_9/rendering/data-context.test.js.map +1 -0
  163. package/src/v0_9/rendering/generic-binder.d.ts +122 -0
  164. package/src/v0_9/rendering/generic-binder.d.ts.map +1 -0
  165. package/src/v0_9/rendering/generic-binder.js +315 -0
  166. package/src/v0_9/rendering/generic-binder.js.map +1 -0
  167. package/src/v0_9/rendering/generic-binder.test.d.ts +2 -0
  168. package/src/v0_9/rendering/generic-binder.test.d.ts.map +1 -0
  169. package/src/v0_9/rendering/generic-binder.test.js +166 -0
  170. package/src/v0_9/rendering/generic-binder.test.js.map +1 -0
  171. package/src/v0_9/schema/client-capabilities.d.ts +34 -0
  172. package/src/v0_9/schema/client-capabilities.d.ts.map +1 -0
  173. package/src/v0_9/schema/client-capabilities.js +17 -0
  174. package/src/v0_9/schema/client-capabilities.js.map +1 -0
  175. package/src/v0_9/schema/client-to-server.d.ts +208 -0
  176. package/src/v0_9/schema/client-to-server.d.ts.map +1 -0
  177. package/src/v0_9/schema/client-to-server.js +104 -0
  178. package/src/v0_9/schema/client-to-server.js.map +1 -0
  179. package/src/v0_9/schema/client-to-server.test.d.ts +2 -0
  180. package/src/v0_9/schema/client-to-server.test.d.ts.map +1 -0
  181. package/src/v0_9/schema/client-to-server.test.js +85 -0
  182. package/src/v0_9/schema/client-to-server.test.js.map +1 -0
  183. package/{dist/src → src}/v0_9/schema/common-types.d.ts +318 -88
  184. package/src/v0_9/schema/common-types.d.ts.map +1 -0
  185. package/src/v0_9/schema/common-types.js +141 -0
  186. package/src/v0_9/schema/common-types.js.map +1 -0
  187. package/src/v0_9/schema/index.d.ts +5 -0
  188. package/src/v0_9/schema/index.d.ts.map +1 -0
  189. package/src/v0_9/schema/index.js +20 -0
  190. package/src/v0_9/schema/index.js.map +1 -0
  191. package/src/v0_9/schema/server-to-client.d.ts +307 -0
  192. package/src/v0_9/schema/server-to-client.d.ts.map +1 -0
  193. package/src/v0_9/schema/server-to-client.js +92 -0
  194. package/src/v0_9/schema/server-to-client.js.map +1 -0
  195. package/src/v0_9/schema/verify-schema.test.d.ts +17 -0
  196. package/src/v0_9/schema/verify-schema.test.d.ts.map +1 -0
  197. package/src/v0_9/schema/verify-schema.test.js +174 -0
  198. package/src/v0_9/schema/verify-schema.test.js.map +1 -0
  199. package/src/v0_9/schemas/basic_catalog.json +1387 -0
  200. package/src/v0_9/schemas/client_capabilities.json +97 -0
  201. package/src/v0_9/schemas/client_data_model.json +22 -0
  202. package/src/v0_9/schemas/client_to_server.json +104 -0
  203. package/src/v0_9/schemas/client_to_server_list.json +10 -0
  204. package/src/v0_9/schemas/common_types.json +315 -0
  205. package/src/v0_9/schemas/sample.json +22 -0
  206. package/src/v0_9/schemas/server_capabilities.json +26 -0
  207. package/src/v0_9/schemas/server_to_client.json +131 -0
  208. package/src/v0_9/schemas/server_to_client_list.json +10 -0
  209. package/src/v0_9/state/component-model.d.ts +36 -0
  210. package/src/v0_9/state/component-model.d.ts.map +1 -0
  211. package/src/v0_9/state/component-model.js +65 -0
  212. package/src/v0_9/state/component-model.js.map +1 -0
  213. package/{dist/src → src}/v0_9/state/component-model.test.js +23 -0
  214. package/src/v0_9/state/component-model.test.js.map +1 -0
  215. package/src/v0_9/state/data-model.d.ts +75 -0
  216. package/src/v0_9/state/data-model.d.ts.map +1 -0
  217. package/src/v0_9/state/data-model.js +235 -0
  218. package/src/v0_9/state/data-model.js.map +1 -0
  219. package/{dist/src → src}/v0_9/state/data-model.test.js +77 -17
  220. package/src/v0_9/state/data-model.test.js.map +1 -0
  221. package/src/v0_9/state/surface-components-model.d.ts +45 -0
  222. package/src/v0_9/state/surface-components-model.d.ts.map +1 -0
  223. package/src/v0_9/state/surface-components-model.js +86 -0
  224. package/src/v0_9/state/surface-components-model.js.map +1 -0
  225. package/{dist/src → src}/v0_9/state/surface-components-model.test.js +44 -2
  226. package/src/v0_9/state/surface-components-model.test.js.map +1 -0
  227. package/{dist/src → src}/v0_9/state/surface-group-model.d.ts +28 -1
  228. package/src/v0_9/state/surface-group-model.d.ts.map +1 -0
  229. package/{dist/src → src}/v0_9/state/surface-group-model.js +44 -1
  230. package/src/v0_9/state/surface-group-model.js.map +1 -0
  231. package/{dist/src → src}/v0_9/state/surface-group-model.test.js +47 -6
  232. package/src/v0_9/state/surface-group-model.test.js.map +1 -0
  233. package/src/v0_9/state/surface-model.d.ts +62 -0
  234. package/src/v0_9/state/surface-model.d.ts.map +1 -0
  235. package/src/v0_9/state/surface-model.js +101 -0
  236. package/src/v0_9/state/surface-model.js.map +1 -0
  237. package/src/v0_9/state/surface-model.test.js +93 -0
  238. package/src/v0_9/state/surface-model.test.js.map +1 -0
  239. package/src/v0_9/test/function_execution.spec.d.ts +17 -0
  240. package/src/v0_9/test/function_execution.spec.d.ts.map +1 -0
  241. package/src/v0_9/test/function_execution.spec.js +127 -0
  242. package/src/v0_9/test/function_execution.spec.js.map +1 -0
  243. package/src/v0_9/test/test-utils.d.ts.map +1 -0
  244. package/{dist/src → src}/v0_9/test/test-utils.js +15 -0
  245. package/src/v0_9/test/test-utils.js.map +1 -0
  246. package/dist/.tsbuildinfo +0 -1
  247. package/dist/src/v0_8/data/model-processor.js.map +0 -1
  248. package/dist/src/v0_8/events/validation-event.d.ts.map +0 -1
  249. package/dist/src/v0_8/index.js +0 -12
  250. package/dist/src/v0_8/index.js.map +0 -1
  251. package/dist/src/v0_8/schemas/server_to_client_with_standard_catalog.json +0 -823
  252. package/dist/src/v0_8/styles/icons.d.ts +0 -11
  253. package/dist/src/v0_8/styles/index.js +0 -35
  254. package/dist/src/v0_8/styles/opacity.js +0 -24
  255. package/dist/src/v0_8/styles/shared.js +0 -17
  256. package/dist/src/v0_8/types/client-event.d.ts.map +0 -1
  257. package/dist/src/v0_8/types/client-event.js +0 -17
  258. package/dist/src/v0_8/types/colors.js +0 -19
  259. package/dist/src/v0_8/types/components.d.ts +0 -176
  260. package/dist/src/v0_8/types/components.d.ts.map +0 -1
  261. package/dist/src/v0_8/types/components.js +0 -17
  262. package/dist/src/v0_8/types/primitives.d.ts +0 -43
  263. package/dist/src/v0_8/types/primitives.d.ts.map +0 -1
  264. package/dist/src/v0_8/types/primitives.js +0 -17
  265. package/dist/src/v0_8/types/types.d.ts.map +0 -1
  266. package/dist/src/v0_8/types/types.js +0 -17
  267. package/dist/src/v0_9/catalog/types.d.ts +0 -27
  268. package/dist/src/v0_9/catalog/types.d.ts.map +0 -1
  269. package/dist/src/v0_9/catalog/types.js +0 -11
  270. package/dist/src/v0_9/catalog/types.js.map +0 -1
  271. package/dist/src/v0_9/common/events.d.ts +0 -24
  272. package/dist/src/v0_9/common/events.d.ts.map +0 -1
  273. package/dist/src/v0_9/common/events.js +0 -29
  274. package/dist/src/v0_9/common/events.js.map +0 -1
  275. package/dist/src/v0_9/index.d.ts +0 -11
  276. package/dist/src/v0_9/index.d.ts.map +0 -1
  277. package/dist/src/v0_9/index.js +0 -11
  278. package/dist/src/v0_9/index.js.map +0 -1
  279. package/dist/src/v0_9/processing/message-processor.d.ts +0 -34
  280. package/dist/src/v0_9/processing/message-processor.d.ts.map +0 -1
  281. package/dist/src/v0_9/processing/message-processor.js +0 -128
  282. package/dist/src/v0_9/processing/message-processor.js.map +0 -1
  283. package/dist/src/v0_9/processing/message-processor.test.js +0 -112
  284. package/dist/src/v0_9/processing/message-processor.test.js.map +0 -1
  285. package/dist/src/v0_9/rendering/component-context.d.ts +0 -17
  286. package/dist/src/v0_9/rendering/component-context.d.ts.map +0 -1
  287. package/dist/src/v0_9/rendering/component-context.js +0 -21
  288. package/dist/src/v0_9/rendering/component-context.js.map +0 -1
  289. package/dist/src/v0_9/rendering/data-context.d.ts +0 -37
  290. package/dist/src/v0_9/rendering/data-context.d.ts.map +0 -1
  291. package/dist/src/v0_9/rendering/data-context.js +0 -97
  292. package/dist/src/v0_9/rendering/data-context.js.map +0 -1
  293. package/dist/src/v0_9/rendering/data-context.test.js +0 -71
  294. package/dist/src/v0_9/rendering/data-context.test.js.map +0 -1
  295. package/dist/src/v0_9/schema/common-types.d.ts.map +0 -1
  296. package/dist/src/v0_9/schema/common-types.js +0 -92
  297. package/dist/src/v0_9/schema/common-types.js.map +0 -1
  298. package/dist/src/v0_9/schema/index.d.ts +0 -3
  299. package/dist/src/v0_9/schema/index.d.ts.map +0 -1
  300. package/dist/src/v0_9/schema/index.js +0 -3
  301. package/dist/src/v0_9/schema/index.js.map +0 -1
  302. package/dist/src/v0_9/schema/server-to-client.d.ts +0 -84
  303. package/dist/src/v0_9/schema/server-to-client.d.ts.map +0 -1
  304. package/dist/src/v0_9/schema/server-to-client.js +0 -21
  305. package/dist/src/v0_9/schema/server-to-client.js.map +0 -1
  306. package/dist/src/v0_9/state/component-model.d.ts +0 -16
  307. package/dist/src/v0_9/state/component-model.d.ts.map +0 -1
  308. package/dist/src/v0_9/state/component-model.js +0 -24
  309. package/dist/src/v0_9/state/component-model.js.map +0 -1
  310. package/dist/src/v0_9/state/component-model.test.js.map +0 -1
  311. package/dist/src/v0_9/state/data-model.d.ts +0 -47
  312. package/dist/src/v0_9/state/data-model.d.ts.map +0 -1
  313. package/dist/src/v0_9/state/data-model.js +0 -191
  314. package/dist/src/v0_9/state/data-model.js.map +0 -1
  315. package/dist/src/v0_9/state/data-model.test.js.map +0 -1
  316. package/dist/src/v0_9/state/surface-components-model.d.ts +0 -19
  317. package/dist/src/v0_9/state/surface-components-model.d.ts.map +0 -1
  318. package/dist/src/v0_9/state/surface-components-model.js +0 -42
  319. package/dist/src/v0_9/state/surface-components-model.js.map +0 -1
  320. package/dist/src/v0_9/state/surface-components-model.test.js.map +0 -1
  321. package/dist/src/v0_9/state/surface-group-model.d.ts.map +0 -1
  322. package/dist/src/v0_9/state/surface-group-model.js.map +0 -1
  323. package/dist/src/v0_9/state/surface-group-model.test.js.map +0 -1
  324. package/dist/src/v0_9/state/surface-model.d.ts +0 -23
  325. package/dist/src/v0_9/state/surface-model.d.ts.map +0 -1
  326. package/dist/src/v0_9/state/surface-model.js +0 -28
  327. package/dist/src/v0_9/state/surface-model.js.map +0 -1
  328. package/dist/src/v0_9/state/surface-model.test.js +0 -39
  329. package/dist/src/v0_9/state/surface-model.test.js.map +0 -1
  330. package/dist/src/v0_9/test/test-utils.d.ts.map +0 -1
  331. package/dist/src/v0_9/test/test-utils.js.map +0 -1
  332. package/src/v0_8/data/guards.ts +0 -236
  333. package/src/v0_8/data/model-processor.ts +0 -855
  334. package/src/v0_8/events/base.ts +0 -24
  335. package/src/v0_8/events/validation-event.ts +0 -66
  336. package/src/v0_8/index.ts +0 -12
  337. package/src/v0_8/styles/behavior.ts +0 -55
  338. package/src/v0_8/styles/border.ts +0 -42
  339. package/src/v0_8/styles/colors.ts +0 -100
  340. package/src/v0_8/styles/icons.ts +0 -60
  341. package/src/v0_8/styles/index.ts +0 -37
  342. package/src/v0_8/styles/layout.ts +0 -235
  343. package/src/v0_8/styles/opacity.ts +0 -24
  344. package/src/v0_8/styles/shared.ts +0 -17
  345. package/src/v0_8/styles/type.ts +0 -156
  346. package/src/v0_8/styles/utils.ts +0 -104
  347. package/src/v0_8/types/client-event.ts +0 -80
  348. package/src/v0_8/types/colors.ts +0 -66
  349. package/src/v0_8/types/components.ts +0 -213
  350. package/src/v0_8/types/primitives.ts +0 -60
  351. package/src/v0_8/types/types.ts +0 -557
  352. package/src/v0_9/catalog/types.ts +0 -38
  353. package/src/v0_9/common/events.ts +0 -44
  354. package/src/v0_9/index.ts +0 -12
  355. package/src/v0_9/processing/message-processor.test.ts +0 -133
  356. package/src/v0_9/processing/message-processor.ts +0 -150
  357. package/src/v0_9/rendering/component-context.ts +0 -36
  358. package/src/v0_9/rendering/data-context.test.ts +0 -85
  359. package/src/v0_9/rendering/data-context.ts +0 -110
  360. package/src/v0_9/schema/common-types.ts +0 -125
  361. package/src/v0_9/schema/index.ts +0 -2
  362. package/src/v0_9/schema/server-to-client.ts +0 -23
  363. package/src/v0_9/state/component-model.test.ts +0 -50
  364. package/src/v0_9/state/component-model.ts +0 -32
  365. package/src/v0_9/state/data-model.test.ts +0 -257
  366. package/src/v0_9/state/data-model.ts +0 -239
  367. package/src/v0_9/state/surface-components-model.test.ts +0 -59
  368. package/src/v0_9/state/surface-components-model.ts +0 -48
  369. package/src/v0_9/state/surface-group-model.test.ts +0 -82
  370. package/src/v0_9/state/surface-group-model.ts +0 -66
  371. package/src/v0_9/state/surface-model.test.ts +0 -44
  372. package/src/v0_9/state/surface-model.ts +0 -39
  373. package/src/v0_9/test/test-utils.ts +0 -22
  374. /package/{dist/src → src}/v0_8/data/guards.d.ts +0 -0
  375. /package/{dist/src → src}/v0_8/data/guards.d.ts.map +0 -0
  376. /package/{dist/src → src}/v0_8/data/guards.js.map +0 -0
  377. /package/{dist/src → src}/v0_8/events/base.d.ts +0 -0
  378. /package/{dist/src → src}/v0_8/events/base.d.ts.map +0 -0
  379. /package/{dist/src → src}/v0_8/events/base.js +0 -0
  380. /package/{dist/src → src}/v0_8/events/base.js.map +0 -0
  381. /package/{dist/src → src}/v0_8/events/index.d.ts +0 -0
  382. /package/{dist/src → src}/v0_8/events/index.d.ts.map +0 -0
  383. /package/{dist/src → src}/v0_8/events/index.js +0 -0
  384. /package/{dist/src → src}/v0_8/events/index.js.map +0 -0
  385. /package/{dist/src → src}/v0_8/events/validation-event.d.ts +0 -0
  386. /package/{dist/src → src}/v0_8/events/validation-event.js +0 -0
  387. /package/{dist/src → src}/v0_8/schemas/a2ui_client_capabilities_schema.json +0 -0
  388. /package/{dist/src → src}/v0_8/schemas/catalog_description_schema.json +0 -0
  389. /package/{dist/src → src}/v0_8/schemas/client_to_server.json +0 -0
  390. /package/{dist/src → src}/v0_8/styles/behavior.d.ts +0 -0
  391. /package/{dist/src → src}/v0_8/styles/behavior.d.ts.map +0 -0
  392. /package/{dist/src → src}/v0_8/styles/behavior.js.map +0 -0
  393. /package/{dist/src → src}/v0_8/styles/border.d.ts +0 -0
  394. /package/{dist/src → src}/v0_8/styles/border.d.ts.map +0 -0
  395. /package/{dist/src → src}/v0_8/styles/border.js.map +0 -0
  396. /package/{dist/src → src}/v0_8/styles/colors.d.ts +0 -0
  397. /package/{dist/src → src}/v0_8/styles/colors.d.ts.map +0 -0
  398. /package/{dist/src → src}/v0_8/styles/index.d.ts +0 -0
  399. /package/{dist/src → src}/v0_8/styles/index.d.ts.map +0 -0
  400. /package/{dist/src → src}/v0_8/styles/index.js.map +0 -0
  401. /package/{dist/src → src}/v0_8/styles/layout.d.ts +0 -0
  402. /package/{dist/src → src}/v0_8/styles/layout.d.ts.map +0 -0
  403. /package/{dist/src → src}/v0_8/styles/opacity.d.ts +0 -0
  404. /package/{dist/src → src}/v0_8/styles/opacity.d.ts.map +0 -0
  405. /package/{dist/src → src}/v0_8/styles/opacity.js.map +0 -0
  406. /package/{dist/src → src}/v0_8/styles/shared.d.ts +0 -0
  407. /package/{dist/src → src}/v0_8/styles/shared.d.ts.map +0 -0
  408. /package/{dist/src → src}/v0_8/styles/shared.js.map +0 -0
  409. /package/{dist/src → src}/v0_8/styles/type.d.ts +0 -0
  410. /package/{dist/src → src}/v0_8/styles/type.d.ts.map +0 -0
  411. /package/{dist/src → src}/v0_8/styles/type.js.map +0 -0
  412. /package/{dist/src → src}/v0_8/styles/utils.d.ts +0 -0
  413. /package/{dist/src → src}/v0_8/styles/utils.d.ts.map +0 -0
  414. /package/{dist/src → src}/v0_8/styles/utils.js.map +0 -0
  415. /package/{dist/src → src}/v0_8/types/client-event.js.map +0 -0
  416. /package/{dist/src → src}/v0_8/types/colors.d.ts +0 -0
  417. /package/{dist/src → src}/v0_8/types/colors.d.ts.map +0 -0
  418. /package/{dist/src → src}/v0_8/types/colors.js.map +0 -0
  419. /package/{dist/src → src}/v0_8/types/components.js.map +0 -0
  420. /package/{dist/src → src}/v0_8/types/primitives.js.map +0 -0
  421. /package/{dist/src → src}/v0_8/types/types.js.map +0 -0
  422. /package/{dist/src → src}/v0_9/processing/message-processor.test.d.ts +0 -0
  423. /package/{dist/src → src}/v0_9/processing/message-processor.test.d.ts.map +0 -0
  424. /package/{dist/src → src}/v0_9/rendering/data-context.test.d.ts +0 -0
  425. /package/{dist/src → src}/v0_9/rendering/data-context.test.d.ts.map +0 -0
  426. /package/{dist/src → src}/v0_9/state/component-model.test.d.ts +0 -0
  427. /package/{dist/src → src}/v0_9/state/component-model.test.d.ts.map +0 -0
  428. /package/{dist/src → src}/v0_9/state/data-model.test.d.ts +0 -0
  429. /package/{dist/src → src}/v0_9/state/data-model.test.d.ts.map +0 -0
  430. /package/{dist/src → src}/v0_9/state/surface-components-model.test.d.ts +0 -0
  431. /package/{dist/src → src}/v0_9/state/surface-components-model.test.d.ts.map +0 -0
  432. /package/{dist/src → src}/v0_9/state/surface-group-model.test.d.ts +0 -0
  433. /package/{dist/src → src}/v0_9/state/surface-group-model.test.d.ts.map +0 -0
  434. /package/{dist/src → src}/v0_9/state/surface-model.test.d.ts +0 -0
  435. /package/{dist/src → src}/v0_9/state/surface-model.test.d.ts.map +0 -0
  436. /package/{dist/src → src}/v0_9/test/test-utils.d.ts +0 -0
@@ -0,0 +1,547 @@
1
+ /*
2
+ * Copyright 2025 Google LLC
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import assert from 'node:assert';
17
+ import { describe, it, beforeEach } from 'node:test';
18
+ import { MessageProcessor } from './message-processor.js';
19
+ import { Catalog } from '../catalog/types.js';
20
+ import { z } from 'zod';
21
+ describe('MessageProcessor', () => {
22
+ let processor;
23
+ let testCatalog;
24
+ let actions = [];
25
+ beforeEach(() => {
26
+ actions = [];
27
+ testCatalog = new Catalog('test-catalog', []);
28
+ processor = new MessageProcessor([testCatalog], async (a) => {
29
+ actions.push(a);
30
+ });
31
+ });
32
+ describe('getClientCapabilities', () => {
33
+ it('generates basic client capabilities with supportedCatalogIds', () => {
34
+ const caps = processor.getClientCapabilities();
35
+ assert.strictEqual(caps['v0.9'].inlineCatalogs, undefined);
36
+ assert.deepStrictEqual(caps, {
37
+ 'v0.9': {
38
+ supportedCatalogIds: ['test-catalog'],
39
+ },
40
+ });
41
+ });
42
+ it('generates inline catalogs when requested', () => {
43
+ const buttonApi = {
44
+ name: 'Button',
45
+ schema: z.object({
46
+ label: z.string().describe('The button label'),
47
+ }),
48
+ };
49
+ const cat = new Catalog('cat-1', [buttonApi]);
50
+ const proc = new MessageProcessor([cat]);
51
+ const caps = proc.getClientCapabilities({ includeInlineCatalogs: true });
52
+ const inlineCat = caps['v0.9'].inlineCatalogs[0];
53
+ assert.strictEqual(inlineCat.catalogId, 'cat-1');
54
+ const buttonSchema = inlineCat.components.Button;
55
+ assert.ok(buttonSchema.allOf);
56
+ assert.strictEqual(buttonSchema.allOf[0].$ref, 'common_types.json#/$defs/ComponentCommon');
57
+ assert.strictEqual(buttonSchema.allOf[1].properties.component.const, 'Button');
58
+ assert.strictEqual(buttonSchema.allOf[1].properties.label.description, 'The button label');
59
+ assert.deepStrictEqual(buttonSchema.allOf[1].required, [
60
+ 'component',
61
+ 'label',
62
+ ]);
63
+ });
64
+ it('transforms REF: descriptions into valid $ref nodes', () => {
65
+ const customApi = {
66
+ name: 'Custom',
67
+ schema: z.object({
68
+ title: z
69
+ .string()
70
+ .describe('REF:common_types.json#/$defs/DynamicString|The title'),
71
+ }),
72
+ };
73
+ const cat = new Catalog('cat-ref', [customApi]);
74
+ const proc = new MessageProcessor([cat]);
75
+ const caps = proc.getClientCapabilities({ includeInlineCatalogs: true });
76
+ const titleSchema = caps['v0.9'].inlineCatalogs[0].components.Custom.allOf[1].properties
77
+ .title;
78
+ assert.strictEqual(titleSchema.$ref, 'common_types.json#/$defs/DynamicString');
79
+ assert.strictEqual(titleSchema.description, 'The title');
80
+ // Ensure Zod's 'type: string' was removed
81
+ assert.strictEqual(titleSchema.type, undefined);
82
+ });
83
+ it('generates inline catalogs with functions and theme schema', () => {
84
+ const buttonApi = {
85
+ name: 'Button',
86
+ schema: z.object({
87
+ label: z.string(),
88
+ }),
89
+ };
90
+ const addFn = {
91
+ name: 'add',
92
+ returnType: 'number',
93
+ schema: z.object({
94
+ a: z.number().describe('First number'),
95
+ b: z.number().describe('Second number'),
96
+ }),
97
+ execute: (args) => args.a + args.b,
98
+ };
99
+ const themeSchema = z.object({
100
+ primaryColor: z
101
+ .string()
102
+ .describe('REF:common_types.json#/$defs/Color|The main color'),
103
+ });
104
+ const cat = new Catalog('cat-full', [buttonApi], [addFn], themeSchema);
105
+ const proc = new MessageProcessor([cat]);
106
+ const caps = proc.getClientCapabilities({ includeInlineCatalogs: true });
107
+ const inlineCat = caps['v0.9'].inlineCatalogs[0];
108
+ assert.strictEqual(inlineCat.catalogId, 'cat-full');
109
+ // Verify Functions
110
+ assert.ok(inlineCat.functions);
111
+ assert.strictEqual(inlineCat.functions.length, 1);
112
+ const fn = inlineCat.functions[0];
113
+ assert.strictEqual(fn.name, 'add');
114
+ assert.strictEqual(fn.returnType, 'number');
115
+ assert.strictEqual(fn.parameters.properties.a.description, 'First number');
116
+ // Verify Theme
117
+ assert.ok(inlineCat.theme);
118
+ assert.ok(inlineCat.theme.primaryColor);
119
+ assert.strictEqual(inlineCat.theme.primaryColor.$ref, 'common_types.json#/$defs/Color');
120
+ assert.strictEqual(inlineCat.theme.primaryColor.description, 'The main color');
121
+ });
122
+ it('omits functions and theme when catalog has none', () => {
123
+ const compApi = { name: 'EmptyComp', schema: z.object({}) };
124
+ const cat = new Catalog('cat-empty', [compApi]);
125
+ const proc = new MessageProcessor([cat]);
126
+ const caps = proc.getClientCapabilities({ includeInlineCatalogs: true });
127
+ const inlineCat = caps['v0.9'].inlineCatalogs[0];
128
+ assert.strictEqual(inlineCat.catalogId, 'cat-empty');
129
+ assert.strictEqual(inlineCat.functions, undefined);
130
+ assert.strictEqual(inlineCat.theme, undefined);
131
+ });
132
+ it('processes REF: tags deeply nested in schema arrays and objects', () => {
133
+ const deepApi = {
134
+ name: 'DeepComp',
135
+ schema: z.object({
136
+ items: z.array(z.object({
137
+ action: z
138
+ .string()
139
+ .describe('REF:common_types.json#/$defs/Action|The action to perform'),
140
+ })),
141
+ }),
142
+ };
143
+ const cat = new Catalog('cat-deep', [deepApi]);
144
+ const proc = new MessageProcessor([cat]);
145
+ const caps = proc.getClientCapabilities({ includeInlineCatalogs: true });
146
+ const properties = caps['v0.9'].inlineCatalogs[0].components.DeepComp.allOf[1]
147
+ .properties;
148
+ const actionSchema = properties.items.items.properties.action;
149
+ assert.strictEqual(actionSchema.$ref, 'common_types.json#/$defs/Action');
150
+ assert.strictEqual(actionSchema.description, 'The action to perform');
151
+ assert.strictEqual(actionSchema.type, undefined);
152
+ });
153
+ it('handles REF: tags without pipes or with multiple pipes', () => {
154
+ const edgeApi = {
155
+ name: 'EdgeComp',
156
+ schema: z.object({
157
+ noPipe: z.string().describe('REF:common_types.json#/$defs/NoPipe'),
158
+ multiPipe: z
159
+ .string()
160
+ .describe('REF:common_types.json#/$defs/MultiPipe|First|Second'),
161
+ }),
162
+ };
163
+ const cat = new Catalog('cat-edge', [edgeApi]);
164
+ const proc = new MessageProcessor([cat]);
165
+ const caps = proc.getClientCapabilities({ includeInlineCatalogs: true });
166
+ const properties = caps['v0.9'].inlineCatalogs[0].components.EdgeComp.allOf[1]
167
+ .properties;
168
+ assert.strictEqual(properties.noPipe.$ref, 'common_types.json#/$defs/NoPipe');
169
+ assert.strictEqual(properties.noPipe.description, undefined);
170
+ assert.strictEqual(properties.multiPipe.$ref, 'common_types.json#/$defs/MultiPipe');
171
+ assert.strictEqual(properties.multiPipe.description, 'First');
172
+ });
173
+ it('handles multiple catalogs correctly', () => {
174
+ const compApi = { name: 'C1', schema: z.object({}) };
175
+ const cat1 = new Catalog('cat-1', [compApi]);
176
+ const addFn = {
177
+ name: 'add',
178
+ returnType: 'number',
179
+ schema: z.object({}),
180
+ execute: () => 0,
181
+ };
182
+ const themeSchema = z.object({ color: z.string() });
183
+ const cat2 = new Catalog('cat-2', [], [addFn], themeSchema);
184
+ const proc = new MessageProcessor([cat1, cat2]);
185
+ const caps = proc.getClientCapabilities({ includeInlineCatalogs: true });
186
+ assert.strictEqual(caps['v0.9'].inlineCatalogs.length, 2);
187
+ const inlineCat1 = caps['v0.9'].inlineCatalogs[0];
188
+ assert.strictEqual(inlineCat1.catalogId, 'cat-1');
189
+ assert.strictEqual(inlineCat1.functions, undefined);
190
+ assert.strictEqual(inlineCat1.theme, undefined);
191
+ const inlineCat2 = caps['v0.9'].inlineCatalogs[1];
192
+ assert.strictEqual(inlineCat2.catalogId, 'cat-2');
193
+ assert.strictEqual(inlineCat2.functions.length, 1);
194
+ assert.ok(inlineCat2.theme);
195
+ });
196
+ });
197
+ it('creates surface', () => {
198
+ processor.processMessages([
199
+ {
200
+ version: 'v0.9',
201
+ createSurface: {
202
+ surfaceId: 's1',
203
+ catalogId: 'test-catalog',
204
+ theme: {},
205
+ },
206
+ },
207
+ ]);
208
+ const surface = processor.model.getSurface('s1');
209
+ assert.ok(surface);
210
+ assert.strictEqual(surface.id, 's1');
211
+ assert.strictEqual(surface.sendDataModel, false);
212
+ });
213
+ it('creates surface with sendDataModel enabled', () => {
214
+ processor.processMessages([
215
+ {
216
+ version: 'v0.9',
217
+ createSurface: {
218
+ surfaceId: 's1',
219
+ catalogId: 'test-catalog',
220
+ sendDataModel: true,
221
+ },
222
+ },
223
+ ]);
224
+ const surface = processor.model.getSurface('s1');
225
+ assert.strictEqual(surface?.sendDataModel, true);
226
+ });
227
+ it('getClientDataModel filters surfaces correctly', () => {
228
+ processor.processMessages([
229
+ {
230
+ version: 'v0.9',
231
+ createSurface: {
232
+ surfaceId: 's1',
233
+ catalogId: 'test-catalog',
234
+ sendDataModel: true,
235
+ },
236
+ },
237
+ {
238
+ version: 'v0.9',
239
+ createSurface: {
240
+ surfaceId: 's2',
241
+ catalogId: 'test-catalog',
242
+ sendDataModel: false,
243
+ },
244
+ },
245
+ {
246
+ version: 'v0.9',
247
+ updateDataModel: { surfaceId: 's1', value: { user: 'Alice' } },
248
+ },
249
+ {
250
+ version: 'v0.9',
251
+ updateDataModel: { surfaceId: 's2', value: { secret: 'Bob' } },
252
+ },
253
+ ]);
254
+ const dataModel = processor.getClientDataModel();
255
+ assert.ok(dataModel);
256
+ assert.strictEqual(dataModel.version, 'v0.9');
257
+ assert.deepStrictEqual(dataModel.surfaces, {
258
+ s1: { user: 'Alice' },
259
+ });
260
+ assert.strictEqual(dataModel.surfaces.s2, undefined);
261
+ });
262
+ it('getClientDataModel returns undefined if no surfaces have sendDataModel enabled', () => {
263
+ processor.processMessages([
264
+ {
265
+ version: 'v0.9',
266
+ createSurface: { surfaceId: 's1', catalogId: 'test-catalog' },
267
+ },
268
+ ]);
269
+ assert.strictEqual(processor.getClientDataModel(), undefined);
270
+ });
271
+ it('updates components on correct surface', () => {
272
+ processor.processMessages([
273
+ {
274
+ version: 'v0.9',
275
+ createSurface: { surfaceId: 's1', catalogId: 'test-catalog' },
276
+ },
277
+ ]);
278
+ processor.processMessages([
279
+ {
280
+ version: 'v0.9',
281
+ updateComponents: {
282
+ surfaceId: 's1',
283
+ components: [{ id: 'root', component: 'Box' }],
284
+ },
285
+ },
286
+ ]);
287
+ const surface = processor.model.getSurface('s1');
288
+ assert.ok(surface?.componentsModel.get('root'));
289
+ });
290
+ it('updates existing components via message', () => {
291
+ processor.processMessages([
292
+ {
293
+ version: 'v0.9',
294
+ createSurface: { surfaceId: 's1', catalogId: 'test-catalog' },
295
+ },
296
+ ]);
297
+ // Verify component creation.
298
+ processor.processMessages([
299
+ {
300
+ version: 'v0.9',
301
+ updateComponents: {
302
+ surfaceId: 's1',
303
+ components: [{ id: 'btn', component: 'Button', label: 'Initial' }],
304
+ },
305
+ },
306
+ ]);
307
+ const surface = processor.model.getSurface('s1');
308
+ const btn = surface?.componentsModel.get('btn');
309
+ assert.strictEqual(btn?.properties.label, 'Initial');
310
+ // Verify component update.
311
+ processor.processMessages([
312
+ {
313
+ version: 'v0.9',
314
+ updateComponents: {
315
+ surfaceId: 's1',
316
+ components: [{ id: 'btn', component: 'Button', label: 'Updated' }],
317
+ },
318
+ },
319
+ ]);
320
+ assert.strictEqual(btn?.properties.label, 'Updated');
321
+ });
322
+ it('deletes surface', () => {
323
+ processor.processMessages([
324
+ {
325
+ version: 'v0.9',
326
+ createSurface: { surfaceId: 's1', catalogId: 'test-catalog' },
327
+ },
328
+ ]);
329
+ assert.ok(processor.model.getSurface('s1'));
330
+ processor.processMessages([
331
+ {
332
+ version: 'v0.9',
333
+ deleteSurface: { surfaceId: 's1' },
334
+ },
335
+ ]);
336
+ assert.strictEqual(processor.model.getSurface('s1'), undefined);
337
+ });
338
+ it('routes data model updates', () => {
339
+ processor.processMessages([
340
+ {
341
+ version: 'v0.9',
342
+ createSurface: { surfaceId: 's1', catalogId: 'test-catalog' },
343
+ },
344
+ ]);
345
+ processor.processMessages([
346
+ {
347
+ version: 'v0.9',
348
+ updateDataModel: {
349
+ surfaceId: 's1',
350
+ path: '/foo',
351
+ value: 'bar',
352
+ },
353
+ },
354
+ ]);
355
+ const surface = processor.model.getSurface('s1');
356
+ assert.strictEqual(surface?.dataModel.get('/foo'), 'bar');
357
+ });
358
+ it('notifies lifecycle listeners', () => {
359
+ let created = null;
360
+ let deletedId = null;
361
+ const sub = processor.onSurfaceCreated(s => {
362
+ created = s;
363
+ });
364
+ const sub2 = processor.onSurfaceDeleted(id => {
365
+ deletedId = id;
366
+ });
367
+ // Verify creation notification.
368
+ processor.processMessages([
369
+ {
370
+ version: 'v0.9',
371
+ createSurface: { surfaceId: 's1', catalogId: 'test-catalog' },
372
+ },
373
+ ]);
374
+ assert.ok(created);
375
+ assert.strictEqual(created.id, 's1');
376
+ // Verify deletion notification.
377
+ processor.processMessages([
378
+ {
379
+ version: 'v0.9',
380
+ deleteSurface: { surfaceId: 's1' },
381
+ },
382
+ ]);
383
+ assert.strictEqual(deletedId, 's1');
384
+ // Verify unsubscribe stops notifications.
385
+ created = null;
386
+ sub.unsubscribe();
387
+ processor.processMessages([
388
+ {
389
+ version: 'v0.9',
390
+ createSurface: { surfaceId: 's2', catalogId: 'test-catalog' },
391
+ },
392
+ ]);
393
+ assert.strictEqual(created, null);
394
+ sub2.unsubscribe();
395
+ });
396
+ it('throws on message with multiple update types', () => {
397
+ processor.processMessages([
398
+ {
399
+ version: 'v0.9',
400
+ createSurface: { surfaceId: 's1', catalogId: 'test-catalog' },
401
+ },
402
+ ]);
403
+ assert.throws(() => {
404
+ processor.processMessages([
405
+ {
406
+ version: 'v0.9',
407
+ updateComponents: { surfaceId: 's1', components: [] },
408
+ updateDataModel: { surfaceId: 's1', path: '/', value: {} },
409
+ },
410
+ ]);
411
+ }, /Message contains multiple update types/);
412
+ });
413
+ it('throws when creating component without type', () => {
414
+ processor.processMessages([
415
+ {
416
+ version: 'v0.9',
417
+ createSurface: { surfaceId: 's1', catalogId: 'test-catalog' },
418
+ },
419
+ ]);
420
+ assert.throws(() => {
421
+ processor.processMessages([
422
+ {
423
+ version: 'v0.9',
424
+ updateComponents: {
425
+ surfaceId: 's1',
426
+ components: [{ id: 'comp1', label: 'No Type' }],
427
+ },
428
+ },
429
+ ]);
430
+ }, /Cannot create component comp1 without a type/);
431
+ const surface = processor.model.getSurface('s1');
432
+ assert.strictEqual(surface?.componentsModel.get('comp1'), undefined);
433
+ });
434
+ it('recreates component when type changes', () => {
435
+ processor.processMessages([
436
+ {
437
+ version: 'v0.9',
438
+ createSurface: { surfaceId: 's1', catalogId: 'test-catalog' },
439
+ },
440
+ ]);
441
+ processor.processMessages([
442
+ {
443
+ version: 'v0.9',
444
+ updateComponents: {
445
+ surfaceId: 's1',
446
+ components: [{ id: 'comp1', component: 'Button', label: 'Btn' }],
447
+ },
448
+ },
449
+ ]);
450
+ let surface = processor.model.getSurface('s1');
451
+ let comp = surface?.componentsModel.get('comp1');
452
+ assert.strictEqual(comp?.type, 'Button');
453
+ // Change type to Label
454
+ processor.processMessages([
455
+ {
456
+ version: 'v0.9',
457
+ updateComponents: {
458
+ surfaceId: 's1',
459
+ components: [{ id: 'comp1', component: 'Label', text: 'Lbl' }],
460
+ },
461
+ },
462
+ ]);
463
+ surface = processor.model.getSurface('s1');
464
+ comp = surface?.componentsModel.get('comp1');
465
+ assert.strictEqual(comp?.type, 'Label');
466
+ assert.strictEqual(comp?.properties.text, 'Lbl');
467
+ assert.strictEqual(comp?.properties.label, undefined);
468
+ });
469
+ it('throws when catalog not found', () => {
470
+ assert.throws(() => {
471
+ processor.processMessages([
472
+ {
473
+ version: 'v0.9',
474
+ createSurface: {
475
+ surfaceId: 's1',
476
+ catalogId: 'unknown-catalog',
477
+ },
478
+ },
479
+ ]);
480
+ }, /Catalog not found: unknown-catalog/);
481
+ });
482
+ it('throws when duplicate surface created', () => {
483
+ processor.processMessages([
484
+ {
485
+ version: 'v0.9',
486
+ createSurface: { surfaceId: 's1', catalogId: 'test-catalog' },
487
+ },
488
+ ]);
489
+ assert.throws(() => {
490
+ processor.processMessages([
491
+ {
492
+ version: 'v0.9',
493
+ createSurface: { surfaceId: 's1', catalogId: 'test-catalog' },
494
+ },
495
+ ]);
496
+ }, /Surface s1 already exists/);
497
+ });
498
+ it('throws when updating non-existent surface', () => {
499
+ assert.throws(() => {
500
+ processor.processMessages([
501
+ {
502
+ version: 'v0.9',
503
+ updateComponents: {
504
+ surfaceId: 'unknown-s',
505
+ components: [],
506
+ },
507
+ },
508
+ ]);
509
+ }, /Surface not found for message: unknown-s/);
510
+ });
511
+ it('throws when component is missing id', () => {
512
+ processor.processMessages([
513
+ {
514
+ version: 'v0.9',
515
+ createSurface: { surfaceId: 's1', catalogId: 'test-catalog' },
516
+ },
517
+ ]);
518
+ assert.throws(() => {
519
+ processor.processMessages([
520
+ {
521
+ version: 'v0.9',
522
+ updateComponents: {
523
+ surfaceId: 's1',
524
+ components: [{ component: 'Button' }],
525
+ },
526
+ },
527
+ ]);
528
+ }, /missing an 'id'/);
529
+ });
530
+ it('throws when updating data on non-existent surface', () => {
531
+ assert.throws(() => {
532
+ processor.processMessages([
533
+ {
534
+ version: 'v0.9',
535
+ updateDataModel: { surfaceId: 'unknown-s', path: '/', value: {} },
536
+ },
537
+ ]);
538
+ }, /Surface not found for message: unknown-s/);
539
+ });
540
+ it('resolves paths correctly via resolvePath', () => {
541
+ assert.strictEqual(processor.resolvePath('/foo', '/bar'), '/foo');
542
+ assert.strictEqual(processor.resolvePath('foo', '/bar'), '/bar/foo');
543
+ assert.strictEqual(processor.resolvePath('foo', '/bar/'), '/bar/foo');
544
+ assert.strictEqual(processor.resolvePath('foo'), '/foo');
545
+ });
546
+ });
547
+ //# sourceMappingURL=message-processor.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-processor.test.js","sourceRoot":"","sources":["../../../../src/v0_9/processing/message-processor.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAC,MAAM,WAAW,CAAC;AACnD,OAAO,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAC,OAAO,EAAe,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAI,SAAyC,CAAC;IAC9C,IAAI,WAAkC,CAAC;IACvC,IAAI,OAAO,GAAU,EAAE,CAAC;IAExB,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,GAAG,IAAI,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC9C,SAAS,GAAG,IAAI,gBAAgB,CAAe,CAAC,WAAW,CAAC,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;YACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;YACtE,MAAM,IAAI,GAAQ,SAAS,CAAC,qBAAqB,EAAE,CAAC;YACpD,MAAM,CAAC,WAAW,CAAE,IAAI,CAAC,MAAM,CAAS,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YACpE,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE;gBAC3B,MAAM,EAAE;oBACN,mBAAmB,EAAE,CAAC,cAAc,CAAC;iBACtC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,SAAS,GAAiB;gBAC9B,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;oBACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;iBAC/C,CAAC;aACH,CAAC;YACF,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9C,MAAM,IAAI,GAAG,IAAI,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAEzC,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,EAAC,qBAAqB,EAAE,IAAI,EAAC,CAAC,CAAC;YACvE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,cAAe,CAAC,CAAC,CAAC,CAAC;YAElD,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,YAAY,GAAG,SAAS,CAAC,UAAW,CAAC,MAAM,CAAC;YAElD,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC9B,MAAM,CAAC,WAAW,CAChB,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAC1B,0CAA0C,CAC3C,CAAC;YACF,MAAM,CAAC,WAAW,CAChB,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,EAChD,QAAQ,CACT,CAAC;YACF,MAAM,CAAC,WAAW,CAChB,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,EAClD,kBAAkB,CACnB,CAAC;YACF,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;gBACrD,WAAW;gBACX,OAAO;aACR,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,SAAS,GAAiB;gBAC9B,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;oBACf,KAAK,EAAE,CAAC;yBACL,MAAM,EAAE;yBACR,QAAQ,CAAC,sDAAsD,CAAC;iBACpE,CAAC;aACH,CAAC;YACF,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,IAAI,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAEzC,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,EAAC,qBAAqB,EAAE,IAAI,EAAC,CAAC,CAAC;YACvE,MAAM,WAAW,GACf,IAAI,CAAC,MAAM,CAAC,CAAC,cAAe,CAAC,CAAC,CAAC,CAAC,UAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU;iBACnE,KAAK,CAAC;YAEX,MAAM,CAAC,WAAW,CAChB,WAAW,CAAC,IAAI,EAChB,wCAAwC,CACzC,CAAC;YACF,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACzD,0CAA0C;YAC1C,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;YACnE,MAAM,SAAS,GAAiB;gBAC9B,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;oBACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;iBAClB,CAAC;aACH,CAAC;YACF,MAAM,KAAK,GAAG;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,QAAiB;gBAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;oBACf,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;oBACtC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;iBACxC,CAAC;gBACF,OAAO,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;aACxC,CAAC;YAEF,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;gBAC3B,YAAY,EAAE,CAAC;qBACZ,MAAM,EAAE;qBACR,QAAQ,CAAC,mDAAmD,CAAC;aACjE,CAAC,CAAC;YAEH,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC;YACvE,MAAM,IAAI,GAAG,IAAI,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAEzC,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,EAAC,qBAAqB,EAAE,IAAI,EAAC,CAAC,CAAC;YACvE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,cAAe,CAAC,CAAC,CAAC,CAAC;YAElD,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAEpD,mBAAmB;YACnB,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC/B,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACnC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC5C,MAAM,CAAC,WAAW,CAChB,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,EACtC,cAAc,CACf,CAAC;YAEF,eAAe;YACf,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC3B,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACxC,MAAM,CAAC,WAAW,CAChB,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EACjC,gCAAgC,CACjC,CAAC;YACF,MAAM,CAAC,WAAW,CAChB,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EACxC,gBAAgB,CACjB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,OAAO,GAAiB,EAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAC,CAAC;YACxE,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,IAAI,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,EAAC,qBAAqB,EAAE,IAAI,EAAC,CAAC,CAAC;YACvE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,cAAe,CAAC,CAAC,CAAC,CAAC;YAElD,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACrD,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACnD,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;YACxE,MAAM,OAAO,GAAiB;gBAC5B,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;oBACf,KAAK,EAAE,CAAC,CAAC,KAAK,CACZ,CAAC,CAAC,MAAM,CAAC;wBACP,MAAM,EAAE,CAAC;6BACN,MAAM,EAAE;6BACR,QAAQ,CACP,2DAA2D,CAC5D;qBACJ,CAAC,CACH;iBACF,CAAC;aACH,CAAC;YACF,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,IAAI,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,EAAC,qBAAqB,EAAE,IAAI,EAAC,CAAC,CAAC;YAEvE,MAAM,UAAU,GACd,IAAI,CAAC,MAAM,CAAC,CAAC,cAAe,CAAC,CAAC,CAAC,CAAC,UAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;iBAC1D,UAAU,CAAC;YAChB,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;YAE9D,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,iCAAiC,CAAC,CAAC;YACzE,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;YACtE,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;YAChE,MAAM,OAAO,GAAiB;gBAC5B,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;oBACf,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;oBAClE,SAAS,EAAE,CAAC;yBACT,MAAM,EAAE;yBACR,QAAQ,CAAC,qDAAqD,CAAC;iBACnE,CAAC;aACH,CAAC;YACF,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,IAAI,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,EAAC,qBAAqB,EAAE,IAAI,EAAC,CAAC,CAAC;YAEvE,MAAM,UAAU,GACd,IAAI,CAAC,MAAM,CAAC,CAAC,cAAe,CAAC,CAAC,CAAC,CAAC,UAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;iBAC1D,UAAU,CAAC;YAEhB,MAAM,CAAC,WAAW,CAChB,UAAU,CAAC,MAAM,CAAC,IAAI,EACtB,iCAAiC,CAClC,CAAC;YACF,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAE7D,MAAM,CAAC,WAAW,CAChB,UAAU,CAAC,SAAS,CAAC,IAAI,EACzB,oCAAoC,CACrC,CAAC;YACF,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,OAAO,GAAiB,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAC,CAAC;YACjE,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YAE7C,MAAM,KAAK,GAAG;gBACZ,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,QAAiB;gBAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;aACjB,CAAC;YACF,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,EAAC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,CAAC,CAAC;YAClD,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC;YAE5D,MAAM,IAAI,GAAG,IAAI,gBAAgB,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,EAAC,qBAAqB,EAAE,IAAI,EAAC,CAAC,CAAC;YAEvE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,cAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAE3D,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,cAAe,CAAC,CAAC,CAAC,CAAC;YACnD,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAClD,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACpD,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAEhD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,cAAe,CAAC,CAAC,CAAC,CAAC;YACnD,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAClD,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,SAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACpD,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACzB,SAAS,CAAC,eAAe,CAAC;YACxB;gBACE,OAAO,EAAE,MAAM;gBACf,aAAa,EAAE;oBACb,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,cAAc;oBACzB,KAAK,EAAE,EAAE;iBACV;aACF;SACF,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QACnB,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACrC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,SAAS,CAAC,eAAe,CAAC;YACxB;gBACE,OAAO,EAAE,MAAM;gBACf,aAAa,EAAE;oBACb,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,cAAc;oBACzB,aAAa,EAAE,IAAI;iBACpB;aACF;SACF,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,SAAS,CAAC,eAAe,CAAC;YACxB;gBACE,OAAO,EAAE,MAAM;gBACf,aAAa,EAAE;oBACb,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,cAAc;oBACzB,aAAa,EAAE,IAAI;iBACpB;aACF;YACD;gBACE,OAAO,EAAE,MAAM;gBACf,aAAa,EAAE;oBACb,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,cAAc;oBACzB,aAAa,EAAE,KAAK;iBACrB;aACF;YACD;gBACE,OAAO,EAAE,MAAM;gBACf,eAAe,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,EAAC,IAAI,EAAE,OAAO,EAAC,EAAC;aAC3D;YACD;gBACE,OAAO,EAAE,MAAM;gBACf,eAAe,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC,EAAC;aAC3D;SACF,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,SAAS,CAAC,kBAAkB,EAAE,CAAC;QACjD,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QACrB,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,EAAE;YACzC,EAAE,EAAE,EAAC,IAAI,EAAE,OAAO,EAAC;SACpB,CAAC,CAAC;QACH,MAAM,CAAC,WAAW,CAAE,SAAS,CAAC,QAAgB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gFAAgF,EAAE,GAAG,EAAE;QACxF,SAAS,CAAC,eAAe,CAAC;YACxB;gBACE,OAAO,EAAE,MAAM;gBACf,aAAa,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAC;aAC5D;SACF,CAAC,CAAC;QACH,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,kBAAkB,EAAE,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,SAAS,CAAC,eAAe,CAAC;YACxB;gBACE,OAAO,EAAE,MAAM;gBACf,aAAa,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAC;aAC5D;SACF,CAAC,CAAC;QAEH,SAAS,CAAC,eAAe,CAAC;YACxB;gBACE,OAAO,EAAE,MAAM;gBACf,gBAAgB,EAAE;oBAChB,SAAS,EAAE,IAAI;oBACf,UAAU,EAAE,CAAC,EAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAC,CAAC;iBAC7C;aACF;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,SAAS,CAAC,eAAe,CAAC;YACxB;gBACE,OAAO,EAAE,MAAM;gBACf,aAAa,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAC;aAC5D;SACF,CAAC,CAAC;QAEH,6BAA6B;QAC7B,SAAS,CAAC,eAAe,CAAC;YACxB;gBACE,OAAO,EAAE,MAAM;gBACf,gBAAgB,EAAE;oBAChB,SAAS,EAAE,IAAI;oBACf,UAAU,EAAE,CAAC,EAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAC,CAAC;iBACjE;aACF;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAErD,2BAA2B;QAC3B,SAAS,CAAC,eAAe,CAAC;YACxB;gBACE,OAAO,EAAE,MAAM;gBACf,gBAAgB,EAAE;oBAChB,SAAS,EAAE,IAAI;oBACf,UAAU,EAAE,CAAC,EAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAC,CAAC;iBACjE;aACF;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACzB,SAAS,CAAC,eAAe,CAAC;YACxB;gBACE,OAAO,EAAE,MAAM;gBACf,aAAa,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAC;aAC5D;SACF,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5C,SAAS,CAAC,eAAe,CAAC;YACxB;gBACE,OAAO,EAAE,MAAM;gBACf,aAAa,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC;aACjC;SACF,CAAC,CAAC;QACH,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,SAAS,CAAC,eAAe,CAAC;YACxB;gBACE,OAAO,EAAE,MAAM;gBACf,aAAa,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAC;aAC5D;SACF,CAAC,CAAC;QAEH,SAAS,CAAC,eAAe,CAAC;YACxB;gBACE,OAAO,EAAE,MAAM;gBACf,eAAe,EAAE;oBACf,SAAS,EAAE,IAAI;oBACf,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,KAAK;iBACb;aACF;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,IAAI,OAAO,GAAQ,IAAI,CAAC;QACxB,IAAI,SAAS,GAAkB,IAAI,CAAC;QAEpC,MAAM,GAAG,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;YACzC,OAAO,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE;YAC3C,SAAS,GAAG,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,gCAAgC;QAChC,SAAS,CAAC,eAAe,CAAC;YACxB;gBACE,OAAO,EAAE,MAAM;gBACf,aAAa,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAC;aAC5D;SACF,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QACnB,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAErC,gCAAgC;QAChC,SAAS,CAAC,eAAe,CAAC;YACxB;gBACE,OAAO,EAAE,MAAM;gBACf,aAAa,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC;aACjC;SACF,CAAC,CAAC;QACH,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAEpC,0CAA0C;QAC1C,OAAO,GAAG,IAAI,CAAC;QACf,GAAG,CAAC,WAAW,EAAE,CAAC;QAClB,SAAS,CAAC,eAAe,CAAC;YACxB;gBACE,OAAO,EAAE,MAAM;gBACf,aAAa,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAC;aAC5D;SACF,CAAC,CAAC;QACH,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAElC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,SAAS,CAAC,eAAe,CAAC;YACxB;gBACE,OAAO,EAAE,MAAM;gBACf,aAAa,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAC;aAC5D;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;YACjB,SAAS,CAAC,eAAe,CAAC;gBACxB;oBACE,OAAO,EAAE,MAAM;oBACf,gBAAgB,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAC;oBACnD,eAAe,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAC;iBAClD;aACT,CAAC,CAAC;QACL,CAAC,EAAE,wCAAwC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,SAAS,CAAC,eAAe,CAAC;YACxB;gBACE,OAAO,EAAE,MAAM;gBACf,aAAa,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAC;aAC5D;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;YACjB,SAAS,CAAC,eAAe,CAAC;gBACxB;oBACE,OAAO,EAAE,MAAM;oBACf,gBAAgB,EAAE;wBAChB,SAAS,EAAE,IAAI;wBACf,UAAU,EAAE,CAAC,EAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAQ,CAAC;qBACrD;iBACF;aACF,CAAC,CAAC;QACL,CAAC,EAAE,8CAA8C,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,SAAS,CAAC,eAAe,CAAC;YACxB;gBACE,OAAO,EAAE,MAAM;gBACf,aAAa,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAC;aAC5D;SACF,CAAC,CAAC;QAEH,SAAS,CAAC,eAAe,CAAC;YACxB;gBACE,OAAO,EAAE,MAAM;gBACf,gBAAgB,EAAE;oBAChB,SAAS,EAAE,IAAI;oBACf,UAAU,EAAE,CAAC,EAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC;iBAC/D;aACF;SACF,CAAC,CAAC;QAEH,IAAI,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,IAAI,GAAG,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEzC,uBAAuB;QACvB,SAAS,CAAC,eAAe,CAAC;YACxB;gBACE,OAAO,EAAE,MAAM;gBACf,gBAAgB,EAAE;oBAChB,SAAS,EAAE,IAAI;oBACf,UAAU,EAAE,CAAC,EAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC;iBAC7D;aACF;SACF,CAAC,CAAC;QAEH,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,GAAG,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjD,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;YACjB,SAAS,CAAC,eAAe,CAAC;gBACxB;oBACE,OAAO,EAAE,MAAM;oBACf,aAAa,EAAE;wBACb,SAAS,EAAE,IAAI;wBACf,SAAS,EAAE,iBAAiB;qBAC7B;iBACF;aACF,CAAC,CAAC;QACL,CAAC,EAAE,oCAAoC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,SAAS,CAAC,eAAe,CAAC;YACxB;gBACE,OAAO,EAAE,MAAM;gBACf,aAAa,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAC;aAC5D;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;YACjB,SAAS,CAAC,eAAe,CAAC;gBACxB;oBACE,OAAO,EAAE,MAAM;oBACf,aAAa,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAC;iBAC5D;aACF,CAAC,CAAC;QACL,CAAC,EAAE,2BAA2B,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;YACjB,SAAS,CAAC,eAAe,CAAC;gBACxB;oBACE,OAAO,EAAE,MAAM;oBACf,gBAAgB,EAAE;wBAChB,SAAS,EAAE,WAAW;wBACtB,UAAU,EAAE,EAAS;qBACtB;iBACF;aACF,CAAC,CAAC;QACL,CAAC,EAAE,0CAA0C,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,SAAS,CAAC,eAAe,CAAC;YACxB;gBACE,OAAO,EAAE,MAAM;gBACf,aAAa,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAC;aAC5D;SACF,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;YACjB,SAAS,CAAC,eAAe,CAAC;gBACxB;oBACE,OAAO,EAAE,MAAM;oBACf,gBAAgB,EAAE;wBAChB,SAAS,EAAE,IAAI;wBACf,UAAU,EAAE,CAAC,EAAC,SAAS,EAAE,QAAQ,EAAQ,CAAC;qBAC3C;iBACF;aACF,CAAC,CAAC;QACL,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;YACjB,SAAS,CAAC,eAAe,CAAC;gBACxB;oBACE,OAAO,EAAE,MAAM;oBACf,eAAe,EAAE,EAAC,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAC;iBAChE;aACF,CAAC,CAAC;QACL,CAAC,EAAE,0CAA0C,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QAClE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;QACrE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC;QACtE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Copyright 2026 Google LLC
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ /**
17
+ * A generic representation of a Signal that could come from any framework.
18
+ * For any library building on top of A2UI's web core lib, this must be
19
+ * implemented for their associated signals implementation.
20
+ */
21
+ export interface FrameworkSignal<SignalType, WriteableSignalType = SignalType> {
22
+ /**
23
+ * Create a computed signal for this framework.
24
+ */
25
+ computed<T>(fn: () => T): SignalType;
26
+ /**
27
+ * Check if an arbitrary object is a framework signal.
28
+ */
29
+ isSignal(val: unknown): val is SignalType;
30
+ /**
31
+ * Wrap the value in a signal.
32
+ */
33
+ wrap<T>(val: T): WriteableSignalType;
34
+ /**
35
+ * Extract the value from a signal.
36
+ */
37
+ unwrap<T>(val: SignalType): T;
38
+ /**
39
+ * Sets the value of the provided framework signal.
40
+ */
41
+ set<T>(signal: WriteableSignalType, value: T): void;
42
+ }
43
+ //# sourceMappingURL=signals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signals.d.ts","sourceRoot":"","sources":["../../../../src/v0_9/reactivity/signals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;GAIG;AACH,MAAM,WAAW,eAAe,CAAC,UAAU,EAAE,mBAAmB,GAAG,UAAU;IAC3E;;OAEG;IACH,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC;IAErC;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,UAAU,CAAC;IAE1C;;OAEG;IACH,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,mBAAmB,CAAC;IAErC;;OAEG;IACH,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,GAAG,CAAC,CAAC;IAE9B;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;CACrD"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Copyright 2026 Google LLC
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export {};
17
+ //# sourceMappingURL=signals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signals.js","sourceRoot":"","sources":["../../../../src/v0_9/reactivity/signals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Copyright 2026 Google LLC
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export {};
17
+ //# sourceMappingURL=signals.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signals.test.d.ts","sourceRoot":"","sources":["../../../../src/v0_9/reactivity/signals.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG"}