@blac/core 2.0.0-rc-16 → 2.0.0-rc.1

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 (157) hide show
  1. package/dist/.tsbuildinfo +1 -0
  2. package/dist/Blac.d.ts +246 -0
  3. package/dist/Blac.d.ts.map +1 -0
  4. package/dist/Blac.js +624 -0
  5. package/dist/Blac.js.map +1 -0
  6. package/dist/Bloc.d.ts +41 -0
  7. package/dist/Bloc.d.ts.map +1 -0
  8. package/dist/Bloc.js +140 -0
  9. package/dist/Bloc.js.map +1 -0
  10. package/dist/BlocBase.d.ts +110 -0
  11. package/dist/BlocBase.d.ts.map +1 -0
  12. package/dist/BlocBase.js +287 -0
  13. package/dist/BlocBase.js.map +1 -0
  14. package/dist/Cubit.d.ts +25 -0
  15. package/dist/Cubit.d.ts.map +1 -0
  16. package/dist/Cubit.js +64 -0
  17. package/dist/Cubit.js.map +1 -0
  18. package/dist/adapter/BlacAdapter.d.ts +67 -0
  19. package/dist/adapter/BlacAdapter.d.ts.map +1 -0
  20. package/dist/adapter/BlacAdapter.js +263 -0
  21. package/dist/adapter/BlacAdapter.js.map +1 -0
  22. package/dist/adapter/ProxyFactory.d.ts +50 -0
  23. package/dist/adapter/ProxyFactory.d.ts.map +1 -0
  24. package/dist/adapter/ProxyFactory.js +150 -0
  25. package/dist/adapter/ProxyFactory.js.map +1 -0
  26. package/{src/adapter/index.ts → dist/adapter/index.d.ts} +1 -0
  27. package/dist/adapter/index.d.ts.map +1 -0
  28. package/dist/adapter/index.js +19 -0
  29. package/dist/adapter/index.js.map +1 -0
  30. package/dist/errors/BlacError.d.ts +38 -0
  31. package/dist/errors/BlacError.d.ts.map +1 -0
  32. package/dist/errors/BlacError.js +55 -0
  33. package/dist/errors/BlacError.js.map +1 -0
  34. package/dist/errors/ErrorManager.d.ts +39 -0
  35. package/dist/errors/ErrorManager.d.ts.map +1 -0
  36. package/dist/errors/ErrorManager.js +91 -0
  37. package/dist/errors/ErrorManager.js.map +1 -0
  38. package/dist/errors/handleError.d.ts +24 -0
  39. package/dist/errors/handleError.d.ts.map +1 -0
  40. package/dist/errors/handleError.js +62 -0
  41. package/dist/errors/handleError.js.map +1 -0
  42. package/dist/errors/index.d.ts +5 -0
  43. package/dist/errors/index.d.ts.map +1 -0
  44. package/dist/errors/index.js +13 -0
  45. package/dist/errors/index.js.map +1 -0
  46. package/{src/events.ts → dist/events.d.ts} +4 -2
  47. package/dist/events.d.ts.map +1 -0
  48. package/dist/events.js +17 -0
  49. package/dist/events.js.map +1 -0
  50. package/dist/index.cjs +38 -0
  51. package/{src/index.ts → dist/index.d.ts} +1 -10
  52. package/dist/index.d.ts.map +1 -0
  53. package/dist/index.js +38 -0
  54. package/dist/index.js.map +1 -0
  55. package/dist/lifecycle/BlocLifecycle.d.ts +51 -0
  56. package/dist/lifecycle/BlocLifecycle.d.ts.map +1 -0
  57. package/dist/lifecycle/BlocLifecycle.js +123 -0
  58. package/dist/lifecycle/BlocLifecycle.js.map +1 -0
  59. package/dist/lifecycle/index.d.ts +2 -0
  60. package/dist/lifecycle/index.d.ts.map +1 -0
  61. package/dist/lifecycle/index.js +18 -0
  62. package/dist/lifecycle/index.js.map +1 -0
  63. package/dist/plugins/BlocPluginRegistry.d.ts +58 -0
  64. package/dist/plugins/BlocPluginRegistry.d.ts.map +1 -0
  65. package/dist/plugins/BlocPluginRegistry.js +201 -0
  66. package/dist/plugins/BlocPluginRegistry.js.map +1 -0
  67. package/dist/plugins/SystemPluginRegistry.d.ts +79 -0
  68. package/dist/plugins/SystemPluginRegistry.d.ts.map +1 -0
  69. package/dist/plugins/SystemPluginRegistry.js +184 -0
  70. package/dist/plugins/SystemPluginRegistry.js.map +1 -0
  71. package/{src/plugins/index.ts → dist/plugins/index.d.ts} +1 -5
  72. package/dist/plugins/index.d.ts.map +1 -0
  73. package/dist/plugins/index.js +26 -0
  74. package/dist/plugins/index.js.map +1 -0
  75. package/dist/plugins/types.d.ts +103 -0
  76. package/dist/plugins/types.d.ts.map +1 -0
  77. package/dist/plugins/types.js +3 -0
  78. package/dist/plugins/types.js.map +1 -0
  79. package/dist/subscription/SubscriptionManager.d.ts +67 -0
  80. package/dist/subscription/SubscriptionManager.d.ts.map +1 -0
  81. package/dist/subscription/SubscriptionManager.js +317 -0
  82. package/dist/subscription/SubscriptionManager.js.map +1 -0
  83. package/{src/subscription/index.ts → dist/subscription/index.d.ts} +1 -0
  84. package/dist/subscription/index.d.ts.map +1 -0
  85. package/dist/subscription/index.js +19 -0
  86. package/dist/subscription/index.js.map +1 -0
  87. package/dist/subscription/types.d.ts +65 -0
  88. package/dist/subscription/types.d.ts.map +1 -0
  89. package/dist/subscription/types.js +3 -0
  90. package/dist/subscription/types.js.map +1 -0
  91. package/dist/testing.d.ts +33 -0
  92. package/dist/testing.d.ts.map +1 -0
  93. package/dist/testing.js +68 -0
  94. package/dist/testing.js.map +1 -0
  95. package/{src/types.ts → dist/types.d.ts} +11 -28
  96. package/dist/types.d.ts.map +1 -0
  97. package/dist/types.js +3 -0
  98. package/dist/types.js.map +1 -0
  99. package/dist/utils/BatchingManager.d.ts +28 -0
  100. package/dist/utils/BatchingManager.d.ts.map +1 -0
  101. package/dist/utils/BatchingManager.js +48 -0
  102. package/dist/utils/BatchingManager.js.map +1 -0
  103. package/dist/utils/RerenderLogger.d.ts +60 -0
  104. package/dist/utils/RerenderLogger.d.ts.map +1 -0
  105. package/dist/utils/RerenderLogger.js +205 -0
  106. package/dist/utils/RerenderLogger.js.map +1 -0
  107. package/dist/utils/generateInstanceId.d.ts +11 -0
  108. package/dist/utils/generateInstanceId.d.ts.map +1 -0
  109. package/dist/utils/generateInstanceId.js +50 -0
  110. package/dist/utils/generateInstanceId.js.map +1 -0
  111. package/dist/utils/shallowEqual.d.ts +9 -0
  112. package/dist/utils/shallowEqual.d.ts.map +1 -0
  113. package/dist/utils/shallowEqual.js +35 -0
  114. package/dist/utils/shallowEqual.js.map +1 -0
  115. package/dist/utils/uuid.d.ts +10 -0
  116. package/dist/utils/uuid.d.ts.map +1 -0
  117. package/dist/utils/uuid.js +24 -0
  118. package/dist/utils/uuid.js.map +1 -0
  119. package/package.json +19 -6
  120. package/src/Blac.ts +0 -802
  121. package/src/Bloc.ts +0 -180
  122. package/src/BlocBase.ts +0 -398
  123. package/src/Cubit.ts +0 -68
  124. package/src/__tests__/Blac.config.test.ts +0 -79
  125. package/src/__tests__/Bloc.event.test.ts +0 -394
  126. package/src/__tests__/BlocBase.subscription.test.ts +0 -349
  127. package/src/__tests__/Cubit.test.ts +0 -462
  128. package/src/__tests__/memory-leaks.test.ts +0 -383
  129. package/src/__tests__/plugins.test.ts +0 -464
  130. package/src/adapter/BlacAdapter.ts +0 -467
  131. package/src/adapter/ProxyFactory.ts +0 -249
  132. package/src/adapter/__tests__/BlacAdapter.test.ts +0 -555
  133. package/src/adapter/__tests__/ProxyFactory.test.ts +0 -655
  134. package/src/errors/BlacError.ts +0 -69
  135. package/src/errors/ErrorManager.ts +0 -101
  136. package/src/errors/handleError.ts +0 -114
  137. package/src/errors/index.ts +0 -13
  138. package/src/lifecycle/BlocLifecycle.ts +0 -156
  139. package/src/lifecycle/index.ts +0 -1
  140. package/src/plugins/BlocPluginRegistry.ts +0 -240
  141. package/src/plugins/SystemPluginRegistry.ts +0 -242
  142. package/src/plugins/__tests__/BlocPluginRegistry.test.ts +0 -450
  143. package/src/plugins/__tests__/SystemPluginRegistry.test.ts +0 -404
  144. package/src/plugins/types.ts +0 -129
  145. package/src/subscription/README.md +0 -132
  146. package/src/subscription/SubscriptionManager.ts +0 -395
  147. package/src/subscription/__tests__/SubscriptionManager.test.ts +0 -355
  148. package/src/subscription/types.ts +0 -90
  149. package/src/testing.ts +0 -246
  150. package/src/utils/BatchingManager.ts +0 -59
  151. package/src/utils/RerenderLogger.ts +0 -265
  152. package/src/utils/__tests__/generateInstanceId.test.ts +0 -104
  153. package/src/utils/__tests__/shallowEqual.test.ts +0 -171
  154. package/src/utils/__tests__/uuid.test.ts +0 -144
  155. package/src/utils/generateInstanceId.ts +0 -54
  156. package/src/utils/shallowEqual.ts +0 -40
  157. package/src/utils/uuid.ts +0 -22
package/dist/Cubit.js ADDED
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Cubit = void 0;
4
+ const Blac_1 = require("./Blac");
5
+ const BlocBase_1 = require("./BlocBase");
6
+ /**
7
+ * A Cubit is a simpler version of a Bloc that doesn't handle events.
8
+ * It manages state and provides methods to update it.
9
+ * @template S - The type of state this Cubit manages
10
+ */
11
+ class Cubit extends BlocBase_1.BlocBase {
12
+ /**
13
+ * Updates the current state and notifies all observers of the change.
14
+ * If the new state is identical to the current state (using Object.is),
15
+ * no update will occur.
16
+ * @param state - The new state to set
17
+ */
18
+ emit(state) {
19
+ if (Object.is(state, this.state)) {
20
+ return;
21
+ }
22
+ const oldState = this.state;
23
+ const newState = state;
24
+ this._pushState(newState, oldState);
25
+ }
26
+ /**
27
+ * Partially updates the current state by merging it with the provided state patch.
28
+ * This method is only applicable when the state is an object type.
29
+ *
30
+ * @param statePatch - A partial state object containing only the properties to update
31
+ * @param ignoreChangeCheck - If true, skips checking if the state has actually changed
32
+ * @throws {TypeError} If the state is not an object type
33
+ */
34
+ patch(statePatch, ignoreChangeCheck = false) {
35
+ if (typeof this.state !== 'object' || this.state === null) {
36
+ Blac_1.Blac.warn('Cubit.patch: was called on a cubit where the state is not an object. This is a no-op.');
37
+ return;
38
+ }
39
+ let changes = false;
40
+ if (!ignoreChangeCheck) {
41
+ for (const key in statePatch) {
42
+ if (Object.prototype.hasOwnProperty.call(statePatch, key)) {
43
+ const s = this.state;
44
+ const current = s[key];
45
+ if (!Object.is(statePatch[key], current)) {
46
+ changes = true;
47
+ break;
48
+ }
49
+ }
50
+ }
51
+ }
52
+ else {
53
+ changes = true;
54
+ }
55
+ if (changes) {
56
+ this.emit({
57
+ ...this.state,
58
+ ...statePatch,
59
+ });
60
+ }
61
+ }
62
+ }
63
+ exports.Cubit = Cubit;
64
+ //# sourceMappingURL=Cubit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cubit.js","sourceRoot":"","sources":["../src/Cubit.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAC9B,yCAAsC;AAEtC;;;;GAIG;AACH,MAAsB,KAAS,SAAQ,mBAAW;IAChD;;;;;OAKG;IACH,IAAI,CAAC,KAAQ;QACX,IAAI,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CACH,UAA6C,EAC7C,iBAAiB,GAAG,KAAK;QAEzB,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1D,WAAI,CAAC,IAAI,CACP,uFAAuF,CACxF,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAC7B,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC;oBAC1D,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;oBACrB,MAAM,OAAO,GAAG,CAAC,CAAC,GAAc,CAAC,CAAC;oBAClC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,GAAc,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;wBACpD,OAAO,GAAG,IAAI,CAAC;wBACf,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC;gBACR,GAAG,IAAI,CAAC,KAAK;gBACb,GAAI,UAAyB;aACzB,CAAC,CAAC;QACV,CAAC;IACH,CAAC;CACF;AA3DD,sBA2DC"}
@@ -0,0 +1,67 @@
1
+ import { BlocBase } from '../BlocBase';
2
+ import { BlocConstructor, BlocState } from '../types';
3
+ export interface AdapterOptions<B extends BlocBase<any>> {
4
+ instanceId?: string;
5
+ dependencies?: (bloc: B) => unknown[];
6
+ staticProps?: any;
7
+ onMount?: (bloc: B) => void;
8
+ onUnmount?: (bloc: B) => void;
9
+ }
10
+ /**
11
+ * BlacAdapter orchestrates the connection between Bloc instances and React components.
12
+ * It manages dependency tracking, lifecycle hooks, and proxy creation.
13
+ */
14
+ export declare class BlacAdapter<B extends BlocConstructor<BlocBase<any>>> {
15
+ readonly id: string;
16
+ readonly blocConstructor: B;
17
+ readonly componentRef: {
18
+ current: object;
19
+ };
20
+ blocInstance: InstanceType<B>;
21
+ unmountTime: number;
22
+ mountTime: number;
23
+ private subscriptionId?;
24
+ private unsubscribe?;
25
+ private dependencyValues?;
26
+ private isUsingDependencies;
27
+ private trackedPaths;
28
+ private pendingTrackedPaths;
29
+ private cachedStateProxy?;
30
+ private cachedBlocProxy?;
31
+ private lastProxiedState?;
32
+ private _hasMounted;
33
+ private mountCount;
34
+ private lastState?;
35
+ private lastDependencyValues?;
36
+ private componentName?;
37
+ private renderCount;
38
+ options?: AdapterOptions<InstanceType<B>>;
39
+ constructor(instanceProps: {
40
+ componentRef: {
41
+ current: object;
42
+ };
43
+ blocConstructor: B;
44
+ }, options?: typeof this.options);
45
+ trackAccess(_consumerRef: object, type: 'state' | 'class', path: string, value?: any): void;
46
+ updateBlocInstance(): InstanceType<B>;
47
+ createSubscription: (options: {
48
+ onChange: () => void;
49
+ }) => () => void;
50
+ hasDependencyValuesChanged: (oldValues: unknown[] | undefined, newValues: unknown[]) => boolean;
51
+ getStateProxy: () => BlocState<InstanceType<B>>;
52
+ getBlocProxy: () => InstanceType<B>;
53
+ createStateProxy: <T extends object>(props: {
54
+ target: T;
55
+ }) => T;
56
+ createClassProxy: <T extends object>(props: {
57
+ target: T;
58
+ }) => T;
59
+ mount: () => void;
60
+ unmount: () => void;
61
+ resetTracking(): void;
62
+ setComponentName(name: string): void;
63
+ notifyRender(): void;
64
+ private getAdapterMetadata;
65
+ getLastRerenderReason(): any;
66
+ }
67
+ //# sourceMappingURL=BlacAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlacAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/BlacAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,263 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BlacAdapter = void 0;
4
+ const Blac_1 = require("../Blac");
5
+ const uuid_1 = require("../utils/uuid");
6
+ const generateInstanceId_1 = require("../utils/generateInstanceId");
7
+ const ProxyFactory_1 = require("./ProxyFactory");
8
+ /**
9
+ * BlacAdapter orchestrates the connection between Bloc instances and React components.
10
+ * It manages dependency tracking, lifecycle hooks, and proxy creation.
11
+ */
12
+ class BlacAdapter {
13
+ id = `adapter-${(0, uuid_1.generateUUID)()}`;
14
+ blocConstructor;
15
+ componentRef = { current: {} };
16
+ blocInstance;
17
+ unmountTime = 0;
18
+ mountTime = 0;
19
+ // Subscription management
20
+ subscriptionId;
21
+ unsubscribe;
22
+ // Dependency tracking
23
+ dependencyValues;
24
+ isUsingDependencies = false;
25
+ trackedPaths = new Set();
26
+ pendingTrackedPaths = new Set(); // Paths tracked before subscription exists
27
+ // Proxy caching
28
+ cachedStateProxy;
29
+ cachedBlocProxy;
30
+ lastProxiedState;
31
+ // Lifecycle state
32
+ _hasMounted = false;
33
+ mountCount = 0;
34
+ // Rerender tracking
35
+ lastState;
36
+ lastDependencyValues;
37
+ componentName;
38
+ renderCount = 0;
39
+ options;
40
+ constructor(instanceProps, options) {
41
+ this.options = options;
42
+ this.blocConstructor = instanceProps.blocConstructor;
43
+ this.componentRef = instanceProps.componentRef;
44
+ this.isUsingDependencies = !!options?.dependencies;
45
+ // Initialize bloc instance
46
+ this.updateBlocInstance();
47
+ // Initialize dependency values if using dependencies
48
+ if (this.isUsingDependencies && options?.dependencies) {
49
+ this.dependencyValues = options.dependencies(this.blocInstance);
50
+ }
51
+ // Notify plugins
52
+ const metadata = this.getAdapterMetadata();
53
+ Blac_1.Blac.getInstance().plugins.notifyAdapterCreated(this, metadata);
54
+ }
55
+ trackAccess(_consumerRef, type, path, value) {
56
+ const fullPath = type === 'class' ? `_class.${path}` : path;
57
+ this.trackedPaths.add(fullPath);
58
+ if (this.subscriptionId) {
59
+ this.blocInstance.trackAccess(this.subscriptionId, fullPath, value);
60
+ }
61
+ else {
62
+ // No subscription ID yet - store for later
63
+ this.pendingTrackedPaths.add(fullPath);
64
+ if (Blac_1.Blac.config.logLevel === 'debug') {
65
+ Blac_1.Blac.log(`[BlacAdapter] trackAccess storing pending path: ${path}`);
66
+ }
67
+ }
68
+ }
69
+ updateBlocInstance() {
70
+ // Determine the instance ID
71
+ let instanceId = this.options?.instanceId;
72
+ // If no explicit instanceId provided but staticProps exist, generate from them
73
+ if (!instanceId && this.options?.staticProps) {
74
+ const generatedId = (0, generateInstanceId_1.generateInstanceIdFromProps)(this.options.staticProps);
75
+ if (generatedId) {
76
+ instanceId = generatedId;
77
+ }
78
+ }
79
+ this.blocInstance = Blac_1.Blac.instance.getBloc(this.blocConstructor, {
80
+ constructorParams: this.options?.staticProps,
81
+ id: instanceId,
82
+ instanceRef: this.id,
83
+ });
84
+ return this.blocInstance;
85
+ }
86
+ createSubscription = (options) => {
87
+ // If using manual dependencies, create a selector-based subscription
88
+ if (this.isUsingDependencies && this.options?.dependencies) {
89
+ this.unsubscribe = this.blocInstance.subscribeWithSelector((_state) => this.options.dependencies(this.blocInstance), (newValues) => {
90
+ const hasChanged = this.hasDependencyValuesChanged(this.dependencyValues, newValues);
91
+ if (hasChanged) {
92
+ this.dependencyValues = newValues;
93
+ options.onChange();
94
+ }
95
+ });
96
+ }
97
+ else {
98
+ // Create a component subscription with weak reference
99
+ const weakRef = new WeakRef(this.componentRef.current);
100
+ this.unsubscribe = this.blocInstance.subscribeComponent(weakRef, options.onChange);
101
+ // Get the subscription ID for tracking
102
+ const subscriptions = this.blocInstance._subscriptionManager
103
+ .subscriptions;
104
+ this.subscriptionId = Array.from(subscriptions.keys()).pop();
105
+ // Apply any pending tracked paths
106
+ if (this.subscriptionId && this.pendingTrackedPaths.size > 0) {
107
+ for (const path of this.pendingTrackedPaths) {
108
+ this.blocInstance.trackAccess(this.subscriptionId, path);
109
+ }
110
+ this.pendingTrackedPaths.clear();
111
+ }
112
+ }
113
+ // Don't call onChange initially - let React handle the initial render
114
+ return () => {
115
+ if (this.unsubscribe) {
116
+ this.unsubscribe();
117
+ this.unsubscribe = undefined;
118
+ this.subscriptionId = undefined;
119
+ }
120
+ };
121
+ };
122
+ hasDependencyValuesChanged = (oldValues, newValues) => {
123
+ if (!oldValues)
124
+ return true;
125
+ if (oldValues.length !== newValues.length)
126
+ return true;
127
+ for (let i = 0; i < oldValues.length; i++) {
128
+ if (!Object.is(oldValues[i], newValues[i])) {
129
+ return true;
130
+ }
131
+ }
132
+ return false;
133
+ };
134
+ getStateProxy = () => {
135
+ // If using manual dependencies or proxy tracking is disabled, return raw state
136
+ if (this.isUsingDependencies || !Blac_1.Blac.config.proxyDependencyTracking) {
137
+ return this.blocInstance.state;
138
+ }
139
+ // Return cached proxy if state hasn't changed
140
+ const currentState = this.blocInstance.state;
141
+ if (this.cachedStateProxy && this.lastProxiedState === currentState) {
142
+ return this.cachedStateProxy;
143
+ }
144
+ // Create new proxy for new state
145
+ this.lastProxiedState = currentState;
146
+ this.cachedStateProxy = this.createStateProxy({ target: currentState });
147
+ return this.cachedStateProxy;
148
+ };
149
+ getBlocProxy = () => {
150
+ // If using manual dependencies or proxy tracking is disabled, return raw bloc
151
+ if (this.isUsingDependencies || !Blac_1.Blac.config.proxyDependencyTracking) {
152
+ return this.blocInstance;
153
+ }
154
+ // Return cached proxy if bloc instance hasn't changed
155
+ if (this.cachedBlocProxy) {
156
+ return this.cachedBlocProxy;
157
+ }
158
+ // Create and cache proxy
159
+ this.cachedBlocProxy = this.createClassProxy({ target: this.blocInstance });
160
+ return this.cachedBlocProxy;
161
+ };
162
+ createStateProxy = (props) => {
163
+ return ProxyFactory_1.ProxyFactory.createStateProxy({
164
+ target: props.target,
165
+ consumerRef: this.componentRef.current,
166
+ consumerTracker: this,
167
+ });
168
+ };
169
+ createClassProxy = (props) => {
170
+ return ProxyFactory_1.ProxyFactory.createClassProxy({
171
+ target: props.target,
172
+ consumerRef: this.componentRef.current,
173
+ consumerTracker: this,
174
+ });
175
+ };
176
+ // Lifecycle methods
177
+ mount = () => {
178
+ this._hasMounted = true;
179
+ this.mountCount++;
180
+ this.mountTime = Date.now();
181
+ // Call onMount hook
182
+ if (this.options?.onMount) {
183
+ this.options.onMount(this.blocInstance);
184
+ }
185
+ // Refresh dependencies if using manual tracking
186
+ if (this.isUsingDependencies && this.options?.dependencies) {
187
+ this.dependencyValues = this.options.dependencies(this.blocInstance);
188
+ }
189
+ // Notify plugins
190
+ const metadata = this.getAdapterMetadata();
191
+ Blac_1.Blac.getInstance().plugins.notifyAdapterMount(this, metadata);
192
+ };
193
+ unmount = () => {
194
+ this.unmountTime = Date.now();
195
+ // Cancel subscription
196
+ if (this.unsubscribe) {
197
+ this.unsubscribe();
198
+ this.unsubscribe = undefined;
199
+ this.subscriptionId = undefined;
200
+ }
201
+ // Call onUnmount hook
202
+ if (this.options?.onUnmount) {
203
+ try {
204
+ this.options.onUnmount(this.blocInstance);
205
+ }
206
+ catch (error) {
207
+ console.error('Error in onUnmount hook:', error);
208
+ }
209
+ }
210
+ // Notify plugins
211
+ const metadata = this.getAdapterMetadata();
212
+ Blac_1.Blac.getInstance().plugins.notifyAdapterUnmount(this, metadata);
213
+ };
214
+ // Reset tracking for next render
215
+ resetTracking() {
216
+ // Clear tracked paths from previous render
217
+ this.trackedPaths.clear();
218
+ this.pendingTrackedPaths.clear();
219
+ // Clear subscription dependencies to track only current render
220
+ if (this.subscriptionId) {
221
+ const subscription = this.blocInstance._subscriptionManager.subscriptions.get(this.subscriptionId);
222
+ if (subscription && subscription.dependencies) {
223
+ // Clear old dependencies - we'll track new ones in this render
224
+ subscription.dependencies.clear();
225
+ }
226
+ }
227
+ }
228
+ // Set component name for rerender logging
229
+ setComponentName(name) {
230
+ this.componentName = name;
231
+ }
232
+ // Notify plugins about render
233
+ notifyRender() {
234
+ this.renderCount++;
235
+ // Update dependency values if using manual tracking
236
+ if (this.isUsingDependencies && this.options?.dependencies) {
237
+ this.lastDependencyValues = this.dependencyValues;
238
+ this.dependencyValues = this.options.dependencies(this.blocInstance);
239
+ }
240
+ const metadata = this.getAdapterMetadata();
241
+ Blac_1.Blac.getInstance().plugins.notifyAdapterRender(this, metadata);
242
+ }
243
+ // Get adapter metadata for plugins
244
+ getAdapterMetadata() {
245
+ return {
246
+ componentName: this.componentName,
247
+ blocInstance: this.blocInstance,
248
+ renderCount: this.renderCount,
249
+ trackedPaths: Array.from(this.trackedPaths),
250
+ isUsingDependencies: this.isUsingDependencies,
251
+ lastState: this.lastState,
252
+ lastDependencyValues: this.lastDependencyValues,
253
+ currentDependencyValues: this.dependencyValues,
254
+ };
255
+ }
256
+ // Get last rerender reason
257
+ getLastRerenderReason() {
258
+ // This method is deprecated - render reason is now handled by the RenderLoggingPlugin
259
+ return undefined;
260
+ }
261
+ }
262
+ exports.BlacAdapter = BlacAdapter;
263
+ //# sourceMappingURL=BlacAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlacAdapter.js","sourceRoot":"","sources":["../../src/adapter/BlacAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import { BlocBase } from '../BlocBase';
2
+ interface ConsumerTracker {
3
+ trackAccess: (consumerRef: object, type: 'state' | 'class', path: string, value?: any) => void;
4
+ }
5
+ /**
6
+ * Creates a proxy for state objects that tracks property access
7
+ */
8
+ export declare const createStateProxy: <T extends object>(target: T, consumerRef: object, consumerTracker: ConsumerTracker, path?: string) => T;
9
+ /**
10
+ * Creates a proxy for bloc instances that tracks getter access
11
+ */
12
+ export declare const createBlocProxy: <T extends object>(target: T, consumerRef: object, consumerTracker: ConsumerTracker) => T;
13
+ export declare const ProxyFactory: {
14
+ createStateProxy: (options: {
15
+ target: any;
16
+ consumerRef: object;
17
+ consumerTracker: ConsumerTracker;
18
+ path?: string;
19
+ }) => any;
20
+ createClassProxy: (options: {
21
+ target: any;
22
+ consumerRef: object;
23
+ consumerTracker: ConsumerTracker;
24
+ }) => any;
25
+ getProxyState: (options: {
26
+ state: any;
27
+ consumerRef: object;
28
+ consumerTracker: ConsumerTracker;
29
+ }) => any;
30
+ getProxyBlocInstance: <B extends BlocBase<any>>(options: {
31
+ blocInstance: B;
32
+ consumerRef: object;
33
+ consumerTracker: ConsumerTracker;
34
+ }) => B;
35
+ getStats: () => {
36
+ propertyAccesses: number;
37
+ nestedProxiesCreated: number;
38
+ cacheEfficiency: string;
39
+ lifetime: string;
40
+ proxiesPerSecond: string;
41
+ stateProxiesCreated: number;
42
+ classProxiesCreated: number;
43
+ cacheHits: number;
44
+ cacheMisses: number;
45
+ totalProxiesCreated: number;
46
+ };
47
+ resetStats: () => void;
48
+ };
49
+ export {};
50
+ //# sourceMappingURL=ProxyFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProxyFactory.d.ts","sourceRoot":"","sources":["../../src/adapter/ProxyFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,UAAU,eAAe;IACvB,WAAW,EAAE,CACX,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,OAAO,GAAG,OAAO,EACvB,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,GAAG,KACR,IAAI,CAAC;CACX;AAcD;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,MAAM,EAC/C,QAAQ,CAAC,EACT,aAAa,MAAM,EACnB,iBAAiB,eAAe,EAChC,aAAS,KACR,CAuEF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,MAAM,EAC9C,QAAQ,CAAC,EACT,aAAa,MAAM,EACnB,iBAAiB,eAAe,KAC/B,CA8CF,CAAC;AAyBF,eAAO,MAAM,YAAY;gCACK;QAC1B,MAAM,EAAE,GAAG,CAAC;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,eAAe,CAAC;QACjC,IAAI,CAAC,EAAE,MAAM,CAAC;KACf;gCAQ2B;QAC1B,MAAM,EAAE,GAAG,CAAC;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,eAAe,CAAC;KAClC;6BAOwB;QACvB,KAAK,EAAE,GAAG,CAAC;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,eAAe,CAAC;KAClC;2BAOsB,CAAC,SAAS,QAAQ,CAAC,GAAG,CAAC,WAAW;QACvD,YAAY,EAAE,CAAC,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,eAAe,CAAC;KAClC;;;;;;;;;;;;;;CA0BF,CAAC"}
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProxyFactory = exports.createBlocProxy = exports.createStateProxy = void 0;
4
+ // Minimal cache for backward compatibility
5
+ const proxyCache = new WeakMap();
6
+ // Minimal stats for backward compatibility
7
+ const stats = {
8
+ stateProxiesCreated: 0,
9
+ classProxiesCreated: 0,
10
+ cacheHits: 0,
11
+ cacheMisses: 0,
12
+ totalProxiesCreated: 0,
13
+ };
14
+ /**
15
+ * Creates a proxy for state objects that tracks property access
16
+ */
17
+ const createStateProxy = (target, consumerRef, consumerTracker, path = '') => {
18
+ if (!consumerRef ||
19
+ !consumerTracker ||
20
+ typeof target !== 'object' ||
21
+ target === null) {
22
+ return target;
23
+ }
24
+ // Check cache for backward compatibility with tests
25
+ if (!path) {
26
+ // Only cache root objects
27
+ let refCache = proxyCache.get(target);
28
+ if (!refCache) {
29
+ refCache = new WeakMap();
30
+ proxyCache.set(target, refCache);
31
+ }
32
+ const cached = refCache.get(consumerRef);
33
+ if (cached) {
34
+ stats.cacheHits++;
35
+ return cached;
36
+ }
37
+ stats.cacheMisses++;
38
+ }
39
+ const proxy = new Proxy(target, {
40
+ get(obj, prop) {
41
+ // Handle symbols and special properties
42
+ if (typeof prop === 'symbol' || prop === 'constructor') {
43
+ return Reflect.get(obj, prop);
44
+ }
45
+ const fullPath = path ? `${path}.${prop}` : prop;
46
+ const value = Reflect.get(obj, prop);
47
+ const isObject = value && typeof value === 'object';
48
+ // Track access with value for primitives
49
+ consumerTracker.trackAccess(consumerRef, 'state', fullPath, isObject ? undefined : value);
50
+ // Recursively proxy nested objects and arrays
51
+ if (isObject &&
52
+ (Array.isArray(value) ||
53
+ Object.getPrototypeOf(value) === Object.prototype)) {
54
+ return (0, exports.createStateProxy)(value, consumerRef, consumerTracker, fullPath);
55
+ }
56
+ return value;
57
+ },
58
+ set: () => false, // State should be immutable
59
+ deleteProperty: () => false, // State properties should not be deleted
60
+ });
61
+ // Cache root proxies
62
+ if (!path) {
63
+ const refCache = proxyCache.get(target);
64
+ refCache.set(consumerRef, proxy);
65
+ stats.stateProxiesCreated++;
66
+ stats.totalProxiesCreated++;
67
+ }
68
+ return proxy;
69
+ };
70
+ exports.createStateProxy = createStateProxy;
71
+ /**
72
+ * Creates a proxy for bloc instances that tracks getter access
73
+ */
74
+ const createBlocProxy = (target, consumerRef, consumerTracker) => {
75
+ if (!consumerRef || !consumerTracker) {
76
+ return target;
77
+ }
78
+ // Check cache
79
+ let refCache = proxyCache.get(target);
80
+ if (!refCache) {
81
+ refCache = new WeakMap();
82
+ proxyCache.set(target, refCache);
83
+ }
84
+ const cached = refCache.get(consumerRef);
85
+ if (cached) {
86
+ stats.cacheHits++;
87
+ return cached;
88
+ }
89
+ stats.cacheMisses++;
90
+ const proxy = new Proxy(target, {
91
+ get(obj, prop) {
92
+ const value = Reflect.get(obj, prop);
93
+ // Only track getters, not methods or regular properties
94
+ const descriptor = findPropertyDescriptor(obj, prop);
95
+ if (descriptor?.get) {
96
+ // Track getter access with value for primitives
97
+ const isPrimitive = value !== null && typeof value !== 'object';
98
+ consumerTracker.trackAccess(consumerRef, 'class', String(prop), isPrimitive ? value : undefined);
99
+ }
100
+ return value;
101
+ },
102
+ });
103
+ // Cache proxy
104
+ refCache.set(consumerRef, proxy);
105
+ stats.classProxiesCreated++;
106
+ stats.totalProxiesCreated++;
107
+ return proxy;
108
+ };
109
+ exports.createBlocProxy = createBlocProxy;
110
+ /**
111
+ * Helper to find property descriptor in prototype chain
112
+ */
113
+ const findPropertyDescriptor = (obj, prop, maxDepth = 10) => {
114
+ let current = obj;
115
+ let depth = 0;
116
+ while (current && depth < maxDepth) {
117
+ const descriptor = Object.getOwnPropertyDescriptor(current, prop);
118
+ if (descriptor)
119
+ return descriptor;
120
+ current = Object.getPrototypeOf(current);
121
+ depth++;
122
+ }
123
+ return undefined;
124
+ };
125
+ // Export compatibility functions for easier migration
126
+ exports.ProxyFactory = {
127
+ createStateProxy: (options) => (0, exports.createStateProxy)(options.target, options.consumerRef, options.consumerTracker, options.path),
128
+ createClassProxy: (options) => (0, exports.createBlocProxy)(options.target, options.consumerRef, options.consumerTracker),
129
+ getProxyState: (options) => (0, exports.createStateProxy)(options.state, options.consumerRef, options.consumerTracker),
130
+ getProxyBlocInstance: (options) => (0, exports.createBlocProxy)(options.blocInstance, options.consumerRef, options.consumerTracker),
131
+ // Compatibility functions that return expected structure
132
+ getStats: () => ({
133
+ ...stats,
134
+ propertyAccesses: 0,
135
+ nestedProxiesCreated: 0,
136
+ cacheEfficiency: stats.cacheHits + stats.cacheMisses > 0
137
+ ? `${((stats.cacheHits / (stats.cacheHits + stats.cacheMisses)) * 100).toFixed(1)}%`
138
+ : 'N/A',
139
+ lifetime: '0ms',
140
+ proxiesPerSecond: 'N/A',
141
+ }),
142
+ resetStats: () => {
143
+ stats.stateProxiesCreated = 0;
144
+ stats.classProxiesCreated = 0;
145
+ stats.cacheHits = 0;
146
+ stats.cacheMisses = 0;
147
+ stats.totalProxiesCreated = 0;
148
+ },
149
+ };
150
+ //# sourceMappingURL=ProxyFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProxyFactory.js","sourceRoot":"","sources":["../../src/adapter/ProxyFactory.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export * from './BlacAdapter';
2
2
  export * from './ProxyFactory';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapter/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./BlacAdapter"), exports);
18
+ __exportStar(require("./ProxyFactory"), exports);
19
+ //# sourceMappingURL=index.js.map