@blac/core 2.1.0 → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (391) hide show
  1. package/README.md +19 -29
  2. package/dist/StateContainer-BUyuxKb3.cjs +667 -0
  3. package/dist/StateContainer-BUyuxKb3.cjs.map +1 -0
  4. package/dist/StateContainer-B_7UHc3I.js +632 -0
  5. package/dist/StateContainer-B_7UHc3I.js.map +1 -0
  6. package/dist/StateContainer-Bh2ipNYj.js +632 -0
  7. package/dist/StateContainer-Bh2ipNYj.js.map +1 -0
  8. package/dist/StateContainer-ClzwKnQZ.cjs +667 -0
  9. package/dist/StateContainer-ClzwKnQZ.cjs.map +1 -0
  10. package/dist/StateContainer-CwByTd5L.js +656 -0
  11. package/dist/StateContainer-CwByTd5L.js.map +1 -0
  12. package/dist/StateContainer-D2b10eR4.cjs +691 -0
  13. package/dist/StateContainer-D2b10eR4.cjs.map +1 -0
  14. package/dist/StateContainer-DiQATvZh.js +632 -0
  15. package/dist/StateContainer-DiQATvZh.js.map +1 -0
  16. package/dist/StateContainer-j16zciex.cjs +667 -0
  17. package/dist/StateContainer-j16zciex.cjs.map +1 -0
  18. package/dist/{StateContainerRegistry-CSNm2Ws5.cjs → StateContainerRegistry-141uHhtF.cjs} +300 -397
  19. package/dist/StateContainerRegistry-141uHhtF.cjs.map +1 -0
  20. package/dist/StateContainerRegistry-B6O6cfJd.cjs +903 -0
  21. package/dist/StateContainerRegistry-B6O6cfJd.cjs.map +1 -0
  22. package/dist/{StateContainerRegistry-DVIBTxGZ.js → StateContainerRegistry-BH7aOMWV.js} +299 -406
  23. package/dist/StateContainerRegistry-BH7aOMWV.js.map +1 -0
  24. package/dist/StateContainerRegistry-BX-DlHXO.js +747 -0
  25. package/dist/StateContainerRegistry-BX-DlHXO.js.map +1 -0
  26. package/dist/StateContainerRegistry-Bf5VuVjm.js +747 -0
  27. package/dist/StateContainerRegistry-Bf5VuVjm.js.map +1 -0
  28. package/dist/{StateContainerRegistry-Dj77cok9.js → StateContainerRegistry-BsH_s0pJ.js} +303 -413
  29. package/dist/StateContainerRegistry-BsH_s0pJ.js.map +1 -0
  30. package/dist/StateContainerRegistry-BvSRfhKv.cjs +866 -0
  31. package/dist/StateContainerRegistry-BvSRfhKv.cjs.map +1 -0
  32. package/dist/StateContainerRegistry-C8jxrcqk.cjs +866 -0
  33. package/dist/StateContainerRegistry-C8jxrcqk.cjs.map +1 -0
  34. package/dist/{StateContainerRegistry-lIwo-0m3.cjs → StateContainerRegistry-CBLeHObO.cjs} +326 -418
  35. package/dist/StateContainerRegistry-CBLeHObO.cjs.map +1 -0
  36. package/dist/StateContainerRegistry-CrTtRX5V.js +772 -0
  37. package/dist/StateContainerRegistry-CrTtRX5V.js.map +1 -0
  38. package/dist/StateContainerRegistry-DjQQtlCW.cjs +870 -0
  39. package/dist/StateContainerRegistry-DjQQtlCW.cjs.map +1 -0
  40. package/dist/{StateContainerRegistry-D9BIRjwv.cjs → StateContainerRegistry-MkT0W4C2.cjs} +322 -411
  41. package/dist/StateContainerRegistry-MkT0W4C2.cjs.map +1 -0
  42. package/dist/StateContainerRegistry-gQbEutkN.js +751 -0
  43. package/dist/StateContainerRegistry-gQbEutkN.js.map +1 -0
  44. package/dist/{StateContainerRegistry-CvBOhAT2.js → StateContainerRegistry-vWgsD-RP.js} +277 -392
  45. package/dist/StateContainerRegistry-vWgsD-RP.js.map +1 -0
  46. package/dist/config.d.cts +8 -8
  47. package/dist/config.d.ts +8 -8
  48. package/dist/constants.d.cts +20 -28
  49. package/dist/constants.d.ts +20 -28
  50. package/dist/core/Cubit.d.ts +14 -10
  51. package/dist/core/StateContainer.d.ts +89 -62
  52. package/dist/core/StateContainerRegistry.d.ts +89 -166
  53. package/dist/core/meta.d.ts +37 -47
  54. package/dist/core/onActivated.d.ts +10 -0
  55. package/dist/core/symbols.d.ts +26 -1
  56. package/dist/decorators/blac.d.ts +38 -28
  57. package/dist/{acquire-B1LYXSGj.js → ensure-Bi_yXk6f.js} +16 -5
  58. package/dist/ensure-Bi_yXk6f.js.map +1 -0
  59. package/dist/{ensure-r1C_7K6_.cjs → ensure-BjhbDW8Z.cjs} +203 -160
  60. package/dist/ensure-BjhbDW8Z.cjs.map +1 -0
  61. package/dist/{ensure-BSJHkUNX.js → ensure-BnVyd6s4.js} +297 -122
  62. package/dist/ensure-BnVyd6s4.js.map +1 -0
  63. package/dist/{acquire-BZIs6tpN.cjs → ensure-Bx41d-il.cjs} +23 -6
  64. package/dist/ensure-Bx41d-il.cjs.map +1 -0
  65. package/dist/{acquire-BRIJVJaA.js → ensure-C7UQ_mKM.js} +16 -5
  66. package/dist/ensure-C7UQ_mKM.js.map +1 -0
  67. package/dist/{ensure-B59ri8oo.js → ensure-CneMkpbI.js} +298 -122
  68. package/dist/ensure-CneMkpbI.js.map +1 -0
  69. package/dist/{acquire-BdsVZBSe.js → ensure-CwtQVTam.js} +16 -5
  70. package/dist/ensure-CwtQVTam.js.map +1 -0
  71. package/dist/{ensure-B2DYCbbI.cjs → ensure-D15vGnk5.cjs} +328 -123
  72. package/dist/ensure-D15vGnk5.cjs.map +1 -0
  73. package/dist/{acquire-B1Wuqla6.cjs → ensure-D1D4WjYf.cjs} +23 -6
  74. package/dist/ensure-D1D4WjYf.cjs.map +1 -0
  75. package/dist/{ensure-BKdq5xsY.cjs → ensure-D3w6YGp9.cjs} +329 -123
  76. package/dist/ensure-D3w6YGp9.cjs.map +1 -0
  77. package/dist/{acquire-BJ3xUEmh.cjs → ensure-DBnuRJ0R.cjs} +23 -6
  78. package/dist/ensure-DBnuRJ0R.cjs.map +1 -0
  79. package/dist/{acquire-B_p1fNEh.cjs → ensure-DShrbIYY.cjs} +23 -6
  80. package/dist/ensure-DShrbIYY.cjs.map +1 -0
  81. package/dist/{acquire-BP-ZfUH2.js → ensure-NTB9nnnj.js} +16 -5
  82. package/dist/ensure-NTB9nnnj.js.map +1 -0
  83. package/dist/{ensure-D3WWWwMo.cjs → ensure-ORVw-WRE.cjs} +194 -155
  84. package/dist/ensure-ORVw-WRE.cjs.map +1 -0
  85. package/dist/{ensure-BEeY5Ab7.js → ensure-dsqWhIuO.js} +182 -147
  86. package/dist/ensure-dsqWhIuO.js.map +1 -0
  87. package/dist/{ensure-11-asM1e.js → ensure-k-6q7O25.js} +173 -150
  88. package/dist/ensure-k-6q7O25.js.map +1 -0
  89. package/dist/index.cjs +257 -86
  90. package/dist/index.cjs.map +1 -1
  91. package/dist/index.d.cts +6 -13
  92. package/dist/index.d.ts +6 -13
  93. package/dist/index.js +232 -52
  94. package/dist/index.js.map +1 -1
  95. package/dist/internal.cjs +10 -0
  96. package/dist/internal.d.cts +8 -0
  97. package/dist/internal.d.ts +8 -0
  98. package/dist/internal.js +3 -0
  99. package/dist/plugin/BlacPlugin.d.ts +25 -25
  100. package/dist/plugin/PluginManager.d.ts +46 -59
  101. package/dist/plugins.cjs +383 -3
  102. package/dist/plugins.cjs.map +1 -0
  103. package/dist/plugins.d.cts +10 -5
  104. package/dist/plugins.d.ts +10 -5
  105. package/dist/plugins.js +381 -1
  106. package/dist/plugins.js.map +1 -0
  107. package/dist/registry/acquire.d.ts +2 -2
  108. package/dist/registry/config.d.ts +12 -0
  109. package/dist/registry/index.d.ts +2 -2
  110. package/dist/registry/management.d.ts +5 -0
  111. package/dist/registry/queries.d.ts +15 -0
  112. package/dist/registry/release.d.ts +4 -20
  113. package/dist/testing.cjs +63 -38
  114. package/dist/testing.cjs.map +1 -1
  115. package/dist/testing.d.cts +14 -12
  116. package/dist/testing.d.ts +14 -12
  117. package/dist/testing.js +53 -29
  118. package/dist/testing.js.map +1 -1
  119. package/dist/types/branded.d.ts +6 -13
  120. package/dist/types/utilities.d.ts +40 -31
  121. package/dist/utils/idGenerator.d.ts +6 -13
  122. package/dist/utils/static-props.d.ts +28 -29
  123. package/dist/utils/structural-key.d.ts +0 -22
  124. package/dist/watch/index.d.ts +1 -2
  125. package/dist/watch/watch.d.ts +23 -3
  126. package/package.json +28 -54
  127. package/dist/StateContainerRegistry-4Ljd9EJx.js +0 -1018
  128. package/dist/StateContainerRegistry-4Ljd9EJx.js.map +0 -1
  129. package/dist/StateContainerRegistry-8zNFMAf7.js +0 -1067
  130. package/dist/StateContainerRegistry-8zNFMAf7.js.map +0 -1
  131. package/dist/StateContainerRegistry-B1GYx9Xo.js +0 -975
  132. package/dist/StateContainerRegistry-B1GYx9Xo.js.map +0 -1
  133. package/dist/StateContainerRegistry-B_ViBLvJ.js +0 -975
  134. package/dist/StateContainerRegistry-B_ViBLvJ.js.map +0 -1
  135. package/dist/StateContainerRegistry-Bx2ly-ba.cjs +0 -1162
  136. package/dist/StateContainerRegistry-Bx2ly-ba.cjs.map +0 -1
  137. package/dist/StateContainerRegistry-C0dCNlTF.js +0 -1005
  138. package/dist/StateContainerRegistry-C0dCNlTF.js.map +0 -1
  139. package/dist/StateContainerRegistry-C75QpeaO.cjs +0 -1260
  140. package/dist/StateContainerRegistry-C75QpeaO.cjs.map +0 -1
  141. package/dist/StateContainerRegistry-CEWpc1bj.cjs +0 -1113
  142. package/dist/StateContainerRegistry-CEWpc1bj.cjs.map +0 -1
  143. package/dist/StateContainerRegistry-CS18y4au.cjs +0 -1163
  144. package/dist/StateContainerRegistry-CS18y4au.cjs.map +0 -1
  145. package/dist/StateContainerRegistry-CSNm2Ws5.cjs.map +0 -1
  146. package/dist/StateContainerRegistry-CchRjnjX.cjs +0 -1094
  147. package/dist/StateContainerRegistry-CchRjnjX.cjs.map +0 -1
  148. package/dist/StateContainerRegistry-CvBOhAT2.js.map +0 -1
  149. package/dist/StateContainerRegistry-D8nu7Z0T.js +0 -1068
  150. package/dist/StateContainerRegistry-D8nu7Z0T.js.map +0 -1
  151. package/dist/StateContainerRegistry-D9BIRjwv.cjs.map +0 -1
  152. package/dist/StateContainerRegistry-DJQqLrli.cjs +0 -1046
  153. package/dist/StateContainerRegistry-DJQqLrli.cjs.map +0 -1
  154. package/dist/StateContainerRegistry-DL5Ai7wh.js +0 -1153
  155. package/dist/StateContainerRegistry-DL5Ai7wh.js.map +0 -1
  156. package/dist/StateContainerRegistry-DVIBTxGZ.js.map +0 -1
  157. package/dist/StateContainerRegistry-DWOzx7Gd.js +0 -1154
  158. package/dist/StateContainerRegistry-DWOzx7Gd.js.map +0 -1
  159. package/dist/StateContainerRegistry-Dj77cok9.js.map +0 -1
  160. package/dist/StateContainerRegistry-FWKzPfS-.cjs +0 -1046
  161. package/dist/StateContainerRegistry-FWKzPfS-.cjs.map +0 -1
  162. package/dist/StateContainerRegistry-G81GcCRm.cjs +0 -1261
  163. package/dist/StateContainerRegistry-G81GcCRm.cjs.map +0 -1
  164. package/dist/StateContainerRegistry-lIwo-0m3.cjs.map +0 -1
  165. package/dist/acquire-B1LYXSGj.js.map +0 -1
  166. package/dist/acquire-B1Wuqla6.cjs.map +0 -1
  167. package/dist/acquire-BJ3xUEmh.cjs.map +0 -1
  168. package/dist/acquire-BP-ZfUH2.js.map +0 -1
  169. package/dist/acquire-BRIJVJaA.js.map +0 -1
  170. package/dist/acquire-BZIs6tpN.cjs.map +0 -1
  171. package/dist/acquire-B_p1fNEh.cjs.map +0 -1
  172. package/dist/acquire-BdsVZBSe.js.map +0 -1
  173. package/dist/acquire-C3nOb3XR.cjs +0 -46
  174. package/dist/acquire-C3nOb3XR.cjs.map +0 -1
  175. package/dist/acquire-C4WAS13G.cjs +0 -46
  176. package/dist/acquire-C4WAS13G.cjs.map +0 -1
  177. package/dist/acquire-C7beGI55.cjs +0 -46
  178. package/dist/acquire-C7beGI55.cjs.map +0 -1
  179. package/dist/acquire-CE0uq0Dx.cjs +0 -46
  180. package/dist/acquire-CE0uq0Dx.cjs.map +0 -1
  181. package/dist/acquire-CU0u8BMn.js +0 -35
  182. package/dist/acquire-CU0u8BMn.js.map +0 -1
  183. package/dist/acquire-CbMz7gWs.cjs +0 -46
  184. package/dist/acquire-CbMz7gWs.cjs.map +0 -1
  185. package/dist/acquire-CkgLJ8WL.cjs +0 -46
  186. package/dist/acquire-CkgLJ8WL.cjs.map +0 -1
  187. package/dist/acquire-CwB083au.js +0 -35
  188. package/dist/acquire-CwB083au.js.map +0 -1
  189. package/dist/acquire-DHEOEVcj.cjs +0 -46
  190. package/dist/acquire-DHEOEVcj.cjs.map +0 -1
  191. package/dist/acquire-DTvfYJ0y.js +0 -35
  192. package/dist/acquire-DTvfYJ0y.js.map +0 -1
  193. package/dist/acquire-DXEQDZGr.js +0 -35
  194. package/dist/acquire-DXEQDZGr.js.map +0 -1
  195. package/dist/acquire-Dg-uXwjF.js +0 -35
  196. package/dist/acquire-Dg-uXwjF.js.map +0 -1
  197. package/dist/acquire-Don7499S.js +0 -35
  198. package/dist/acquire-Don7499S.js.map +0 -1
  199. package/dist/acquire-G8aB3GAx.js +0 -35
  200. package/dist/acquire-G8aB3GAx.js.map +0 -1
  201. package/dist/branded-BybA0_xw.cjs +0 -18
  202. package/dist/branded-BybA0_xw.cjs.map +0 -1
  203. package/dist/branded-DkbUzncc.js +0 -13
  204. package/dist/branded-DkbUzncc.js.map +0 -1
  205. package/dist/config-8pyOC5gv.js +0 -16
  206. package/dist/config-8pyOC5gv.js.map +0 -1
  207. package/dist/config-B1l8ZGlU.cjs +0 -32
  208. package/dist/config-B1l8ZGlU.cjs.map +0 -1
  209. package/dist/config-C1T6Jw7n.cjs +0 -32
  210. package/dist/config-C1T6Jw7n.cjs.map +0 -1
  211. package/dist/config-C7Ktkjh2.cjs +0 -32
  212. package/dist/config-C7Ktkjh2.cjs.map +0 -1
  213. package/dist/config-COT4Xkbc.js +0 -16
  214. package/dist/config-COT4Xkbc.js.map +0 -1
  215. package/dist/config-CzcoAvBo.js +0 -16
  216. package/dist/config-CzcoAvBo.js.map +0 -1
  217. package/dist/config-D2A8ZYRM.js +0 -16
  218. package/dist/config-D2A8ZYRM.js.map +0 -1
  219. package/dist/config-D34BkraU.cjs +0 -32
  220. package/dist/config-D34BkraU.cjs.map +0 -1
  221. package/dist/config-D6BoWWPv.js +0 -16
  222. package/dist/config-D6BoWWPv.js.map +0 -1
  223. package/dist/config-DOO82lbZ.js +0 -16
  224. package/dist/config-DOO82lbZ.js.map +0 -1
  225. package/dist/config-DVM_ESQt.js +0 -16
  226. package/dist/config-DVM_ESQt.js.map +0 -1
  227. package/dist/config-DVMnlHLv.cjs +0 -32
  228. package/dist/config-DVMnlHLv.cjs.map +0 -1
  229. package/dist/config-DWUq7zEQ.cjs +0 -32
  230. package/dist/config-DWUq7zEQ.cjs.map +0 -1
  231. package/dist/config-DXI3kzmA.js +0 -16
  232. package/dist/config-DXI3kzmA.js.map +0 -1
  233. package/dist/config-Dk1FxfXj.js +0 -16
  234. package/dist/config-Dk1FxfXj.js.map +0 -1
  235. package/dist/config-ZVy_yFZ3.js +0 -16
  236. package/dist/config-ZVy_yFZ3.js.map +0 -1
  237. package/dist/config-b2z51Y_C.cjs +0 -32
  238. package/dist/config-b2z51Y_C.cjs.map +0 -1
  239. package/dist/config-buwpT7l3.js +0 -16
  240. package/dist/config-buwpT7l3.js.map +0 -1
  241. package/dist/config-cwaTn5oy.cjs +0 -32
  242. package/dist/config-cwaTn5oy.cjs.map +0 -1
  243. package/dist/config-d9_U58ef.cjs +0 -32
  244. package/dist/config-d9_U58ef.cjs.map +0 -1
  245. package/dist/config-hWTayX76.cjs +0 -32
  246. package/dist/config-hWTayX76.cjs.map +0 -1
  247. package/dist/config-sCPKPYxZ.cjs +0 -32
  248. package/dist/config-sCPKPYxZ.cjs.map +0 -1
  249. package/dist/debug.cjs +0 -14
  250. package/dist/debug.d.cts +0 -34
  251. package/dist/debug.d.ts +0 -34
  252. package/dist/debug.js +0 -4
  253. package/dist/ensure-11-asM1e.js.map +0 -1
  254. package/dist/ensure-B1dEDsZV.cjs +0 -559
  255. package/dist/ensure-B1dEDsZV.cjs.map +0 -1
  256. package/dist/ensure-B2DYCbbI.cjs.map +0 -1
  257. package/dist/ensure-B59ri8oo.js.map +0 -1
  258. package/dist/ensure-B9oOqpOB.cjs +0 -558
  259. package/dist/ensure-B9oOqpOB.cjs.map +0 -1
  260. package/dist/ensure-BEeY5Ab7.js.map +0 -1
  261. package/dist/ensure-BKdq5xsY.cjs.map +0 -1
  262. package/dist/ensure-BSJHkUNX.js.map +0 -1
  263. package/dist/ensure-BfYnvAsI.js +0 -709
  264. package/dist/ensure-BfYnvAsI.js.map +0 -1
  265. package/dist/ensure-Bm91o37h.js +0 -536
  266. package/dist/ensure-Bm91o37h.js.map +0 -1
  267. package/dist/ensure-C1a8IFWy.js +0 -535
  268. package/dist/ensure-C1a8IFWy.js.map +0 -1
  269. package/dist/ensure-CLQEx0Nn.cjs +0 -528
  270. package/dist/ensure-CLQEx0Nn.cjs.map +0 -1
  271. package/dist/ensure-CPMiGvov.js +0 -493
  272. package/dist/ensure-CPMiGvov.js.map +0 -1
  273. package/dist/ensure-CQimeD0I.cjs +0 -559
  274. package/dist/ensure-CQimeD0I.cjs.map +0 -1
  275. package/dist/ensure-D3WWWwMo.cjs.map +0 -1
  276. package/dist/ensure-DEXSmA-N.js +0 -526
  277. package/dist/ensure-DEXSmA-N.js.map +0 -1
  278. package/dist/ensure-DTTTd2h8.js +0 -536
  279. package/dist/ensure-DTTTd2h8.js.map +0 -1
  280. package/dist/ensure-Dx86f80B.cjs +0 -567
  281. package/dist/ensure-Dx86f80B.cjs.map +0 -1
  282. package/dist/ensure-DzqGej43.js +0 -526
  283. package/dist/ensure-DzqGej43.js.map +0 -1
  284. package/dist/ensure-VuiNPccZ.cjs +0 -559
  285. package/dist/ensure-VuiNPccZ.cjs.map +0 -1
  286. package/dist/ensure-_Oh8XPm4.cjs +0 -732
  287. package/dist/ensure-_Oh8XPm4.cjs.map +0 -1
  288. package/dist/ensure-fsQMjaQL.cjs +0 -567
  289. package/dist/ensure-fsQMjaQL.cjs.map +0 -1
  290. package/dist/ensure-r1C_7K6_.cjs.map +0 -1
  291. package/dist/ensure-vxAGa2v3.js +0 -536
  292. package/dist/ensure-vxAGa2v3.js.map +0 -1
  293. package/dist/events.d.cts +0 -42
  294. package/dist/events.d.ts +0 -42
  295. package/dist/management-14vsHr4t.cjs +0 -85
  296. package/dist/management-14vsHr4t.cjs.map +0 -1
  297. package/dist/management-444tdCBG.js +0 -38
  298. package/dist/management-444tdCBG.js.map +0 -1
  299. package/dist/management-7jLjVHJd.js +0 -38
  300. package/dist/management-7jLjVHJd.js.map +0 -1
  301. package/dist/management-8x1OVMi6.js +0 -38
  302. package/dist/management-8x1OVMi6.js.map +0 -1
  303. package/dist/management-AFuqQEwz.js +0 -38
  304. package/dist/management-AFuqQEwz.js.map +0 -1
  305. package/dist/management-BZgsi29F.js +0 -38
  306. package/dist/management-BZgsi29F.js.map +0 -1
  307. package/dist/management-BodVLAfJ.cjs +0 -85
  308. package/dist/management-BodVLAfJ.cjs.map +0 -1
  309. package/dist/management-BqGBdL01.js +0 -38
  310. package/dist/management-BqGBdL01.js.map +0 -1
  311. package/dist/management-BvUAjril.js +0 -38
  312. package/dist/management-BvUAjril.js.map +0 -1
  313. package/dist/management-C-WGcwPD.js +0 -38
  314. package/dist/management-C-WGcwPD.js.map +0 -1
  315. package/dist/management-C2wv4vGS.cjs +0 -85
  316. package/dist/management-C2wv4vGS.cjs.map +0 -1
  317. package/dist/management-D2pjr38g.js +0 -38
  318. package/dist/management-D2pjr38g.js.map +0 -1
  319. package/dist/management-D5WsZoTV.js +0 -38
  320. package/dist/management-D5WsZoTV.js.map +0 -1
  321. package/dist/management-DAV9sN-k.cjs +0 -85
  322. package/dist/management-DAV9sN-k.cjs.map +0 -1
  323. package/dist/management-Df7Y2sF1.cjs +0 -85
  324. package/dist/management-Df7Y2sF1.cjs.map +0 -1
  325. package/dist/management-Dg2SxUb6.cjs +0 -85
  326. package/dist/management-Dg2SxUb6.cjs.map +0 -1
  327. package/dist/management-DwO0nBzL.cjs +0 -85
  328. package/dist/management-DwO0nBzL.cjs.map +0 -1
  329. package/dist/management-GcnNJjnm.cjs +0 -85
  330. package/dist/management-GcnNJjnm.cjs.map +0 -1
  331. package/dist/management-P_Vi_cvw.js +0 -38
  332. package/dist/management-P_Vi_cvw.js.map +0 -1
  333. package/dist/management-QWLpbXlW.cjs +0 -85
  334. package/dist/management-QWLpbXlW.cjs.map +0 -1
  335. package/dist/management-hkY13log.cjs +0 -85
  336. package/dist/management-hkY13log.cjs.map +0 -1
  337. package/dist/management-iE4x6IQY.cjs +0 -85
  338. package/dist/management-iE4x6IQY.cjs.map +0 -1
  339. package/dist/types.cjs +0 -3
  340. package/dist/types.d.cts +0 -8
  341. package/dist/types.d.ts +0 -8
  342. package/dist/types.js +0 -2
  343. package/dist/watch/observe.d.ts +0 -13
  344. package/dist/watch-B0pUfh-v.cjs +0 -119
  345. package/dist/watch-B0pUfh-v.cjs.map +0 -1
  346. package/dist/watch-B91opmva.cjs +0 -70
  347. package/dist/watch-B91opmva.cjs.map +0 -1
  348. package/dist/watch-BDiwCPmb.js +0 -108
  349. package/dist/watch-BDiwCPmb.js.map +0 -1
  350. package/dist/watch-BHfCtbn1.cjs +0 -119
  351. package/dist/watch-BHfCtbn1.cjs.map +0 -1
  352. package/dist/watch-BW7gYiDf.js +0 -108
  353. package/dist/watch-BW7gYiDf.js.map +0 -1
  354. package/dist/watch-BmC-Tyqg.js +0 -59
  355. package/dist/watch-BmC-Tyqg.js.map +0 -1
  356. package/dist/watch-Bx0y-Kcc.js +0 -108
  357. package/dist/watch-Bx0y-Kcc.js.map +0 -1
  358. package/dist/watch-CKWt788i.cjs +0 -70
  359. package/dist/watch-CKWt788i.cjs.map +0 -1
  360. package/dist/watch-CfrSSrRY.js +0 -59
  361. package/dist/watch-CfrSSrRY.js.map +0 -1
  362. package/dist/watch-Cnh3PtQA.cjs +0 -70
  363. package/dist/watch-Cnh3PtQA.cjs.map +0 -1
  364. package/dist/watch-D01MdwKy.js +0 -108
  365. package/dist/watch-D01MdwKy.js.map +0 -1
  366. package/dist/watch-D8hwbFU1.js +0 -59
  367. package/dist/watch-D8hwbFU1.js.map +0 -1
  368. package/dist/watch-DPVUwPUY.js +0 -59
  369. package/dist/watch-DPVUwPUY.js.map +0 -1
  370. package/dist/watch-DVmvZBMD.cjs +0 -70
  371. package/dist/watch-DVmvZBMD.cjs.map +0 -1
  372. package/dist/watch-DkDGmGAx.cjs +0 -119
  373. package/dist/watch-DkDGmGAx.cjs.map +0 -1
  374. package/dist/watch-DttHqefn.js +0 -108
  375. package/dist/watch-DttHqefn.js.map +0 -1
  376. package/dist/watch-DxdIZjpt.cjs +0 -119
  377. package/dist/watch-DxdIZjpt.cjs.map +0 -1
  378. package/dist/watch-DztcJuUy.cjs +0 -119
  379. package/dist/watch-DztcJuUy.cjs.map +0 -1
  380. package/dist/watch-IrR8G28N.js +0 -108
  381. package/dist/watch-IrR8G28N.js.map +0 -1
  382. package/dist/watch-aoNLQAXp.cjs +0 -119
  383. package/dist/watch-aoNLQAXp.cjs.map +0 -1
  384. package/dist/watch-entry.cjs +0 -4
  385. package/dist/watch-entry.d.cts +0 -24
  386. package/dist/watch-entry.d.ts +0 -24
  387. package/dist/watch-entry.js +0 -2
  388. package/dist/watch-hx0r92Zc.js +0 -108
  389. package/dist/watch-hx0r92Zc.js.map +0 -1
  390. package/dist/watch-lEco5Tbl.cjs +0 -119
  391. package/dist/watch-lEco5Tbl.cjs.map +0 -1
@@ -1,21 +1,14 @@
1
1
  /**
2
- * Centralized ID Generation
2
+ * Build an instance id: `${prefix}:${affix}` when an affix is given (the
3
+ * registry passes the instance key), otherwise `${prefix}:${timestamp}_${random}`.
3
4
  *
4
- * Provides consistent, collision-resistant ID generation for all BlaC subsystems.
5
- * Uses timestamp + counter + random suffix for uniqueness.
6
- */
7
- /**
8
- * Generate simple ID with timestamp and random (no counter tracking)
9
- *
10
- * Format: `${prefix}:${timestamp}_${random}`
11
- *
12
- * @param prefix - Prefix for the ID
13
- * @returns Branded ID string
5
+ * Ids are not unique: same-named classes share an id for the same affix, and
6
+ * the lazy `$blac.id` of an unregistered instance is always `${prefix}:main`.
14
7
  *
15
8
  * @example
16
9
  * ```ts
17
- * const id = generateSimpleId('CounterBloc');
18
- * // Returns: "CounterBloc:1698765432100_a3k9d7f2q"
10
+ * generateSimpleId('CounterBloc', 'default'); // "CounterBloc:default"
11
+ * generateSimpleId('CounterBloc'); // "CounterBloc:1698765432100_a3k9d7f2q"
19
12
  * ```
20
13
  */
21
14
  export declare function generateSimpleId(prefix: string, affix?: string): string;
@@ -1,47 +1,46 @@
1
- /**
2
- * Utility functions for accessing static properties on StateContainer classes
3
- */
4
1
  import type { EqualityFn } from '../config';
5
2
  import { StateContainerConstructor } from '../types/utilities';
6
3
  /**
7
- * Get a static property from a class constructor
8
- * Type-safe helper that avoids (Type as any) casts
9
- *
10
- * @param Type - The class constructor
11
- * @param propName - The property name to access
12
- * @param defaultValue - Optional default value if property is undefined
13
- * @returns The property value or default
4
+ * Get a static property from a class constructor, walking the prototype
5
+ * chain so subclasses inherit the value unless they define their own.
14
6
  */
15
- export declare function getStaticProp<V, T extends StateContainerConstructor = StateContainerConstructor>(Type: T, propName: string, defaultValue?: V): V | undefined;
7
+ export declare function getStaticProp<V, T extends StateContainerConstructor = StateContainerConstructor>(Type: T, propName: string): V | undefined;
16
8
  /**
17
- * Check if a class is marked as keepAlive.
18
- * KeepAlive classes are never auto-disposed when ref count reaches 0.
19
- * @param Type - The class constructor to check
20
- * @returns true if the class has `static keepAlive = true`
9
+ * Get a static property declared directly on `Type`, ignoring the prototype
10
+ * chain, so subclasses never inherit a base class's value.
11
+ */
12
+ export declare function getOwnStaticProp<V, T extends StateContainerConstructor = StateContainerConstructor>(Type: T, propName: string): V | undefined;
13
+ /**
14
+ * Whether a class is marked `keepAlive` (never auto-disposed at ref count 0).
15
+ * Inherited: a subclass keeps a base class's `keepAlive` unless overridden.
21
16
  */
22
17
  export declare function isKeepAliveClass<T extends StateContainerConstructor>(Type: T): boolean;
23
18
  /**
24
- * Check if a class should be excluded from DevTools.
25
- * Used to prevent infinite loops when DevTools tracks itself.
26
- * @param Type - The class constructor to check
27
- * @returns true if the class has `static __excludeFromDevTools = true`
19
+ * Whether a class is marked `isolated` (each `useBloc` mount gets its own
20
+ * instance). Inherited: a subclass keeps a base class's `isolated` unless
21
+ * overridden.
22
+ */
23
+ export declare function isIsolatedClass<T extends StateContainerConstructor>(Type: T): boolean;
24
+ /**
25
+ * Whether a class is excluded from DevTools (avoids DevTools tracking itself
26
+ * into an infinite loop). Inherited unless overridden by a subclass.
28
27
  */
29
28
  export declare function isExcludedFromDevTools<T extends StateContainerConstructor>(Type: T): boolean;
30
29
  /**
31
30
  * Get the per-class equality function set via `@blac({ equality })`, if any.
32
- * @param Type - The class constructor to check
33
- * @returns the equality function or `undefined`
31
+ * Inherited: a subclass keeps a base class's equality fn unless overridden.
34
32
  */
35
33
  export declare function getClassEquality<T extends StateContainerConstructor>(Type: T): EqualityFn | undefined;
36
34
  /**
37
- * Get the per-class key function set via `@blac({ key })` or `static key = …`, if any.
38
- * Used by the registry to derive a stable instance key from `args`.
39
- * @param Type - The class constructor to check
40
- * @returns the key function or `undefined`
35
+ * Get a class's minification-safe identity name (`static blacName`), falling
36
+ * back to `Type.name`. Own only: a subclass never inherits a base class's
37
+ * explicit `blacName`, since that would collapse two distinct blocs onto one
38
+ * identity.
41
39
  */
42
- export declare function getClassKey(Type: unknown): ((args: any) => string) | undefined;
40
+ export declare function getBlacName<T extends StateContainerConstructor>(Type: T): string;
43
41
  /**
44
- * Check if a class is marked as always-per-mount.
45
- * @returns true if the class has `static isolated = true`
42
+ * Get the per-class key function set via `@blac({ key })` or `static key = …`.
43
+ * Own only: a subclass never inherits a base class's `key`, since a
44
+ * different `Args` shape would derive the wrong instance key.
46
45
  */
47
- export declare function isIsolatedClass<T extends StateContainerConstructor>(Type: T): boolean;
46
+ export declare function getClassKey(Type: unknown): ((args: any) => string) | undefined;
@@ -1,24 +1,2 @@
1
- /**
2
- * Deterministic, order-independent hash of serializable args.
3
- * Sorts object keys so {a,b} === {b,a}.
4
- *
5
- * - Functions throw a friendly `[blac]` error — they must be passed via `deps`.
6
- * - `Date` (and anything else with a `toJSON`) serializes via that `toJSON`
7
- * (e.g. as an ISO string), since `JSON.stringify` calls it before the
8
- * replacer ever sees the value — there's no cheap way to guard against
9
- * non-plain objects here.
10
- * - `BigInt` and circular args throw `JSON.stringify`'s own raw `TypeError`,
11
- * not the friendly `[blac]` message.
12
- * - `undefined` values inside objects are preserved via a reserved sentinel
13
- * (rather than being dropped, which is `JSON.stringify`'s default and would
14
- * let structurally different args collide on the same key).
15
- */
16
1
  export declare const DEFAULT_STRUCTURAL_KEY = "default";
17
- /**
18
- * Produce a stable string key for serializable args.
19
- * - `undefined` / `void` args → `'default'` sentinel (no-args blocs stay on the default key).
20
- * - Object keys are sorted for order-independence.
21
- * - Arrays keep their insertion order.
22
- * - Functions throw — they must be passed via `deps`, not `args`.
23
- */
24
2
  export declare function structuralKey(args: unknown): string;
@@ -1,3 +1,2 @@
1
1
  export { watch, instance } from './watch';
2
- export type { WatchFn, BlocRef } from './watch';
3
- export { observe } from './observe';
2
+ export type { WatchFn, WatchOptions, BlocRef } from './watch';
@@ -31,6 +31,26 @@ export interface BlocRef<T extends StateContainerConstructor> {
31
31
  */
32
32
  export declare function instance<T extends StateContainerConstructor>(BlocClass: T, args?: ExtractArgs<T>): BlocRef<T>;
33
33
  type BlocInput = StateContainerConstructor | BlocRef<StateContainerConstructor>;
34
+ /**
35
+ * Options for `watch`.
36
+ */
37
+ export interface WatchOptions {
38
+ /**
39
+ * When `false`, `watch` observes passively: it neither creates a missing
40
+ * instance nor takes a real ownership ref on an existing one. If the
41
+ * instance does not exist yet, the callback simply never fires — `watch`
42
+ * does not poll; call it again once the instance exists.
43
+ *
44
+ * Defaults to `true`.
45
+ */
46
+ create?: boolean;
47
+ /**
48
+ * Stops the watch when aborted, equivalent to calling the returned stop
49
+ * function. An already-aborted signal returns a no-op stop without
50
+ * creating or acquiring anything.
51
+ */
52
+ signal?: AbortSignal;
53
+ }
34
54
  type ExtractInstance<T> = T extends BlocRef<infer C> ? InstanceType<C> : T extends StateContainerConstructor ? InstanceType<T> : never;
35
55
  type ExtractInstances<T extends readonly BlocInput[]> = {
36
56
  [K in keyof T]: ExtractInstance<T[K]>;
@@ -39,21 +59,21 @@ type ExtractInstances<T extends readonly BlocInput[]> = {
39
59
  * Watch function signature for single bloc.
40
60
  */
41
61
  export interface WatchSingleFn {
42
- <T extends StateContainerConstructor>(bloc: T | BlocRef<T>, callback: (bloc: InstanceType<T>) => void | StopSymbol): () => void;
62
+ <T extends StateContainerConstructor>(bloc: T | BlocRef<T>, callback: (bloc: InstanceType<T>) => void | StopSymbol, options?: WatchOptions): () => void;
43
63
  STOP: StopSymbol;
44
64
  }
45
65
  /**
46
66
  * Watch function signature for multiple blocs.
47
67
  */
48
68
  export interface WatchMultipleFn {
49
- <T extends readonly BlocInput[]>(blocs: T, callback: (blocs: ExtractInstances<T>) => void | StopSymbol): () => void;
69
+ <T extends readonly BlocInput[]>(blocs: T, callback: (blocs: ExtractInstances<T>) => void | StopSymbol, options?: WatchOptions): () => void;
50
70
  STOP: StopSymbol;
51
71
  }
52
72
  /**
53
73
  * Combined watch function type.
54
74
  */
55
75
  export interface WatchFn extends WatchSingleFn {
56
- <T extends readonly BlocInput[]>(blocs: T, callback: (blocs: ExtractInstances<T>) => void | StopSymbol): () => void;
76
+ <T extends readonly BlocInput[]>(blocs: T, callback: (blocs: ExtractInstances<T>) => void | StopSymbol, options?: WatchOptions): () => void;
57
77
  }
58
78
  export declare const watch: WatchFn;
59
79
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blac/core",
3
- "version": "2.1.0",
3
+ "version": "2.1.2",
4
4
  "license": "MIT",
5
5
  "author": "Brendan Mullins <jsnanigans@gmail.com>",
6
6
  "description": "Type-safe, class-based state management with proxy tracking and plugin system",
@@ -22,17 +22,11 @@
22
22
  "testing": [
23
23
  "./dist/testing.d.ts"
24
24
  ],
25
- "debug": [
26
- "./dist/debug.d.ts"
27
- ],
28
25
  "plugins": [
29
26
  "./dist/plugins.d.ts"
30
27
  ],
31
- "watch": [
32
- "./dist/watch-entry.d.ts"
33
- ],
34
- "types": [
35
- "./dist/types.d.ts"
28
+ "internal": [
29
+ "./dist/internal.d.ts"
36
30
  ]
37
31
  }
38
32
  },
@@ -47,16 +41,6 @@
47
41
  "default": "./dist/index.cjs"
48
42
  }
49
43
  },
50
- "./debug": {
51
- "import": {
52
- "types": "./dist/debug.d.ts",
53
- "default": "./dist/debug.js"
54
- },
55
- "require": {
56
- "types": "./dist/debug.d.cts",
57
- "default": "./dist/debug.cjs"
58
- }
59
- },
60
44
  "./plugins": {
61
45
  "import": {
62
46
  "types": "./dist/plugins.d.ts",
@@ -67,26 +51,6 @@
67
51
  "default": "./dist/plugins.cjs"
68
52
  }
69
53
  },
70
- "./watch": {
71
- "import": {
72
- "types": "./dist/watch-entry.d.ts",
73
- "default": "./dist/watch-entry.js"
74
- },
75
- "require": {
76
- "types": "./dist/watch-entry.d.cts",
77
- "default": "./dist/watch-entry.cjs"
78
- }
79
- },
80
- "./types": {
81
- "import": {
82
- "types": "./dist/types.d.ts",
83
- "default": "./dist/types.js"
84
- },
85
- "require": {
86
- "types": "./dist/types.d.cts",
87
- "default": "./dist/types.cjs"
88
- }
89
- },
90
54
  "./testing": {
91
55
  "import": {
92
56
  "types": "./dist/testing.d.ts",
@@ -96,6 +60,16 @@
96
60
  "types": "./dist/testing.d.cts",
97
61
  "default": "./dist/testing.cjs"
98
62
  }
63
+ },
64
+ "./internal": {
65
+ "import": {
66
+ "types": "./dist/internal.d.ts",
67
+ "default": "./dist/internal.js"
68
+ },
69
+ "require": {
70
+ "types": "./dist/internal.d.cts",
71
+ "default": "./dist/internal.cjs"
72
+ }
99
73
  }
100
74
  },
101
75
  "files": [
@@ -118,27 +92,26 @@
118
92
  {
119
93
  "name": "@blac/core (ESM, brotli)",
120
94
  "path": "dist/index.js",
121
- "limit": "9.2 kB"
95
+ "limit": "15 kB"
122
96
  }
123
97
  ],
124
98
  "dependencies": {
125
- "@dirtytalk/structural": "^0.0.9"
99
+ "@dirtytalk/structural": "^0.1.4"
126
100
  },
127
101
  "devDependencies": {
128
- "@size-limit/preset-small-lib": "^11.1.6",
129
- "size-limit": "^11.1.6",
130
- "@testing-library/jest-dom": "^6.9.1",
131
- "@testing-library/user-event": "^14.6.1",
132
- "@types/node": "^25.9.1",
133
- "arktype": "^2.2.0",
134
- "fast-check": "^4.8.0",
135
- "jsdom": "^29.1.1",
136
- "publint": "^0.3.21",
102
+ "@size-limit/preset-small-lib": "^13.0.3",
103
+ "@testing-library/jest-dom": "^7.0.1",
104
+ "@testing-library/user-event": "^14.6.7",
105
+ "@types/node": "^26.4.1",
106
+ "arktype": "^2.2.3",
107
+ "fast-check": "^4.9.0",
108
+ "publint": "^0.3.24",
109
+ "size-limit": "^13.0.3",
137
110
  "typescript": "^6.0.3",
138
- "valibot": "^1.4.1",
139
- "vite-plus": "^0.1.23",
140
- "vitest": "npm:@voidzero-dev/vite-plus-test@latest",
141
- "zod": "^4.4.3"
111
+ "valibot": "^1.4.2",
112
+ "vite-plus": "^0.1.24",
113
+ "vitest": "npm:@voidzero-dev/vite-plus-test@0.1.24",
114
+ "zod": "^4.5.4"
142
115
  },
143
116
  "scripts": {
144
117
  "dev": "vp pack --watch",
@@ -153,6 +126,7 @@
153
126
  "coverage": "vp test run --coverage",
154
127
  "verify": "node ../../scripts/run-workspace-bin.mjs publint",
155
128
  "typecheck": "tsc --noEmit",
129
+ "api:check": "for f in api-extractor.*.json; do api-extractor run -c \"$f\" || exit 1; done",
156
130
  "size": "size-limit",
157
131
  "deploy": "pnpm publish --access public"
158
132
  }