@memberjunction/global 2.111.1 → 2.112.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.
- package/dist/Core.d.ts +29 -0
- package/dist/Core.d.ts.map +1 -0
- package/dist/Core.js +58 -0
- package/dist/Core.js.map +1 -0
- package/dist/generic/QueryCache.d.ts +85 -0
- package/dist/generic/QueryCache.d.ts.map +1 -0
- package/dist/generic/QueryCache.js +198 -0
- package/dist/generic/QueryCache.js.map +1 -0
- package/dist/generic/QueryCacheConfig.d.ts +72 -0
- package/dist/generic/QueryCacheConfig.d.ts.map +1 -0
- package/dist/generic/QueryCacheConfig.js +3 -0
- package/dist/generic/QueryCacheConfig.js.map +1 -0
- package/dist/generic/applicationInfo.d.ts +138 -0
- package/dist/generic/applicationInfo.d.ts.map +1 -0
- package/dist/generic/applicationInfo.js +177 -0
- package/dist/generic/applicationInfo.js.map +1 -0
- package/dist/generic/authEvaluator.d.ts +25 -0
- package/dist/generic/authEvaluator.d.ts.map +1 -0
- package/dist/generic/authEvaluator.js +49 -0
- package/dist/generic/authEvaluator.js.map +1 -0
- package/dist/generic/authTypes.d.ts +193 -0
- package/dist/generic/authTypes.d.ts.map +1 -0
- package/dist/generic/authTypes.js +19 -0
- package/dist/generic/authTypes.js.map +1 -0
- package/dist/generic/baseEngine.d.ts +260 -0
- package/dist/generic/baseEngine.d.ts.map +1 -0
- package/dist/generic/baseEngine.js +510 -0
- package/dist/generic/baseEngine.js.map +1 -0
- package/dist/generic/baseEntity.d.ts +691 -0
- package/dist/generic/baseEntity.d.ts.map +1 -0
- package/dist/generic/baseEntity.js +1688 -0
- package/dist/generic/baseEntity.js.map +1 -0
- package/dist/generic/baseInfo.d.ts +24 -0
- package/dist/generic/baseInfo.d.ts.map +1 -0
- package/dist/generic/baseInfo.js +53 -0
- package/dist/generic/baseInfo.js.map +1 -0
- package/dist/generic/compositeKey.d.ts +206 -0
- package/dist/generic/compositeKey.d.ts.map +1 -0
- package/dist/generic/compositeKey.js +412 -0
- package/dist/generic/compositeKey.js.map +1 -0
- package/dist/generic/databaseProviderBase.d.ts +46 -0
- package/dist/generic/databaseProviderBase.d.ts.map +1 -0
- package/dist/generic/databaseProviderBase.js +14 -0
- package/dist/generic/databaseProviderBase.js.map +1 -0
- package/dist/generic/entityInfo.d.ts +983 -0
- package/dist/generic/entityInfo.d.ts.map +1 -0
- package/dist/generic/entityInfo.js +1401 -0
- package/dist/generic/entityInfo.js.map +1 -0
- package/dist/generic/explorerNavigationItem.d.ts +20 -0
- package/dist/generic/explorerNavigationItem.d.ts.map +1 -0
- package/dist/generic/explorerNavigationItem.js +29 -0
- package/dist/generic/explorerNavigationItem.js.map +1 -0
- package/dist/generic/interfaces.d.ts +610 -0
- package/dist/generic/interfaces.d.ts.map +1 -0
- package/dist/generic/interfaces.js +211 -0
- package/dist/generic/interfaces.js.map +1 -0
- package/dist/generic/libraryInfo.d.ts +40 -0
- package/dist/generic/libraryInfo.d.ts.map +1 -0
- package/dist/generic/libraryInfo.js +56 -0
- package/dist/generic/libraryInfo.js.map +1 -0
- package/dist/generic/logging.d.ts +179 -0
- package/dist/generic/logging.d.ts.map +1 -0
- package/dist/generic/logging.js +382 -0
- package/dist/generic/logging.js.map +1 -0
- package/dist/generic/metadata.d.ts +305 -0
- package/dist/generic/metadata.d.ts.map +1 -0
- package/dist/generic/metadata.js +454 -0
- package/dist/generic/metadata.js.map +1 -0
- package/dist/generic/metadataUtil.d.ts +8 -0
- package/dist/generic/metadataUtil.d.ts.map +1 -0
- package/dist/generic/metadataUtil.js +36 -0
- package/dist/generic/metadataUtil.js.map +1 -0
- package/dist/generic/providerBase.d.ts +546 -0
- package/dist/generic/providerBase.d.ts.map +1 -0
- package/dist/generic/providerBase.js +999 -0
- package/dist/generic/providerBase.js.map +1 -0
- package/dist/generic/queryInfo.d.ts +460 -0
- package/dist/generic/queryInfo.d.ts.map +1 -0
- package/dist/generic/queryInfo.js +633 -0
- package/dist/generic/queryInfo.js.map +1 -0
- package/dist/generic/querySQLFilters.d.ts +54 -0
- package/dist/generic/querySQLFilters.d.ts.map +1 -0
- package/dist/generic/querySQLFilters.js +84 -0
- package/dist/generic/querySQLFilters.js.map +1 -0
- package/dist/generic/runQuery.d.ts +96 -0
- package/dist/generic/runQuery.d.ts.map +1 -0
- package/dist/generic/runQuery.js +66 -0
- package/dist/generic/runQuery.js.map +1 -0
- package/dist/generic/runQuerySQLFilterImplementations.d.ts +51 -0
- package/dist/generic/runQuerySQLFilterImplementations.d.ts.map +1 -0
- package/dist/generic/runQuerySQLFilterImplementations.js +238 -0
- package/dist/generic/runQuerySQLFilterImplementations.js.map +1 -0
- package/dist/generic/runReport.d.ts +25 -0
- package/dist/generic/runReport.d.ts.map +1 -0
- package/dist/generic/runReport.js +42 -0
- package/dist/generic/runReport.js.map +1 -0
- package/dist/generic/securityInfo.d.ts +355 -0
- package/dist/generic/securityInfo.d.ts.map +1 -0
- package/dist/generic/securityInfo.js +425 -0
- package/dist/generic/securityInfo.js.map +1 -0
- package/dist/generic/transactionGroup.d.ts +184 -0
- package/dist/generic/transactionGroup.d.ts.map +1 -0
- package/dist/generic/transactionGroup.js +357 -0
- package/dist/generic/transactionGroup.js.map +1 -0
- package/dist/generic/util.d.ts +81 -0
- package/dist/generic/util.d.ts.map +1 -0
- package/dist/generic/util.js +301 -0
- package/dist/generic/util.js.map +1 -0
- package/dist/views/runView.d.ts +150 -0
- package/dist/views/runView.d.ts.map +1 -0
- package/dist/views/runView.js +100 -0
- package/dist/views/runView.js.map +1 -0
- package/dist/views/viewInfo.d.ts +121 -0
- package/dist/views/viewInfo.d.ts.map +1 -0
- package/dist/views/viewInfo.js +182 -0
- package/dist/views/viewInfo.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
import { BehaviorSubject } from 'rxjs';
|
|
2
|
+
import { UserInfo } from './securityInfo';
|
|
3
|
+
import { DatasetItemFilterType, IMetadataProvider, IRunViewProvider, RunViewResult } from './interfaces';
|
|
4
|
+
import { BaseInfo } from './baseInfo';
|
|
5
|
+
import { BaseEntityEvent } from './baseEntity';
|
|
6
|
+
import { MJEvent } from '../interface';
|
|
7
|
+
import { BaseSingleton } from '../BaseSingleton';
|
|
8
|
+
/**
|
|
9
|
+
* Property configuration for the BaseEngine class to automatically load/set properties on the class.
|
|
10
|
+
*/
|
|
11
|
+
export declare class BaseEnginePropertyConfig extends BaseInfo {
|
|
12
|
+
/**
|
|
13
|
+
* The type of item to load, either 'entity' or 'dataset', defaults to 'entity'
|
|
14
|
+
*/
|
|
15
|
+
Type: 'entity' | 'dataset';
|
|
16
|
+
/**
|
|
17
|
+
* The name of the property in the class instance
|
|
18
|
+
*/
|
|
19
|
+
PropertyName: string;
|
|
20
|
+
/**
|
|
21
|
+
* The entity name to load from the database, required if Type is 'entity'
|
|
22
|
+
*/
|
|
23
|
+
EntityName?: string;
|
|
24
|
+
/**
|
|
25
|
+
* The dataset name to load from the database, required if Type is 'dataset'
|
|
26
|
+
*/
|
|
27
|
+
DatasetName?: string;
|
|
28
|
+
/**
|
|
29
|
+
* Optional, filters to apply to the data load, applies only when type is 'entity'. Use DatasetItemFilters for dataset filters.
|
|
30
|
+
*/
|
|
31
|
+
Filter?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Optional, filters to apply to each item in a dataset, only applies when type is 'dataset' and is optional in those cases.
|
|
34
|
+
*/
|
|
35
|
+
DatasetItemFilters?: DatasetItemFilterType[];
|
|
36
|
+
/**
|
|
37
|
+
* Optional, only used if Type is 'dataset', specifies how to handle the results of the dataset load. Defaults to 'single_property' if not specified. When set to 'single_property', the entire dataset is set to the property specified by PropertyName.
|
|
38
|
+
* When set to 'individual_properties', each item in the dataset is set to a property on the object with the name of the item's key plus the item's Code name.
|
|
39
|
+
* For example, if the item's key is 'Demo' and the item's Code name is 'FirstItem', the property set on the object would be 'Demo_FirstItem'.
|
|
40
|
+
*/
|
|
41
|
+
DatasetResultHandling?: 'single_property' | 'individual_properties';
|
|
42
|
+
/**
|
|
43
|
+
* Optional, order by clause to apply to the data load, only applies when type is 'entity'
|
|
44
|
+
*/
|
|
45
|
+
OrderBy?: string;
|
|
46
|
+
/**
|
|
47
|
+
* Optional, expiration time in milliseconds
|
|
48
|
+
*/
|
|
49
|
+
Expiration?: number;
|
|
50
|
+
/**
|
|
51
|
+
* Optional, whether to add the result to the object, defaults to true if not specified
|
|
52
|
+
*/
|
|
53
|
+
AddToObject?: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Optional, defaults to true. If set to false, AutoRefresh for this item will be disabled. By default, whenever a BaseEntity event is emitted for a save/delete, if the entity name
|
|
56
|
+
* for this config matches the BaseEntity's entity name, the config will be refreshed. If this is set to false, that will not happen. NOTE: This is not a network notification mechanism,
|
|
57
|
+
* it only works within the local tier, so for example within a browser application, that brower's engine sub-classes will be updated when changes are made to entities in that application
|
|
58
|
+
* environment, and the same is true for MJAPI/Server based environments. If you need network based notification, additional infrastructure will be needed to implement that.
|
|
59
|
+
*/
|
|
60
|
+
AutoRefresh?: boolean;
|
|
61
|
+
constructor(init?: Partial<BaseEnginePropertyConfig>);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* 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
|
|
65
|
+
* 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
|
|
66
|
+
* 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.
|
|
67
|
+
*/
|
|
68
|
+
export declare abstract class BaseEngine<T> extends BaseSingleton<T> {
|
|
69
|
+
private _loaded;
|
|
70
|
+
private _loadingSubject;
|
|
71
|
+
private _contextUser;
|
|
72
|
+
private _metadataConfigs;
|
|
73
|
+
private _dynamicConfigs;
|
|
74
|
+
private _dataMap;
|
|
75
|
+
private _expirationTimers;
|
|
76
|
+
private _entityEventSubjects;
|
|
77
|
+
private _provider;
|
|
78
|
+
/**
|
|
79
|
+
* 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.
|
|
80
|
+
*/
|
|
81
|
+
constructor();
|
|
82
|
+
/**
|
|
83
|
+
* 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.
|
|
84
|
+
*/
|
|
85
|
+
get ProviderToUse(): IMetadataProvider;
|
|
86
|
+
/**
|
|
87
|
+
* Returns the RunView provider to use for the engine. This is the same underlying object as the @property ProviderTouse, but cast to IRunViewProvider.
|
|
88
|
+
* If a provider is set via the Config method, that provider will be used, otherwise the default provider will be used.
|
|
89
|
+
*/
|
|
90
|
+
get RunViewProviderToUse(): IRunViewProvider;
|
|
91
|
+
/**
|
|
92
|
+
* Returns a COPY of the metadata configs array for the engine. This is a copy so you can't modify the original configs by modifying this array.
|
|
93
|
+
*/
|
|
94
|
+
get Configs(): BaseEnginePropertyConfig[];
|
|
95
|
+
/**
|
|
96
|
+
* Configures the engine by loading metadata from the database.
|
|
97
|
+
*/
|
|
98
|
+
abstract Config(forceRefresh?: boolean, contextUser?: UserInfo, provider?: IMetadataProvider): any;
|
|
99
|
+
/**
|
|
100
|
+
* This method should be called by sub-classes to load up their specific metadata requirements. For more complex metadata
|
|
101
|
+
* loading or for post-processing of metadata loading done here, overide the AdditionalLoading method to add your logic.
|
|
102
|
+
* @param configs
|
|
103
|
+
* @param contextUser
|
|
104
|
+
* @returns
|
|
105
|
+
*/
|
|
106
|
+
protected Load(configs: Partial<BaseEnginePropertyConfig>[], provider: IMetadataProvider, forceRefresh?: boolean, contextUser?: UserInfo): Promise<void>;
|
|
107
|
+
/**********************************************************************
|
|
108
|
+
* This section is for handling caching of multiple instances when needed
|
|
109
|
+
* We use the primary singleton as the instance to store a cache of instances
|
|
110
|
+
* that are tied to specific providers. This is useful when we have multiple
|
|
111
|
+
* providers in a given app going to different connections.
|
|
112
|
+
*********************************************************************/
|
|
113
|
+
private static _providerInstances;
|
|
114
|
+
private static get ProviderInstances();
|
|
115
|
+
/**
|
|
116
|
+
* This method will check for the existence of an instance of this engine class that is tied to a specific provider. If one exists, it will return it, otherwise it will create a new instance
|
|
117
|
+
*/
|
|
118
|
+
static GetProviderInstance<T>(provider: IMetadataProvider, subclassConstructor: new () => BaseEngine<T>): BaseEngine<T>;
|
|
119
|
+
/**
|
|
120
|
+
* Internal method to set the provider when an engine is loaded
|
|
121
|
+
* @param provider
|
|
122
|
+
*/
|
|
123
|
+
protected SetProvider(provider: IMetadataProvider): void;
|
|
124
|
+
protected CheckAddToProviderInstances(provider: IMetadataProvider): void;
|
|
125
|
+
private _eventListener;
|
|
126
|
+
/**
|
|
127
|
+
* This method is responsible for registering for MJGlobal events and listening for BaseEntity events where those
|
|
128
|
+
* BaseEntity are related to the engine's configuration metadata. The idea is to auto-refresh the releated configs
|
|
129
|
+
* when the BaseEntity is updated.
|
|
130
|
+
*/
|
|
131
|
+
protected SetupGlobalEventListener(): Promise<boolean>;
|
|
132
|
+
/**
|
|
133
|
+
* Subclasses of BaseEngine can override this method to handle individual MJGlobal events. This is typically done to optimize
|
|
134
|
+
* the way refreshes are done when a BaseEntity is updated. If you are interested in only BaseEntity events, override
|
|
135
|
+
* the HandleIndividualBaseEntityEvent method instead as this method primarily serves to filter all the events we get from MJGlobal
|
|
136
|
+
* and only pass on BaseEntity events to HandleIndividualBaseEntityEvent.
|
|
137
|
+
* @param event
|
|
138
|
+
*/
|
|
139
|
+
protected HandleIndividualEvent(event: MJEvent): Promise<boolean>;
|
|
140
|
+
/**
|
|
141
|
+
* 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.
|
|
142
|
+
* 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
|
|
143
|
+
* at all you can do that in an override of this method.
|
|
144
|
+
* @param event
|
|
145
|
+
*/
|
|
146
|
+
protected HandleIndividualBaseEntityEvent(event: BaseEntityEvent): Promise<boolean>;
|
|
147
|
+
/**
|
|
148
|
+
* This method handles the debouncing process, by default using the EntityEventDebounceTime property to set the debounce time. Debouncing is
|
|
149
|
+
* done on a per-entity basis, meaning that if the debounce time passes for a specific entity name, the event will be processed. This is done to
|
|
150
|
+
* prevent multiple events from being processed in quick succession for a single entity which would cause a lot of wasted processing.
|
|
151
|
+
*
|
|
152
|
+
* Override this method if you want to change how debouncing time such as having variable debounce times per-entity, etc.
|
|
153
|
+
* @param event
|
|
154
|
+
* @returns
|
|
155
|
+
*/
|
|
156
|
+
protected DebounceIndividualBaseEntityEvent(event: BaseEntityEvent): Promise<boolean>;
|
|
157
|
+
private _entityEventDebounceTime;
|
|
158
|
+
/**
|
|
159
|
+
* Overridable property to set the debounce time for entity events. Default is 5000 milliseconds (5 seconds).
|
|
160
|
+
*/
|
|
161
|
+
protected get EntityEventDebounceTime(): number;
|
|
162
|
+
/**
|
|
163
|
+
* This method does the actual work of processing the entity event. It is not directly called from the event handler because we want to first debounce the events
|
|
164
|
+
* which also introduces a delay which is usually desirable so that our processing is typically outside of the scope of any transaction processing that would have
|
|
165
|
+
* originated the event.
|
|
166
|
+
*
|
|
167
|
+
* 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.
|
|
168
|
+
*/
|
|
169
|
+
protected ProcessEntityEvent(event: BaseEntityEvent): Promise<void>;
|
|
170
|
+
/**
|
|
171
|
+
* Utility method to upgrade an object to a BaseEnginePropertyConfig object.
|
|
172
|
+
* @param obj
|
|
173
|
+
* @returns
|
|
174
|
+
*/
|
|
175
|
+
protected UpgradeObjectToConfig(obj: any): BaseEnginePropertyConfig;
|
|
176
|
+
/**
|
|
177
|
+
* Loads the specified metadata configurations.
|
|
178
|
+
* @param configs - The metadata configurations to load
|
|
179
|
+
* @param contextUser - The context user information
|
|
180
|
+
*/
|
|
181
|
+
protected LoadConfigs(configs: Partial<BaseEnginePropertyConfig>[], contextUser: UserInfo): Promise<void>;
|
|
182
|
+
/**
|
|
183
|
+
* Loads a single metadata configuration.
|
|
184
|
+
* @param config - The metadata configuration to load
|
|
185
|
+
* @param contextUser - The context user information
|
|
186
|
+
*/
|
|
187
|
+
protected LoadSingleConfig(config: BaseEnginePropertyConfig, contextUser: UserInfo): Promise<void>;
|
|
188
|
+
/**
|
|
189
|
+
* Handles the process of loading a single config of type 'entity'.
|
|
190
|
+
* @param config
|
|
191
|
+
* @param contextUser
|
|
192
|
+
*/
|
|
193
|
+
protected LoadSingleEntityConfig(config: BaseEnginePropertyConfig, contextUser: UserInfo): Promise<void>;
|
|
194
|
+
/**
|
|
195
|
+
* Handles the result of a single view load.
|
|
196
|
+
* @param config
|
|
197
|
+
* @param result
|
|
198
|
+
*/
|
|
199
|
+
protected HandleSingleViewResult(config: BaseEnginePropertyConfig, result: RunViewResult): void;
|
|
200
|
+
/**
|
|
201
|
+
* Handles the process of loading multiple entity configs in a single network call via RunViews()
|
|
202
|
+
* @param configs
|
|
203
|
+
* @param contextUser
|
|
204
|
+
*/
|
|
205
|
+
protected LoadMultipleEntityConfigs(configs: BaseEnginePropertyConfig[], contextUser: UserInfo): Promise<void>;
|
|
206
|
+
/**
|
|
207
|
+
* Handles the process of loading a single config of type 'dataset'.
|
|
208
|
+
* @param config
|
|
209
|
+
* @param contextUser
|
|
210
|
+
*/
|
|
211
|
+
protected LoadSingleDatasetConfig(config: BaseEnginePropertyConfig, contextUser: UserInfo): Promise<void>;
|
|
212
|
+
/**
|
|
213
|
+
* Sets an expiration timer for a metadata property.
|
|
214
|
+
* @param propertyName - The name of the property
|
|
215
|
+
* @param expiration - The expiration time in milliseconds
|
|
216
|
+
*/
|
|
217
|
+
private SetExpirationTimer;
|
|
218
|
+
/**
|
|
219
|
+
* Adds a dynamic metadata configuration at runtime.
|
|
220
|
+
* @param config - The metadata configuration to add
|
|
221
|
+
* @param contextUser - The context user information
|
|
222
|
+
*/
|
|
223
|
+
AddDynamicConfig(config: BaseEnginePropertyConfig, contextUser?: UserInfo): Promise<void>;
|
|
224
|
+
/**
|
|
225
|
+
* Removes a dynamic metadata configuration at runtime.
|
|
226
|
+
* @param propertyName - The name of the property to remove
|
|
227
|
+
*/
|
|
228
|
+
RemoveDynamicConfig(propertyName: string): void;
|
|
229
|
+
/**
|
|
230
|
+
* Refreshes a specific item.
|
|
231
|
+
* @param propertyName - The name of the property to refresh
|
|
232
|
+
*/
|
|
233
|
+
RefreshItem(propertyName: string): Promise<void>;
|
|
234
|
+
/**
|
|
235
|
+
* Refreshes all items
|
|
236
|
+
*/
|
|
237
|
+
RefreshAllItems(): Promise<void>;
|
|
238
|
+
/**
|
|
239
|
+
* Subclasses can override this method to perform additional loading tasks
|
|
240
|
+
* @param contextUser
|
|
241
|
+
*/
|
|
242
|
+
protected AdditionalLoading(contextUser?: UserInfo): Promise<void>;
|
|
243
|
+
/**
|
|
244
|
+
* Returns true if the data has been loaded, false otherwise.
|
|
245
|
+
*/
|
|
246
|
+
get Loaded(): boolean;
|
|
247
|
+
/**
|
|
248
|
+
* Returns the loading subject. You can call await Config() and after Config() comes back as true that means you're loaded. However you can also directly subscribe to this subject to get updates on the loading status.
|
|
249
|
+
*/
|
|
250
|
+
get LoadingSubject(): BehaviorSubject<boolean>;
|
|
251
|
+
/**
|
|
252
|
+
* Returns the context user set for the object, this is set via the Config() method.
|
|
253
|
+
*/
|
|
254
|
+
get ContextUser(): UserInfo;
|
|
255
|
+
/**
|
|
256
|
+
* Helper method for sub-classes to have a single line of code that will make sure the data is loaded before proceeding and will throw an error if not loaded.
|
|
257
|
+
*/
|
|
258
|
+
protected TryThrowIfNotLoaded(): void;
|
|
259
|
+
}
|
|
260
|
+
//# sourceMappingURL=baseEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseEngine.d.ts","sourceRoot":"","sources":["../../src/generic/baseEngine.ts"],"names":[],"mappings":"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"}
|