@blac/core 2.0.10 → 2.0.12

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 (203) hide show
  1. package/README.md +59 -83
  2. package/dist/Cubit-9jal5zdZ.cjs +390 -0
  3. package/dist/Cubit-9jal5zdZ.cjs.map +1 -0
  4. package/dist/Cubit-BAUPiUF7.cjs +307 -0
  5. package/dist/Cubit-BAUPiUF7.cjs.map +1 -0
  6. package/dist/Cubit-BOgUZva7.js +284 -0
  7. package/dist/Cubit-BOgUZva7.js.map +1 -0
  8. package/dist/Cubit-BTznt8zg.js +370 -0
  9. package/dist/Cubit-BTznt8zg.js.map +1 -0
  10. package/dist/Cubit-CZaf_fp4.cjs +367 -292
  11. package/dist/Cubit-C_dUEUdd.cjs +307 -0
  12. package/dist/Cubit-C_dUEUdd.cjs.map +1 -0
  13. package/dist/Cubit-D2vQ6nMb.js +284 -0
  14. package/dist/Cubit-D2vQ6nMb.js.map +1 -0
  15. package/dist/Cubit-D7jOZCoZ.js +284 -0
  16. package/dist/Cubit-D7jOZCoZ.js.map +1 -0
  17. package/dist/Cubit-DP5DXPUK.js +284 -0
  18. package/dist/Cubit-DP5DXPUK.js.map +1 -0
  19. package/dist/Cubit-DbnhTUaZ.cjs +307 -0
  20. package/dist/Cubit-DbnhTUaZ.cjs.map +1 -0
  21. package/dist/Cubit-Dw_kFBgc.js +372 -0
  22. package/dist/Cubit-Dw_kFBgc.js.map +1 -0
  23. package/dist/Cubit-KiXZCubP.cjs +392 -0
  24. package/dist/Cubit-KiXZCubP.cjs.map +1 -0
  25. package/dist/Cubit-Ksj7G4uR.js +284 -0
  26. package/dist/Cubit-Ksj7G4uR.js.map +1 -0
  27. package/dist/Cubit-MkjbpcPf.cjs +307 -0
  28. package/dist/Cubit-MkjbpcPf.cjs.map +1 -0
  29. package/dist/Cubit-PMTXxI_u.js +350 -272
  30. package/dist/Cubit-kU5_4jgC.cjs +307 -0
  31. package/dist/Cubit-kU5_4jgC.cjs.map +1 -0
  32. package/dist/StateContainerRegistry-BhcnG0DF.js +602 -0
  33. package/dist/StateContainerRegistry-BhcnG0DF.js.map +1 -0
  34. package/dist/StateContainerRegistry-BsMIpllP.cjs +612 -560
  35. package/dist/StateContainerRegistry-Ck2-XmT_.js +567 -0
  36. package/dist/StateContainerRegistry-Ck2-XmT_.js.map +1 -0
  37. package/dist/StateContainerRegistry-DC4N73O6.js +609 -0
  38. package/dist/StateContainerRegistry-DC4N73O6.js.map +1 -0
  39. package/dist/StateContainerRegistry-DOkDGng-.js +586 -526
  40. package/dist/StateContainerRegistry-DOuGI-l5.js +622 -0
  41. package/dist/StateContainerRegistry-DOuGI-l5.js.map +1 -0
  42. package/dist/StateContainerRegistry-DT66lr3I.cjs +643 -0
  43. package/dist/StateContainerRegistry-DT66lr3I.cjs.map +1 -0
  44. package/dist/StateContainerRegistry-Yph6UCA_.js +610 -0
  45. package/dist/StateContainerRegistry-Yph6UCA_.js.map +1 -0
  46. package/dist/StateContainerRegistry-mseeTqSA.cjs +663 -0
  47. package/dist/StateContainerRegistry-mseeTqSA.cjs.map +1 -0
  48. package/dist/StateContainerRegistry-pRNxHNFD.cjs +650 -0
  49. package/dist/StateContainerRegistry-pRNxHNFD.cjs.map +1 -0
  50. package/dist/StateContainerRegistry-vXMWtG7J.cjs +608 -0
  51. package/dist/StateContainerRegistry-vXMWtG7J.cjs.map +1 -0
  52. package/dist/StateContainerRegistry-v_prqMcI.cjs +651 -0
  53. package/dist/StateContainerRegistry-v_prqMcI.cjs.map +1 -0
  54. package/dist/branded-BSeA_mZO.cjs +18 -0
  55. package/dist/branded-BSeA_mZO.cjs.map +1 -0
  56. package/dist/branded-DwtzSsg0.js +13 -0
  57. package/dist/branded-DwtzSsg0.js.map +1 -0
  58. package/dist/config-BKoaAlmb.js +16 -0
  59. package/dist/config-BKoaAlmb.js.map +1 -0
  60. package/dist/config-CCUhIYIF.js +16 -0
  61. package/dist/config-CCUhIYIF.js.map +1 -0
  62. package/dist/config-CR_Bz7RD.js +16 -0
  63. package/dist/config-CR_Bz7RD.js.map +1 -0
  64. package/dist/config-CTOa-yPN.cjs +32 -0
  65. package/dist/config-CTOa-yPN.cjs.map +1 -0
  66. package/dist/config-D3jisfdj.cjs +32 -0
  67. package/dist/config-D3jisfdj.cjs.map +1 -0
  68. package/dist/config-D4GifZQ4.js +16 -0
  69. package/dist/config-D4GifZQ4.js.map +1 -0
  70. package/dist/config-DDrSQGpQ.cjs +32 -0
  71. package/dist/config-DDrSQGpQ.cjs.map +1 -0
  72. package/dist/config-DLzmy2rZ.cjs +20 -20
  73. package/dist/config-DMNZ2YLV.cjs +32 -0
  74. package/dist/config-DMNZ2YLV.cjs.map +1 -0
  75. package/dist/config-DokTzpr8.cjs +32 -0
  76. package/dist/config-DokTzpr8.cjs.map +1 -0
  77. package/dist/config-DslYBm4Z.js +16 -0
  78. package/dist/config-DslYBm4Z.js.map +1 -0
  79. package/dist/config-XQua95Xz.js +5 -5
  80. package/dist/core/StateContainer.d.ts +1 -1
  81. package/dist/core/StateContainerRegistry.d.ts +29 -17
  82. package/dist/debug.cjs +4 -3
  83. package/dist/debug.d.cts +5 -6
  84. package/dist/debug.d.ts +5 -6
  85. package/dist/debug.js +4 -4
  86. package/dist/ensure-9VEq5H0L.js +9 -0
  87. package/dist/ensure-9VEq5H0L.js.map +1 -0
  88. package/dist/ensure-BNDfTzqg.cjs +14 -0
  89. package/dist/ensure-BNDfTzqg.cjs.map +1 -0
  90. package/dist/ensure-BVCnjU7r.js +289 -0
  91. package/dist/ensure-BVCnjU7r.js.map +1 -0
  92. package/dist/ensure-BbzGXjep.cjs +14 -0
  93. package/dist/ensure-BbzGXjep.cjs.map +1 -0
  94. package/dist/ensure-C5I1xp2C.js +3 -3
  95. package/dist/ensure-CJZL7bcA.cjs +318 -0
  96. package/dist/ensure-CJZL7bcA.cjs.map +1 -0
  97. package/dist/ensure-CSHYjIeH.cjs +8 -8
  98. package/dist/ensure-CU-B1ywv.js +9 -0
  99. package/dist/ensure-CU-B1ywv.js.map +1 -0
  100. package/dist/ensure-D63lEMUK.cjs +14 -0
  101. package/dist/ensure-D63lEMUK.cjs.map +1 -0
  102. package/dist/ensure-DamKOP6q.cjs +14 -0
  103. package/dist/ensure-DamKOP6q.cjs.map +1 -0
  104. package/dist/ensure-Def-EBWG.js +9 -0
  105. package/dist/ensure-Def-EBWG.js.map +1 -0
  106. package/dist/ensure-Sb92MCXu.js +9 -0
  107. package/dist/ensure-Sb92MCXu.js.map +1 -0
  108. package/dist/ensure-n80crSlX.js +9 -0
  109. package/dist/ensure-n80crSlX.js.map +1 -0
  110. package/dist/ensure-vS71MV4q.cjs +14 -0
  111. package/dist/ensure-vS71MV4q.cjs.map +1 -0
  112. package/dist/index.cjs +12 -10
  113. package/dist/index.cjs.map +1 -1
  114. package/dist/index.d.cts +1 -1
  115. package/dist/index.d.ts +1 -1
  116. package/dist/index.js +12 -11
  117. package/dist/index.js.map +1 -1
  118. package/dist/management-Bg652agq.js +32 -0
  119. package/dist/management-Bg652agq.js.map +1 -0
  120. package/dist/management-C-wBdpho.js +18 -10
  121. package/dist/management-CU_V3LIP.js +32 -0
  122. package/dist/management-CU_V3LIP.js.map +1 -0
  123. package/dist/management-CaqiyNzB.js +32 -0
  124. package/dist/management-CaqiyNzB.js.map +1 -0
  125. package/dist/management-Cin-JvYe.js +32 -0
  126. package/dist/management-Cin-JvYe.js.map +1 -0
  127. package/dist/management-ClaXym0F.cjs +79 -0
  128. package/dist/management-ClaXym0F.cjs.map +1 -0
  129. package/dist/management-Dag9u4t6.cjs +79 -0
  130. package/dist/management-Dag9u4t6.cjs.map +1 -0
  131. package/dist/management-DbMRdDBo.cjs +79 -0
  132. package/dist/management-DbMRdDBo.cjs.map +1 -0
  133. package/dist/management-ZU2YzOkr.js +29 -0
  134. package/dist/management-ZU2YzOkr.js.map +1 -0
  135. package/dist/management-baPDwA9n.cjs +79 -0
  136. package/dist/management-baPDwA9n.cjs.map +1 -0
  137. package/dist/management-jQGCvZNN.cjs +70 -0
  138. package/dist/management-jQGCvZNN.cjs.map +1 -0
  139. package/dist/management-xoZ7w3bI.cjs +44 -44
  140. package/dist/plugin/BlacPlugin.d.ts +15 -0
  141. package/dist/plugins.cjs +1 -1
  142. package/dist/plugins.js +1 -1
  143. package/dist/registry/acquire.d.ts +1 -1
  144. package/dist/registry/index.d.ts +1 -1
  145. package/dist/registry/queries.d.ts +1 -0
  146. package/dist/registry/release.d.ts +1 -1
  147. package/dist/resolve-dependencies-BA3u06uC.js +643 -561
  148. package/dist/resolve-dependencies-BFZQq60Y.cjs +774 -0
  149. package/dist/resolve-dependencies-BFZQq60Y.cjs.map +1 -0
  150. package/dist/resolve-dependencies-BGafS3Ww.js +649 -0
  151. package/dist/resolve-dependencies-BGafS3Ww.js.map +1 -0
  152. package/dist/resolve-dependencies-BHd34gS3.cjs +774 -0
  153. package/dist/resolve-dependencies-BHd34gS3.cjs.map +1 -0
  154. package/dist/resolve-dependencies-BT6TU2HF.cjs +724 -666
  155. package/dist/resolve-dependencies-BiWkW2eS.js +649 -0
  156. package/dist/resolve-dependencies-BiWkW2eS.js.map +1 -0
  157. package/dist/resolve-dependencies-CTzV1txG.js +649 -0
  158. package/dist/resolve-dependencies-CTzV1txG.js.map +1 -0
  159. package/dist/resolve-dependencies-D0vTzZgs.js +649 -0
  160. package/dist/resolve-dependencies-D0vTzZgs.js.map +1 -0
  161. package/dist/resolve-dependencies-D2WnZMF-.cjs +774 -0
  162. package/dist/resolve-dependencies-D2WnZMF-.cjs.map +1 -0
  163. package/dist/resolve-dependencies-DSQNXvnV.cjs +774 -0
  164. package/dist/resolve-dependencies-DSQNXvnV.cjs.map +1 -0
  165. package/dist/resolve-dependencies-DcUUva2P.cjs +774 -0
  166. package/dist/resolve-dependencies-DcUUva2P.cjs.map +1 -0
  167. package/dist/resolve-dependencies-f-QUqYiL.js +649 -0
  168. package/dist/resolve-dependencies-f-QUqYiL.js.map +1 -0
  169. package/dist/testing.cjs +5 -5
  170. package/dist/testing.cjs.map +1 -1
  171. package/dist/testing.js +5 -5
  172. package/dist/testing.js.map +1 -1
  173. package/dist/tracked-B77j2g9M.js +177 -0
  174. package/dist/tracked-B77j2g9M.js.map +1 -0
  175. package/dist/tracked-BDVi2LKM.cjs +206 -0
  176. package/dist/tracked-BDVi2LKM.cjs.map +1 -0
  177. package/dist/tracked-BH-gX4T1.cjs +206 -0
  178. package/dist/tracked-BH-gX4T1.cjs.map +1 -0
  179. package/dist/tracked-BTHok3Dl.cjs +206 -0
  180. package/dist/tracked-BTHok3Dl.cjs.map +1 -0
  181. package/dist/tracked-CoAlC8fs.js +177 -0
  182. package/dist/tracked-CoAlC8fs.js.map +1 -0
  183. package/dist/tracked-DBn-bs_G.js +177 -0
  184. package/dist/tracked-DBn-bs_G.js.map +1 -0
  185. package/dist/tracked-DCfBaYjL.cjs +196 -175
  186. package/dist/tracked-DKduNLgI.js +171 -151
  187. package/dist/tracked-DMBTDF0P.js +177 -0
  188. package/dist/tracked-DMBTDF0P.js.map +1 -0
  189. package/dist/tracked-Dcu6EATB.js +177 -0
  190. package/dist/tracked-Dcu6EATB.js.map +1 -0
  191. package/dist/tracked-GvAJQVAI.cjs +240 -0
  192. package/dist/tracked-GvAJQVAI.cjs.map +1 -0
  193. package/dist/tracked-WF6aXuAo.js +199 -0
  194. package/dist/tracked-WF6aXuAo.js.map +1 -0
  195. package/dist/tracked-d_sQWU3c.cjs +206 -0
  196. package/dist/tracked-d_sQWU3c.cjs.map +1 -0
  197. package/dist/tracked-n9TMK-30.cjs +206 -0
  198. package/dist/tracked-n9TMK-30.cjs.map +1 -0
  199. package/dist/tracking.cjs +1 -1
  200. package/dist/tracking.js +1 -1
  201. package/dist/watch-entry.cjs +1 -1
  202. package/dist/watch-entry.js +1 -1
  203. package/package.json +1 -1
@@ -0,0 +1,70 @@
1
+ const require_config = require("./config-D3jisfdj.cjs");
2
+ //#region src/registry/queries.ts
3
+ function hasInstance(BlocClass, instanceKey) {
4
+ return require_config.getRegistry().hasInstance(BlocClass, instanceKey);
5
+ }
6
+ function getRefCount(BlocClass, instanceKey) {
7
+ return require_config.getRegistry().getRefCount(BlocClass, instanceKey);
8
+ }
9
+ function getAll(BlocClass) {
10
+ return require_config.getRegistry().getAll(BlocClass);
11
+ }
12
+ function forEach(BlocClass, callback) {
13
+ require_config.getRegistry().forEach(BlocClass, callback);
14
+ }
15
+ //#endregion
16
+ //#region src/registry/management.ts
17
+ function clear(BlocClass) {
18
+ require_config.getRegistry().clear(BlocClass);
19
+ }
20
+ function clearAll() {
21
+ require_config.getRegistry().clearAll();
22
+ }
23
+ function register(BlocClass) {
24
+ require_config.getRegistry().register(BlocClass);
25
+ }
26
+ //#endregion
27
+ Object.defineProperty(exports, "clear", {
28
+ enumerable: true,
29
+ get: function() {
30
+ return clear;
31
+ }
32
+ });
33
+ Object.defineProperty(exports, "clearAll", {
34
+ enumerable: true,
35
+ get: function() {
36
+ return clearAll;
37
+ }
38
+ });
39
+ Object.defineProperty(exports, "forEach", {
40
+ enumerable: true,
41
+ get: function() {
42
+ return forEach;
43
+ }
44
+ });
45
+ Object.defineProperty(exports, "getAll", {
46
+ enumerable: true,
47
+ get: function() {
48
+ return getAll;
49
+ }
50
+ });
51
+ Object.defineProperty(exports, "getRefCount", {
52
+ enumerable: true,
53
+ get: function() {
54
+ return getRefCount;
55
+ }
56
+ });
57
+ Object.defineProperty(exports, "hasInstance", {
58
+ enumerable: true,
59
+ get: function() {
60
+ return hasInstance;
61
+ }
62
+ });
63
+ Object.defineProperty(exports, "register", {
64
+ enumerable: true,
65
+ get: function() {
66
+ return register;
67
+ }
68
+ });
69
+
70
+ //# sourceMappingURL=management-jQGCvZNN.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"management-jQGCvZNN.cjs","names":["getRegistry"],"sources":["../src/registry/queries.ts","../src/registry/management.ts"],"sourcesContent":["import { getRegistry } from './config';\nimport type {\n StateContainerConstructor,\n InstanceReadonlyState,\n} from '../types/utilities';\n\nexport function hasInstance<T extends StateContainerConstructor>(\n BlocClass: T,\n instanceKey?: string,\n): boolean {\n return getRegistry().hasInstance(BlocClass, instanceKey);\n}\n\nexport function getRefCount<T extends StateContainerConstructor>(\n BlocClass: T,\n instanceKey?: string,\n): number {\n return getRegistry().getRefCount(BlocClass, instanceKey);\n}\n\nexport function getAll<T extends StateContainerConstructor>(\n BlocClass: T,\n): InstanceReadonlyState<T>[] {\n return getRegistry().getAll(BlocClass);\n}\n\nexport function forEach<T extends StateContainerConstructor>(\n BlocClass: T,\n callback: (instance: InstanceReadonlyState<T>) => void,\n): void {\n getRegistry().forEach(BlocClass, callback);\n}\n","import { getRegistry } from './config';\nimport type { StateContainerConstructor } from '../types/utilities';\n\nexport function clear<T extends StateContainerConstructor>(BlocClass: T): void {\n getRegistry().clear(BlocClass);\n}\n\nexport function clearAll(): void {\n getRegistry().clearAll();\n}\n\nexport function register<T extends StateContainerConstructor>(\n BlocClass: T,\n): void {\n getRegistry().register(BlocClass);\n}\n"],"mappings":";;AAMA,SAAgB,YACd,WACA,aACS;AACT,QAAOA,eAAAA,aAAa,CAAC,YAAY,WAAW,YAAY;;AAG1D,SAAgB,YACd,WACA,aACQ;AACR,QAAOA,eAAAA,aAAa,CAAC,YAAY,WAAW,YAAY;;AAG1D,SAAgB,OACd,WAC4B;AAC5B,QAAOA,eAAAA,aAAa,CAAC,OAAO,UAAU;;AAGxC,SAAgB,QACd,WACA,UACM;AACN,gBAAA,aAAa,CAAC,QAAQ,WAAW,SAAS;;;;AC3B5C,SAAgB,MAA2C,WAAoB;AAC7E,gBAAA,aAAa,CAAC,MAAM,UAAU;;AAGhC,SAAgB,WAAiB;AAC/B,gBAAA,aAAa,CAAC,UAAU;;AAG1B,SAAgB,SACd,WACM;AACN,gBAAA,aAAa,CAAC,SAAS,UAAU"}
@@ -1,70 +1,70 @@
1
- const require_config = require("./config-DLzmy2rZ.cjs");
1
+ const require_config = require('./config-DLzmy2rZ.cjs');
2
2
  //#region src/registry/queries.ts
3
3
  function hasInstance(BlocClass, instanceKey) {
4
- return require_config.getRegistry().hasInstance(BlocClass, instanceKey);
4
+ return require_config.getRegistry().hasInstance(BlocClass, instanceKey);
5
5
  }
6
6
  function getRefCount(BlocClass, instanceKey) {
7
- return require_config.getRegistry().getRefCount(BlocClass, instanceKey);
7
+ return require_config.getRegistry().getRefCount(BlocClass, instanceKey);
8
8
  }
9
9
  function getAll(BlocClass) {
10
- return require_config.getRegistry().getAll(BlocClass);
10
+ return require_config.getRegistry().getAll(BlocClass);
11
11
  }
12
12
  function forEach(BlocClass, callback) {
13
- require_config.getRegistry().forEach(BlocClass, callback);
13
+ require_config.getRegistry().forEach(BlocClass, callback);
14
14
  }
15
15
  //#endregion
16
16
  //#region src/registry/management.ts
17
17
  function clear(BlocClass) {
18
- require_config.getRegistry().clear(BlocClass);
18
+ require_config.getRegistry().clear(BlocClass);
19
19
  }
20
20
  function clearAll() {
21
- require_config.getRegistry().clearAll();
21
+ require_config.getRegistry().clearAll();
22
22
  }
23
23
  function register(BlocClass) {
24
- require_config.getRegistry().register(BlocClass);
24
+ require_config.getRegistry().register(BlocClass);
25
25
  }
26
26
  //#endregion
27
- Object.defineProperty(exports, "clear", {
28
- enumerable: true,
29
- get: function() {
30
- return clear;
31
- }
27
+ Object.defineProperty(exports, 'clear', {
28
+ enumerable: true,
29
+ get: function () {
30
+ return clear;
31
+ },
32
32
  });
33
- Object.defineProperty(exports, "clearAll", {
34
- enumerable: true,
35
- get: function() {
36
- return clearAll;
37
- }
33
+ Object.defineProperty(exports, 'clearAll', {
34
+ enumerable: true,
35
+ get: function () {
36
+ return clearAll;
37
+ },
38
38
  });
39
- Object.defineProperty(exports, "forEach", {
40
- enumerable: true,
41
- get: function() {
42
- return forEach;
43
- }
39
+ Object.defineProperty(exports, 'forEach', {
40
+ enumerable: true,
41
+ get: function () {
42
+ return forEach;
43
+ },
44
44
  });
45
- Object.defineProperty(exports, "getAll", {
46
- enumerable: true,
47
- get: function() {
48
- return getAll;
49
- }
45
+ Object.defineProperty(exports, 'getAll', {
46
+ enumerable: true,
47
+ get: function () {
48
+ return getAll;
49
+ },
50
50
  });
51
- Object.defineProperty(exports, "getRefCount", {
52
- enumerable: true,
53
- get: function() {
54
- return getRefCount;
55
- }
51
+ Object.defineProperty(exports, 'getRefCount', {
52
+ enumerable: true,
53
+ get: function () {
54
+ return getRefCount;
55
+ },
56
56
  });
57
- Object.defineProperty(exports, "hasInstance", {
58
- enumerable: true,
59
- get: function() {
60
- return hasInstance;
61
- }
57
+ Object.defineProperty(exports, 'hasInstance', {
58
+ enumerable: true,
59
+ get: function () {
60
+ return hasInstance;
61
+ },
62
62
  });
63
- Object.defineProperty(exports, "register", {
64
- enumerable: true,
65
- get: function() {
66
- return register;
67
- }
63
+ Object.defineProperty(exports, 'register', {
64
+ enumerable: true,
65
+ get: function () {
66
+ return register;
67
+ },
68
68
  });
69
69
 
70
- //# sourceMappingURL=management-xoZ7w3bI.cjs.map
70
+ //# sourceMappingURL=management-xoZ7w3bI.cjs.map
@@ -19,6 +19,8 @@ export interface InstanceMetadata {
19
19
  createdAt: number;
20
20
  /** Stack trace from when instance was created (for debugging) */
21
21
  callstack?: string;
22
+ /** Stack trace showing where the instance was first created (e.g. which useBloc/ensure call) */
23
+ createdFrom?: string;
22
24
  /** Previous state value */
23
25
  previousState?: any;
24
26
  /** Current state value */
@@ -85,6 +87,11 @@ export interface PluginContext {
85
87
  totalInstances: number;
86
88
  typeBreakdown: Record<string, number>;
87
89
  };
90
+ /**
91
+ * Get all active reference IDs for an instance by its instanceId string.
92
+ * Useful for debugging which callers are holding an instance alive.
93
+ */
94
+ getRefIds(instanceId: string): string[];
88
95
  }
89
96
  /**
90
97
  * Interface for plugins that extend BlaC functionality
@@ -114,6 +121,14 @@ export interface BlacPlugin {
114
121
  * Called when a state container instance is disposed
115
122
  */
116
123
  onInstanceDisposed?(instance: StateContainer<any>, context: PluginContext): void;
124
+ /**
125
+ * Called when a reference is acquired on an instance
126
+ */
127
+ onRefAcquired?(instance: StateContainer<any>, refId: string, context: PluginContext): void;
128
+ /**
129
+ * Called when a reference is released from an instance
130
+ */
131
+ onRefReleased?(instance: StateContainer<any>, refId: string, context: PluginContext): void;
117
132
  }
118
133
  /**
119
134
  * Plugin interface variant that requires mandatory onInstall hook
package/dist/plugins.cjs CHANGED
@@ -1,4 +1,4 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_StateContainerRegistry = require("./StateContainerRegistry-BsMIpllP.cjs");
2
+ const require_StateContainerRegistry = require("./StateContainerRegistry-mseeTqSA.cjs");
3
3
  exports.PluginManager = require_StateContainerRegistry.PluginManager;
4
4
  exports.getPluginManager = require_StateContainerRegistry.getPluginManager;
package/dist/plugins.js CHANGED
@@ -1,2 +1,2 @@
1
- import { i as PluginManager, n as getPluginManager } from "./StateContainerRegistry-DOkDGng-.js";
1
+ import { i as PluginManager, n as getPluginManager } from "./StateContainerRegistry-DOuGI-l5.js";
2
2
  export { PluginManager, getPluginManager };
@@ -1,2 +1,2 @@
1
1
  import type { StateContainerConstructor } from '../types/utilities';
2
- export declare function acquire<T extends StateContainerConstructor>(BlocClass: T, instanceKey?: string): InstanceType<T>;
2
+ export declare function acquire<T extends StateContainerConstructor>(BlocClass: T, instanceKey?: string, refId?: string): InstanceType<T>;
@@ -2,6 +2,6 @@ export { acquire } from './acquire';
2
2
  export { borrow, borrowSafe } from './borrow';
3
3
  export { ensure } from './ensure';
4
4
  export { release } from './release';
5
- export { hasInstance, getRefCount, getAll, forEach } from './queries';
5
+ export { hasInstance, getRefCount, getRefIds, getAll, forEach, } from './queries';
6
6
  export { clear, clearAll, register } from './management';
7
7
  export { getRegistry, setRegistry, getStats } from './config';
@@ -1,5 +1,6 @@
1
1
  import type { StateContainerConstructor, InstanceReadonlyState } from '../types/utilities';
2
2
  export declare function hasInstance<T extends StateContainerConstructor>(BlocClass: T, instanceKey?: string): boolean;
3
3
  export declare function getRefCount<T extends StateContainerConstructor>(BlocClass: T, instanceKey?: string): number;
4
+ export declare function getRefIds<T extends StateContainerConstructor>(BlocClass: T, instanceKey?: string): string[];
4
5
  export declare function getAll<T extends StateContainerConstructor>(BlocClass: T): InstanceReadonlyState<T>[];
5
6
  export declare function forEach<T extends StateContainerConstructor>(BlocClass: T, callback: (instance: InstanceReadonlyState<T>) => void): void;
@@ -1,2 +1,2 @@
1
1
  import type { StateContainerConstructor } from '../types/utilities';
2
- export declare function release<T extends StateContainerConstructor>(BlocClass: T, instanceKey?: string, forceDispose?: boolean): void;
2
+ export declare function release<T extends StateContainerConstructor>(BlocClass: T, instanceKey?: string, forceDispose?: boolean, refId?: string): void;