@memberjunction/core 2.128.0 → 2.130.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/__tests__/mocks/TestMetadataProvider.d.ts +4 -2
  2. package/dist/__tests__/mocks/TestMetadataProvider.d.ts.map +1 -1
  3. package/dist/__tests__/mocks/TestMetadataProvider.js +9 -3
  4. package/dist/__tests__/mocks/TestMetadataProvider.js.map +1 -1
  5. package/dist/generic/RegisterForStartup.d.ts +228 -0
  6. package/dist/generic/RegisterForStartup.d.ts.map +1 -0
  7. package/dist/generic/RegisterForStartup.js +233 -0
  8. package/dist/generic/RegisterForStartup.js.map +1 -0
  9. package/dist/generic/baseEngine.d.ts +191 -8
  10. package/dist/generic/baseEngine.d.ts.map +1 -1
  11. package/dist/generic/baseEngine.js +360 -14
  12. package/dist/generic/baseEngine.js.map +1 -1
  13. package/dist/generic/baseEngineRegistry.d.ts +247 -0
  14. package/dist/generic/baseEngineRegistry.d.ts.map +1 -0
  15. package/dist/generic/baseEngineRegistry.js +470 -0
  16. package/dist/generic/baseEngineRegistry.js.map +1 -0
  17. package/dist/generic/entityInfo.d.ts +50 -0
  18. package/dist/generic/entityInfo.d.ts.map +1 -1
  19. package/dist/generic/entityInfo.js +56 -0
  20. package/dist/generic/entityInfo.js.map +1 -1
  21. package/dist/generic/graphqlTypeNames.d.ts +90 -0
  22. package/dist/generic/graphqlTypeNames.d.ts.map +1 -0
  23. package/dist/generic/graphqlTypeNames.js +119 -0
  24. package/dist/generic/graphqlTypeNames.js.map +1 -0
  25. package/dist/generic/interfaces.d.ts +234 -3
  26. package/dist/generic/interfaces.d.ts.map +1 -1
  27. package/dist/generic/interfaces.js.map +1 -1
  28. package/dist/generic/localCacheManager.d.ts +388 -0
  29. package/dist/generic/localCacheManager.d.ts.map +1 -0
  30. package/dist/generic/localCacheManager.js +856 -0
  31. package/dist/generic/localCacheManager.js.map +1 -0
  32. package/dist/generic/providerBase.d.ts +227 -13
  33. package/dist/generic/providerBase.d.ts.map +1 -1
  34. package/dist/generic/providerBase.js +751 -6
  35. package/dist/generic/providerBase.js.map +1 -1
  36. package/dist/generic/queryInfo.d.ts +18 -0
  37. package/dist/generic/queryInfo.d.ts.map +1 -1
  38. package/dist/generic/queryInfo.js +18 -0
  39. package/dist/generic/queryInfo.js.map +1 -1
  40. package/dist/generic/queryInfoInterfaces.d.ts +17 -0
  41. package/dist/generic/queryInfoInterfaces.d.ts.map +1 -1
  42. package/dist/generic/runQuery.d.ts +30 -0
  43. package/dist/generic/runQuery.d.ts.map +1 -1
  44. package/dist/generic/runQuery.js +13 -0
  45. package/dist/generic/runQuery.js.map +1 -1
  46. package/dist/generic/telemetryManager.d.ts +628 -0
  47. package/dist/generic/telemetryManager.d.ts.map +1 -0
  48. package/dist/generic/telemetryManager.js +1011 -0
  49. package/dist/generic/telemetryManager.js.map +1 -0
  50. package/dist/index.d.ts +5 -0
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +5 -0
  53. package/dist/index.js.map +1 -1
  54. package/dist/views/runView.d.ts +25 -0
  55. package/dist/views/runView.d.ts.map +1 -1
  56. package/dist/views/runView.js +4 -5
  57. package/dist/views/runView.js.map +1 -1
  58. package/package.json +2 -2
@@ -1,9 +1,10 @@
1
1
  import { BaseSingleton, MJEvent } from "@memberjunction/global";
2
- import { BehaviorSubject } from "rxjs";
2
+ import { BehaviorSubject, Observable } from "rxjs";
3
3
  import { UserInfo } from "./securityInfo";
4
4
  import { DatasetItemFilterType, IMetadataProvider, IRunViewProvider, RunViewResult } from "./interfaces";
5
5
  import { BaseInfo } from "./baseInfo";
6
- import { BaseEntityEvent } from "./baseEntity";
6
+ import { BaseEntity, BaseEntityEvent } from "./baseEntity";
7
+ import { IStartupSink } from "./RegisterForStartup";
7
8
  /**
8
9
  * Property configuration for the BaseEngine class to automatically load/set properties on the class.
9
10
  */
@@ -63,14 +64,75 @@ export declare class BaseEnginePropertyConfig extends BaseInfo {
63
64
  * This allows different entities to have different debounce delays.
64
65
  */
65
66
  DebounceTime?: number;
67
+ /**
68
+ * When set to true, the engine will use the LocalCacheManager to cache results locally.
69
+ * On subsequent loads (unless forceRefresh is true), cached results will be returned
70
+ * immediately without hitting the server if they are still valid.
71
+ *
72
+ * This is useful for frequently-accessed, relatively-static data that doesn't need
73
+ * real-time freshness. The cache is automatically invalidated when entity data changes.
74
+ *
75
+ * @default false
76
+ */
77
+ CacheLocal?: boolean;
78
+ /**
79
+ * Optional TTL (time-to-live) in milliseconds for locally cached results when CacheLocal is true.
80
+ * After this time, cached results will be considered stale and fresh data will be fetched.
81
+ * If not specified, the LocalCacheManager's default TTL will be used (typically 5 minutes).
82
+ */
83
+ CacheLocalTTL?: number;
66
84
  constructor(init?: Partial<BaseEnginePropertyConfig>);
67
85
  }
86
+ /**
87
+ * Options for the ConfigEx method - provides a more flexible way to configure engines
88
+ */
89
+ export interface ConfigExOptions {
90
+ /**
91
+ * Force refresh from server, bypassing all caches. Default: false
92
+ */
93
+ forceRefresh?: boolean;
94
+ /**
95
+ * The user context for permission checks (required for server-side)
96
+ */
97
+ contextUser?: UserInfo;
98
+ /**
99
+ * Custom provider to use instead of the default
100
+ */
101
+ provider?: IMetadataProvider;
102
+ }
103
+ /**
104
+ * Event emitted when engine data changes (e.g., after a refresh triggered by entity save/delete).
105
+ * Subscribe to an engine's DataChange$ observable to react to data updates.
106
+ */
107
+ export interface EngineDataChangeEvent {
108
+ /**
109
+ * The configuration that was refreshed. Contains PropertyName, EntityName, DatasetName, etc.
110
+ */
111
+ config: BaseEnginePropertyConfig;
112
+ /**
113
+ * The type of change that triggered this event.
114
+ * - 'refresh': Full data reload from database (via RunView)
115
+ * - 'add': Single entity was added to the array (immediate mutation)
116
+ * - 'update': Single entity was updated in the array (immediate mutation)
117
+ * - 'delete': Single entity was removed from the array (immediate mutation)
118
+ */
119
+ changeType: 'refresh' | 'add' | 'update' | 'delete';
120
+ /**
121
+ * The current data array. This is the same data now available on the engine property.
122
+ */
123
+ data: unknown[];
124
+ /**
125
+ * For 'add', 'update', or 'delete' events, this is the entity that was affected.
126
+ * For 'refresh' events, this is undefined.
127
+ */
128
+ affectedEntity?: BaseEntity;
129
+ }
68
130
  /**
69
131
  * Abstract base class for any engine-style class which executes work on behalf of a caller typically using a provider-style architecture with plug-ins. This base class
70
132
  * provides a mechanism for loading metadata from the database and caching it for use by the engine. Subclasses must implement the Config abstract method and within that
71
133
  * generally it is recommended to call the Load method to load the metadata. Subclasses can also override the AdditionalLoading method to perform additional loading tasks.
72
134
  */
73
- export declare abstract class BaseEngine<T> extends BaseSingleton<T> {
135
+ export declare abstract class BaseEngine<T> extends BaseSingleton<T> implements IStartupSink {
74
136
  private _loaded;
75
137
  private _loadingSubject;
76
138
  private _contextUser;
@@ -80,10 +142,46 @@ export declare abstract class BaseEngine<T> extends BaseSingleton<T> {
80
142
  private _expirationTimers;
81
143
  private _entityEventSubjects;
82
144
  private _provider;
145
+ private _dataChange$;
83
146
  /**
84
147
  * While the BaseEngine class is a singleton, normally, it is possible to have multiple instances of the class in an application if the class is used in multiple contexts that have different providers.
85
148
  */
86
149
  constructor();
150
+ /**
151
+ * Observable that emits when any data property changes due to a refresh.
152
+ * Subscribe to this to react to engine data updates (e.g., sync Angular observables).
153
+ *
154
+ * Events are emitted after data is refreshed in response to BaseEntity save/delete events.
155
+ * The event includes the full config and the new data array.
156
+ *
157
+ * @example
158
+ * ```typescript
159
+ * UserInfoEngine.Instance.DataChange$.subscribe(event => {
160
+ * if (event.config.PropertyName === 'UserApplications') {
161
+ * // Sync local state with engine's updated data
162
+ * this.refreshLocalAppList();
163
+ * }
164
+ * });
165
+ * ```
166
+ */
167
+ get DataChange$(): Observable<EngineDataChangeEvent>;
168
+ /**
169
+ * Notify listeners that a data property has changed.
170
+ * Called automatically by HandleSingleViewResult after data refresh and by applyImmediateMutation for array operations.
171
+ * Subclasses can also call this manually when modifying data arrays directly.
172
+ *
173
+ * @param config - The configuration for the property that changed
174
+ * @param data - The current data array
175
+ * @param changeType - The type of change: 'refresh', 'add', 'update', or 'delete'
176
+ * @param affectedEntity - For add/update/delete, the entity that was affected
177
+ */
178
+ protected NotifyDataChange(config: BaseEnginePropertyConfig, data: unknown[], changeType?: 'refresh' | 'add' | 'update' | 'delete', affectedEntity?: BaseEntity): void;
179
+ /**
180
+ * All BaseEngine sub-classes get an implementation of IStartupSink so they can be set the auto start in their
181
+ * app container, if desired, simply by adding the @see @RegisterForStartup decorator. The BaseEngine implementation
182
+ * of IStartupSink.HandleStartup is to simply call @see Config
183
+ */
184
+ HandleStartup(contextUser?: UserInfo, provider?: IMetadataProvider): Promise<void>;
87
185
  /**
88
186
  * Returns the metadata provider to use for the engine. If a provider is set via the Config method, that provider will be used, otherwise the default provider will be used.
89
187
  */
@@ -99,8 +197,30 @@ export declare abstract class BaseEngine<T> extends BaseSingleton<T> {
99
197
  get Configs(): BaseEnginePropertyConfig[];
100
198
  /**
101
199
  * Configures the engine by loading metadata from the database.
200
+ * Subclasses must implement this method to define their configuration behavior.
201
+ *
202
+ * Note: This method is called by ConfigEx() - prefer using ConfigEx() directly for new code
203
+ * as it provides more flexible configuration options.
102
204
  */
103
- abstract Config(forceRefresh?: boolean, contextUser?: UserInfo, provider?: IMetadataProvider): any;
205
+ abstract Config(forceRefresh?: boolean, contextUser?: UserInfo, provider?: IMetadataProvider): Promise<unknown>;
206
+ /**
207
+ * Extended configuration method with object-based options.
208
+ * This provides a more flexible API compared to Config() with positional parameters.
209
+ *
210
+ * Internally calls Config() after setting up options that Load() can access.
211
+ *
212
+ * @param options - Configuration options object
213
+ * @returns Promise that resolves when configuration is complete
214
+ *
215
+ * @example
216
+ * ```typescript
217
+ * await MyEngine.Instance.ConfigEx({
218
+ * forceRefresh: true,
219
+ * contextUser: currentUser
220
+ * });
221
+ * ```
222
+ */
223
+ ConfigEx(options?: ConfigExOptions): Promise<unknown>;
104
224
  /**
105
225
  * This method should be called by sub-classes to load up their specific metadata requirements. For more complex metadata
106
226
  * loading or for post-processing of metadata loading done here, overide the AdditionalLoading method to add your logic.
@@ -143,9 +263,12 @@ export declare abstract class BaseEngine<T> extends BaseSingleton<T> {
143
263
  */
144
264
  protected HandleIndividualEvent(event: MJEvent): Promise<boolean>;
145
265
  /**
146
- * This method handles the individual base entity event and just checks to see if it is a delete or save event and if so, debounces it.
147
- * Override this method if you want to have a different handling for the filtering of events that are debounced or if you don't want to debounce
148
- * at all you can do that in an override of this method.
266
+ * This method handles the individual base entity event. For events that can use immediate array mutations
267
+ * (no Filter, OrderBy, or AdditionalLoading override), processing happens synchronously without debounce.
268
+ * For events that require full view refresh, debouncing is applied to batch rapid successive changes.
269
+ *
270
+ * Override this method if you want to have a different handling for the filtering of events that are debounced
271
+ * or if you don't want to debounce at all you can do that in an override of this method.
149
272
  * @param event
150
273
  */
151
274
  protected HandleIndividualBaseEntityEvent(event: BaseEntityEvent): Promise<boolean>;
@@ -161,7 +284,12 @@ export declare abstract class BaseEngine<T> extends BaseSingleton<T> {
161
284
  protected DebounceIndividualBaseEntityEvent(event: BaseEntityEvent): Promise<boolean>;
162
285
  private _entityEventDebounceTime;
163
286
  /**
164
- * Overridable property to set the debounce time for entity events. Default is 5000 milliseconds (5 seconds).
287
+ * Overridable property to set the debounce time for entity events. Default is 1500 milliseconds (1.5 seconds).
288
+ * This debounce time is used when immediate array mutations cannot be applied (e.g., when Filter, OrderBy,
289
+ * or AdditionalLoading overrides are present) and a full view refresh is required.
290
+ *
291
+ * Note: When immediate mutations ARE possible (no Filter, OrderBy, or AdditionalLoading override),
292
+ * updates happen synchronously without any debounce delay.
165
293
  */
166
294
  protected get EntityEventDebounceTime(): number;
167
295
  /**
@@ -172,6 +300,61 @@ export declare abstract class BaseEngine<T> extends BaseSingleton<T> {
172
300
  * This is the best method to override if you want to change the actual processing of an entity event but do NOT want to modify the debouncing behavior.
173
301
  */
174
302
  protected ProcessEntityEvent(event: BaseEntityEvent): Promise<void>;
303
+ /**
304
+ * Checks if the exact entity object reference is already in the config's data array.
305
+ * Used to skip unnecessary refreshes for UPDATE events where the object was mutated in place.
306
+ *
307
+ * @param config - The configuration to check
308
+ * @param entity - The entity to look for
309
+ * @returns true if the exact object reference is already in the array
310
+ */
311
+ protected isEntityAlreadyInArray(config: BaseEnginePropertyConfig, entity: BaseEntity): boolean;
312
+ /**
313
+ * Checks if an entity is in the config's data array by object reference OR by primary key match.
314
+ * Used for DELETE events where we need to know if the entity still exists in the array.
315
+ * The object reference may still exist (entity.Delete() just marks it deleted), but if it was
316
+ * manually spliced out by engine code, we check by primary key as fallback.
317
+ *
318
+ * @param config - The configuration to check
319
+ * @param entity - The entity to look for
320
+ * @returns true if the entity is in the array (by reference or by primary key)
321
+ */
322
+ protected isEntityInArrayByRefOrKey(config: BaseEnginePropertyConfig, entity: BaseEntity): boolean;
323
+ /**
324
+ * Determines if an immediate array mutation can be used instead of running a full view refresh.
325
+ * Immediate mutations are only safe when:
326
+ * 1. The config has no Filter (no server-side filtering that might exclude the entity)
327
+ * 2. The config has no OrderBy (no server-side ordering that would need to be maintained)
328
+ * 3. The subclass has not overridden AdditionalLoading (no post-processing that depends on full data)
329
+ *
330
+ * @param config - The configuration to check
331
+ * @returns true if immediate mutation is safe, false if a full view refresh is needed
332
+ */
333
+ protected canUseImmediateMutation(config: BaseEnginePropertyConfig): boolean;
334
+ /**
335
+ * Checks if the current instance has overridden the AdditionalLoading method.
336
+ * We do this by comparing the method to the base class's method.
337
+ *
338
+ * @returns true if AdditionalLoading is overridden, false if using the base implementation
339
+ */
340
+ protected hasAdditionalLoadingOverride(): boolean;
341
+ /**
342
+ * Applies an immediate array mutation based on the entity event type.
343
+ * This is faster than running a full view refresh for simple add/update/delete operations.
344
+ *
345
+ * @param config - The configuration for the property being mutated
346
+ * @param event - The entity event containing the affected entity and event type
347
+ */
348
+ protected applyImmediateMutation(config: BaseEnginePropertyConfig, event: BaseEntityEvent): void;
349
+ /**
350
+ * Finds an entity in the array by matching all primary key columns.
351
+ * Supports composite primary keys by comparing all PrimaryKey fields from EntityInfo.
352
+ *
353
+ * @param dataArray - The array of entities to search
354
+ * @param targetEntity - The entity to find (using its primary key values)
355
+ * @returns The index of the matching entity, or -1 if not found
356
+ */
357
+ protected findEntityIndexByPrimaryKeys(dataArray: BaseEntity[], targetEntity: BaseEntity): number;
175
358
  /**
176
359
  * Utility method to upgrade an object to a BaseEnginePropertyConfig object.
177
360
  * @param obj
@@ -1 +1 @@
1
- {"version":3,"file":"baseEngine.d.ts","sourceRoot":"","sources":["../../src/generic/baseEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseEngine.d.ts","sourceRoot":"","sources":["../../src/generic/baseEngine.ts"],"names":[],"mappings":"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"}