@blac/core 2.0.0-rc.1 → 2.0.0-rc.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 (121) hide show
  1. package/dist/index.cjs +1361 -38
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.cts +868 -0
  4. package/dist/index.d.ts +867 -16
  5. package/dist/index.js +1315 -37
  6. package/dist/index.js.map +1 -1
  7. package/package.json +17 -11
  8. package/dist/.tsbuildinfo +0 -1
  9. package/dist/Blac.d.ts +0 -246
  10. package/dist/Blac.d.ts.map +0 -1
  11. package/dist/Blac.js +0 -624
  12. package/dist/Blac.js.map +0 -1
  13. package/dist/Bloc.d.ts +0 -41
  14. package/dist/Bloc.d.ts.map +0 -1
  15. package/dist/Bloc.js +0 -140
  16. package/dist/Bloc.js.map +0 -1
  17. package/dist/BlocBase.d.ts +0 -110
  18. package/dist/BlocBase.d.ts.map +0 -1
  19. package/dist/BlocBase.js +0 -287
  20. package/dist/BlocBase.js.map +0 -1
  21. package/dist/Cubit.d.ts +0 -25
  22. package/dist/Cubit.d.ts.map +0 -1
  23. package/dist/Cubit.js +0 -64
  24. package/dist/Cubit.js.map +0 -1
  25. package/dist/adapter/BlacAdapter.d.ts +0 -67
  26. package/dist/adapter/BlacAdapter.d.ts.map +0 -1
  27. package/dist/adapter/BlacAdapter.js +0 -263
  28. package/dist/adapter/BlacAdapter.js.map +0 -1
  29. package/dist/adapter/ProxyFactory.d.ts +0 -50
  30. package/dist/adapter/ProxyFactory.d.ts.map +0 -1
  31. package/dist/adapter/ProxyFactory.js +0 -150
  32. package/dist/adapter/ProxyFactory.js.map +0 -1
  33. package/dist/adapter/index.d.ts +0 -3
  34. package/dist/adapter/index.d.ts.map +0 -1
  35. package/dist/adapter/index.js +0 -19
  36. package/dist/adapter/index.js.map +0 -1
  37. package/dist/errors/BlacError.d.ts +0 -38
  38. package/dist/errors/BlacError.d.ts.map +0 -1
  39. package/dist/errors/BlacError.js +0 -55
  40. package/dist/errors/BlacError.js.map +0 -1
  41. package/dist/errors/ErrorManager.d.ts +0 -39
  42. package/dist/errors/ErrorManager.d.ts.map +0 -1
  43. package/dist/errors/ErrorManager.js +0 -91
  44. package/dist/errors/ErrorManager.js.map +0 -1
  45. package/dist/errors/handleError.d.ts +0 -24
  46. package/dist/errors/handleError.d.ts.map +0 -1
  47. package/dist/errors/handleError.js +0 -62
  48. package/dist/errors/handleError.js.map +0 -1
  49. package/dist/errors/index.d.ts +0 -5
  50. package/dist/errors/index.d.ts.map +0 -1
  51. package/dist/errors/index.js +0 -13
  52. package/dist/errors/index.js.map +0 -1
  53. package/dist/events.d.ts +0 -11
  54. package/dist/events.d.ts.map +0 -1
  55. package/dist/events.js +0 -17
  56. package/dist/events.js.map +0 -1
  57. package/dist/index.d.ts.map +0 -1
  58. package/dist/lifecycle/BlocLifecycle.d.ts +0 -51
  59. package/dist/lifecycle/BlocLifecycle.d.ts.map +0 -1
  60. package/dist/lifecycle/BlocLifecycle.js +0 -123
  61. package/dist/lifecycle/BlocLifecycle.js.map +0 -1
  62. package/dist/lifecycle/index.d.ts +0 -2
  63. package/dist/lifecycle/index.d.ts.map +0 -1
  64. package/dist/lifecycle/index.js +0 -18
  65. package/dist/lifecycle/index.js.map +0 -1
  66. package/dist/plugins/BlocPluginRegistry.d.ts +0 -58
  67. package/dist/plugins/BlocPluginRegistry.d.ts.map +0 -1
  68. package/dist/plugins/BlocPluginRegistry.js +0 -201
  69. package/dist/plugins/BlocPluginRegistry.js.map +0 -1
  70. package/dist/plugins/SystemPluginRegistry.d.ts +0 -79
  71. package/dist/plugins/SystemPluginRegistry.d.ts.map +0 -1
  72. package/dist/plugins/SystemPluginRegistry.js +0 -184
  73. package/dist/plugins/SystemPluginRegistry.js.map +0 -1
  74. package/dist/plugins/index.d.ts +0 -4
  75. package/dist/plugins/index.d.ts.map +0 -1
  76. package/dist/plugins/index.js +0 -26
  77. package/dist/plugins/index.js.map +0 -1
  78. package/dist/plugins/types.d.ts +0 -103
  79. package/dist/plugins/types.d.ts.map +0 -1
  80. package/dist/plugins/types.js +0 -3
  81. package/dist/plugins/types.js.map +0 -1
  82. package/dist/subscription/SubscriptionManager.d.ts +0 -67
  83. package/dist/subscription/SubscriptionManager.d.ts.map +0 -1
  84. package/dist/subscription/SubscriptionManager.js +0 -317
  85. package/dist/subscription/SubscriptionManager.js.map +0 -1
  86. package/dist/subscription/index.d.ts +0 -3
  87. package/dist/subscription/index.d.ts.map +0 -1
  88. package/dist/subscription/index.js +0 -19
  89. package/dist/subscription/index.js.map +0 -1
  90. package/dist/subscription/types.d.ts +0 -65
  91. package/dist/subscription/types.d.ts.map +0 -1
  92. package/dist/subscription/types.js +0 -3
  93. package/dist/subscription/types.js.map +0 -1
  94. package/dist/testing.d.ts +0 -33
  95. package/dist/testing.d.ts.map +0 -1
  96. package/dist/testing.js +0 -68
  97. package/dist/testing.js.map +0 -1
  98. package/dist/types.d.ts +0 -57
  99. package/dist/types.d.ts.map +0 -1
  100. package/dist/types.js +0 -3
  101. package/dist/types.js.map +0 -1
  102. package/dist/utils/BatchingManager.d.ts +0 -28
  103. package/dist/utils/BatchingManager.d.ts.map +0 -1
  104. package/dist/utils/BatchingManager.js +0 -48
  105. package/dist/utils/BatchingManager.js.map +0 -1
  106. package/dist/utils/RerenderLogger.d.ts +0 -60
  107. package/dist/utils/RerenderLogger.d.ts.map +0 -1
  108. package/dist/utils/RerenderLogger.js +0 -205
  109. package/dist/utils/RerenderLogger.js.map +0 -1
  110. package/dist/utils/generateInstanceId.d.ts +0 -11
  111. package/dist/utils/generateInstanceId.d.ts.map +0 -1
  112. package/dist/utils/generateInstanceId.js +0 -50
  113. package/dist/utils/generateInstanceId.js.map +0 -1
  114. package/dist/utils/shallowEqual.d.ts +0 -9
  115. package/dist/utils/shallowEqual.d.ts.map +0 -1
  116. package/dist/utils/shallowEqual.js +0 -35
  117. package/dist/utils/shallowEqual.js.map +0 -1
  118. package/dist/utils/uuid.d.ts +0 -10
  119. package/dist/utils/uuid.d.ts.map +0 -1
  120. package/dist/utils/uuid.js +0 -24
  121. package/dist/utils/uuid.js.map +0 -1
package/dist/Blac.d.ts DELETED
@@ -1,246 +0,0 @@
1
- import { BlocBase, BlocInstanceId } from './BlocBase';
2
- import { BlocConstructor, BlocHookDependencyArrayFn, BlocState } from './types';
3
- import { SystemPluginRegistry } from './plugins/SystemPluginRegistry';
4
- /**
5
- * Configuration options for the Blac instance
6
- */
7
- export interface BlacConfig {
8
- /**
9
- * Whether to enable proxy dependency tracking for automatic re-render optimization.
10
- * When false, state changes always cause re-renders unless dependencies are manually specified.
11
- * Default: true
12
- */
13
- proxyDependencyTracking?: boolean;
14
- }
15
- export interface GetBlocOptions<B extends BlocBase<unknown>> {
16
- id?: string;
17
- selector?: BlocHookDependencyArrayFn<BlocState<B>>;
18
- constructorParams?: ConstructorParameters<BlocConstructor<B>>[];
19
- onMount?: (bloc: B) => void;
20
- instanceRef?: string;
21
- throwIfNotFound?: boolean;
22
- /** Force creation of a new instance for isolated blocs, bypassing instance lookup */
23
- forceNewInstance?: boolean;
24
- }
25
- /**
26
- * Interface for Blac instance management
27
- */
28
- export interface BlacInstanceManager {
29
- getInstance(): Blac;
30
- setInstance(instance: Blac): void;
31
- resetInstance(): void;
32
- }
33
- /**
34
- * Sets a custom instance manager (useful for testing or advanced patterns)
35
- */
36
- export declare function setBlacInstanceManager(manager: BlacInstanceManager): void;
37
- /**
38
- * Main Blac class that manages the state management system.
39
- * Can work with singleton pattern or dependency injection.
40
- * Handles bloc lifecycle, and instance tracking.
41
- *
42
- * Key responsibilities:
43
- * - Managing bloc instances (creation, disposal, lookup)
44
- * - Handling isolated and non-isolated blocs
45
- * - Providing logging and debugging capabilities
46
- */
47
- export declare class Blac {
48
- static get instance(): Blac;
49
- /** Timestamp when the instance was created */
50
- createdAt: number;
51
- private errorManager;
52
- static get getAllBlocs(): <B extends BlocConstructor<any>>(blocClass: B, options?: {
53
- searchIsolated?: boolean;
54
- }) => InstanceType<B>[];
55
- /** Private static configuration */
56
- private static _config;
57
- /** Get current configuration */
58
- static get config(): Readonly<BlacConfig>;
59
- /**
60
- * Set or update Blac configuration
61
- * @param config - Partial configuration to merge with existing config
62
- * @throws Error if configuration is invalid
63
- */
64
- static setConfig(config: Partial<BlacConfig>): void;
65
- /** Map storing all registered bloc instances by their class name and ID */
66
- blocInstanceMap: Map<string, BlocBase<unknown>>;
67
- /** Map storing isolated bloc instances grouped by their constructor */
68
- isolatedBlocMap: Map<BlocConstructor<any>, BlocBase<unknown>[]>;
69
- /** Map for O(1) lookup of isolated blocs by UID */
70
- isolatedBlocIndex: Map<string, BlocBase<unknown>>;
71
- /** Map tracking UIDs to prevent memory leaks */
72
- uidRegistry: Map<string, BlocBase<unknown>>;
73
- /** Set of keep-alive blocs for controlled cleanup */
74
- keepAliveBlocs: Set<BlocBase<unknown>>;
75
- /** Flag to control whether changes should be posted to document */
76
- postChangesToDocument: boolean;
77
- /** System plugin registry */
78
- readonly plugins: SystemPluginRegistry;
79
- /**
80
- * Creates a new Blac instance.
81
- * @param options - Configuration options including singleton control
82
- */
83
- constructor(options?: {
84
- __unsafe_ignore_singleton?: boolean;
85
- });
86
- /** Flag to enable/disable logging */
87
- static enableLog: boolean;
88
- static logLevel: 'warn' | 'log';
89
- static logSpy: ((...args: unknown[]) => void) | null;
90
- /**
91
- * Logs messages to console when logging is enabled
92
- * @param args - Arguments to log
93
- */
94
- log: (...args: unknown[]) => void;
95
- static get log(): (...args: unknown[]) => void;
96
- /**
97
- * Gets the current Blac instance
98
- * @returns The Blac instance
99
- */
100
- static getInstance(): Blac;
101
- /**
102
- * Logs a warning message
103
- * @param message - Warning message
104
- * @param args - Additional arguments
105
- */
106
- warn: (message: string, ...args: unknown[]) => void;
107
- static get warn(): (message: string, ...args: unknown[]) => void;
108
- /**
109
- * Logs an error message
110
- * @param message - Error message
111
- * @param args - Additional arguments
112
- */
113
- error: (message: string, ...args: unknown[]) => void;
114
- static get error(): (message: string, ...args: unknown[]) => void;
115
- /**
116
- * Resets the Blac instance to a new one, disposing non-keepAlive blocs
117
- * from the old instance.
118
- */
119
- resetInstance: () => void;
120
- static resetInstance: () => void;
121
- /**
122
- * Disposes of a bloc instance by removing it from the appropriate registry
123
- * @param bloc - The bloc instance to dispose
124
- */
125
- disposeBloc: (bloc: BlocBase<unknown>) => void;
126
- static get disposeBloc(): (bloc: BlocBase<unknown>) => void;
127
- /**
128
- * Creates a unique key for a bloc instance in the map based on the bloc class name and instance ID
129
- * @param blocClassName - The name of the bloc class
130
- * @param id - The instance ID
131
- * @returns A unique key string in the format "className:id"
132
- */
133
- createBlocInstanceMapKey(blocClassName: string, id: BlocInstanceId): string;
134
- /**
135
- * Unregister a bloc instance from the main registry
136
- * @param bloc - The bloc instance to unregister
137
- */
138
- unregisterBlocInstance(bloc: BlocBase<unknown>): void;
139
- /**
140
- * Registers a bloc instance in the main registry
141
- * @param bloc - The bloc instance to register
142
- */
143
- registerBlocInstance(bloc: BlocBase<unknown>): void;
144
- /**
145
- * Finds a registered bloc instance by its class and ID
146
- * @param blocClass - The bloc class to search for
147
- * @param id - The instance ID
148
- * @returns The found bloc instance or undefined if not found
149
- */
150
- findRegisteredBlocInstance<B extends BlocConstructor<any>>(blocClass: B, id: BlocInstanceId): InstanceType<B> | undefined;
151
- /**
152
- * Registers an isolated bloc instance in the isolated registry
153
- * @param bloc - The isolated bloc instance to register
154
- */
155
- registerIsolatedBlocInstance(bloc: BlocBase<unknown>): void;
156
- /**
157
- * Unregister an isolated bloc instance from the isolated registry
158
- * @param bloc - The isolated bloc instance to unregister
159
- */
160
- unregisterIsolatedBlocInstance(bloc: BlocBase<unknown>): void;
161
- /**
162
- * Finds an isolated bloc instance by its class and ID (O(n) lookup)
163
- */
164
- findIsolatedBlocInstance<B extends BlocConstructor<any>>(blocClass: B, id: BlocInstanceId): InstanceType<B> | undefined;
165
- /**
166
- * Finds an isolated bloc instance by UID (O(1) lookup)
167
- */
168
- findIsolatedBlocInstanceByUid<B extends BlocBase<unknown>>(uid: string): B | undefined;
169
- /**
170
- * Creates a new bloc instance and registers it in the appropriate registry
171
- * @param blocClass - The bloc class to instantiate
172
- * @param id - The instance ID
173
- * @param props - Properties to pass to the bloc constructor
174
- * @param instanceRef - Optional reference string for the instance
175
- * @returns The newly created bloc instance
176
- */
177
- createNewBlocInstance<B extends BlocConstructor<BlocBase<any>>>(blocClass: B, id: BlocInstanceId, options?: GetBlocOptions<InstanceType<B>>): InstanceType<B>;
178
- activateBloc: (bloc: BlocBase<unknown>) => void;
179
- static get activateBloc(): (bloc: BlocBase<unknown>) => void;
180
- /**
181
- * Gets or creates a bloc instance based on the provided class and options.
182
- * If a bloc with the given ID exists, it will be returned. Otherwise, a new instance will be created.
183
- *
184
- * @param blocClass - The bloc class to get or create
185
- * @param options - Options including:
186
- * - id: The instance ID (defaults to class name if not provided)
187
- * - props: Properties to pass to the bloc constructor
188
- * - instanceRef: Optional reference string for the instance
189
- * @returns The bloc instance
190
- */
191
- getBloc: <B extends BlocConstructor<BlocBase<any>>>(blocClass: B, options?: GetBlocOptions<InstanceType<B>>) => InstanceType<B>;
192
- static get getBloc(): <B extends BlocConstructor<BlocBase<any>>>(blocClass: B, options?: GetBlocOptions<InstanceType<B>>) => InstanceType<B>;
193
- /**
194
- * Gets all instances of a specific bloc class
195
- * @param blocClass - The bloc class to search for
196
- * @param options - Options including:
197
- * - searchIsolated: Whether to search in isolated blocs (defaults to bloc's isolated property)
198
- * @returns Array of matching bloc instances
199
- */
200
- getAllBlocs: <B extends BlocConstructor<any>>(blocClass: B, options?: {
201
- searchIsolated?: boolean;
202
- }) => InstanceType<B>[];
203
- /**
204
- * Disposes all keep-alive blocs of a specific type
205
- * @param blocClass - The bloc class to dispose
206
- */
207
- disposeKeepAliveBlocs: <B extends BlocConstructor<any>>(blocClass?: B) => void;
208
- static get disposeKeepAliveBlocs(): <B extends BlocConstructor<any>>(blocClass?: B | undefined) => void;
209
- /**
210
- * Disposes all blocs matching a pattern
211
- * @param predicate - Function to test each bloc for disposal
212
- */
213
- disposeBlocs: (predicate: (bloc: BlocBase<unknown>) => boolean) => void;
214
- static get disposeBlocs(): (predicate: (bloc: BlocBase<unknown>) => boolean) => void;
215
- /**
216
- * Gets memory usage statistics for debugging
217
- */
218
- getMemoryStats: () => {
219
- totalBlocs: number;
220
- registeredBlocs: number;
221
- isolatedBlocs: number;
222
- keepAliveBlocs: number;
223
- isolatedBlocTypes: number;
224
- };
225
- static get getMemoryStats(): () => {
226
- totalBlocs: number;
227
- registeredBlocs: number;
228
- isolatedBlocs: number;
229
- keepAliveBlocs: number;
230
- isolatedBlocTypes: number;
231
- };
232
- /**
233
- * Validates subscription references and cleans up orphaned blocs
234
- */
235
- validateConsumers: () => void;
236
- static get validateConsumers(): () => void;
237
- /**
238
- * Bootstrap the Blac instance and all plugins
239
- */
240
- bootstrap(): void;
241
- /**
242
- * Shutdown the Blac instance and all plugins
243
- */
244
- shutdown(): void;
245
- }
246
- //# sourceMappingURL=Blac.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Blac.d.ts","sourceRoot":"","sources":["../src/Blac.ts"],"names":[],"mappings":"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"}