@memberjunction/global 2.112.0 → 2.113.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 (117) hide show
  1. package/package.json +1 -1
  2. package/dist/Core.d.ts +0 -29
  3. package/dist/Core.d.ts.map +0 -1
  4. package/dist/Core.js +0 -58
  5. package/dist/Core.js.map +0 -1
  6. package/dist/generic/QueryCache.d.ts +0 -85
  7. package/dist/generic/QueryCache.d.ts.map +0 -1
  8. package/dist/generic/QueryCache.js +0 -198
  9. package/dist/generic/QueryCache.js.map +0 -1
  10. package/dist/generic/QueryCacheConfig.d.ts +0 -72
  11. package/dist/generic/QueryCacheConfig.d.ts.map +0 -1
  12. package/dist/generic/QueryCacheConfig.js +0 -3
  13. package/dist/generic/QueryCacheConfig.js.map +0 -1
  14. package/dist/generic/applicationInfo.d.ts +0 -138
  15. package/dist/generic/applicationInfo.d.ts.map +0 -1
  16. package/dist/generic/applicationInfo.js +0 -177
  17. package/dist/generic/applicationInfo.js.map +0 -1
  18. package/dist/generic/authEvaluator.d.ts +0 -25
  19. package/dist/generic/authEvaluator.d.ts.map +0 -1
  20. package/dist/generic/authEvaluator.js +0 -49
  21. package/dist/generic/authEvaluator.js.map +0 -1
  22. package/dist/generic/authTypes.d.ts +0 -193
  23. package/dist/generic/authTypes.d.ts.map +0 -1
  24. package/dist/generic/authTypes.js +0 -19
  25. package/dist/generic/authTypes.js.map +0 -1
  26. package/dist/generic/baseEngine.d.ts +0 -260
  27. package/dist/generic/baseEngine.d.ts.map +0 -1
  28. package/dist/generic/baseEngine.js +0 -510
  29. package/dist/generic/baseEngine.js.map +0 -1
  30. package/dist/generic/baseEntity.d.ts +0 -691
  31. package/dist/generic/baseEntity.d.ts.map +0 -1
  32. package/dist/generic/baseEntity.js +0 -1688
  33. package/dist/generic/baseEntity.js.map +0 -1
  34. package/dist/generic/baseInfo.d.ts +0 -24
  35. package/dist/generic/baseInfo.d.ts.map +0 -1
  36. package/dist/generic/baseInfo.js +0 -53
  37. package/dist/generic/baseInfo.js.map +0 -1
  38. package/dist/generic/compositeKey.d.ts +0 -206
  39. package/dist/generic/compositeKey.d.ts.map +0 -1
  40. package/dist/generic/compositeKey.js +0 -412
  41. package/dist/generic/compositeKey.js.map +0 -1
  42. package/dist/generic/databaseProviderBase.d.ts +0 -46
  43. package/dist/generic/databaseProviderBase.d.ts.map +0 -1
  44. package/dist/generic/databaseProviderBase.js +0 -14
  45. package/dist/generic/databaseProviderBase.js.map +0 -1
  46. package/dist/generic/entityInfo.d.ts +0 -983
  47. package/dist/generic/entityInfo.d.ts.map +0 -1
  48. package/dist/generic/entityInfo.js +0 -1401
  49. package/dist/generic/entityInfo.js.map +0 -1
  50. package/dist/generic/explorerNavigationItem.d.ts +0 -20
  51. package/dist/generic/explorerNavigationItem.d.ts.map +0 -1
  52. package/dist/generic/explorerNavigationItem.js +0 -29
  53. package/dist/generic/explorerNavigationItem.js.map +0 -1
  54. package/dist/generic/interfaces.d.ts +0 -610
  55. package/dist/generic/interfaces.d.ts.map +0 -1
  56. package/dist/generic/interfaces.js +0 -211
  57. package/dist/generic/interfaces.js.map +0 -1
  58. package/dist/generic/libraryInfo.d.ts +0 -40
  59. package/dist/generic/libraryInfo.d.ts.map +0 -1
  60. package/dist/generic/libraryInfo.js +0 -56
  61. package/dist/generic/libraryInfo.js.map +0 -1
  62. package/dist/generic/logging.d.ts +0 -179
  63. package/dist/generic/logging.d.ts.map +0 -1
  64. package/dist/generic/logging.js +0 -382
  65. package/dist/generic/logging.js.map +0 -1
  66. package/dist/generic/metadata.d.ts +0 -305
  67. package/dist/generic/metadata.d.ts.map +0 -1
  68. package/dist/generic/metadata.js +0 -454
  69. package/dist/generic/metadata.js.map +0 -1
  70. package/dist/generic/metadataUtil.d.ts +0 -8
  71. package/dist/generic/metadataUtil.d.ts.map +0 -1
  72. package/dist/generic/metadataUtil.js +0 -36
  73. package/dist/generic/metadataUtil.js.map +0 -1
  74. package/dist/generic/providerBase.d.ts +0 -546
  75. package/dist/generic/providerBase.d.ts.map +0 -1
  76. package/dist/generic/providerBase.js +0 -999
  77. package/dist/generic/providerBase.js.map +0 -1
  78. package/dist/generic/queryInfo.d.ts +0 -460
  79. package/dist/generic/queryInfo.d.ts.map +0 -1
  80. package/dist/generic/queryInfo.js +0 -633
  81. package/dist/generic/queryInfo.js.map +0 -1
  82. package/dist/generic/querySQLFilters.d.ts +0 -54
  83. package/dist/generic/querySQLFilters.d.ts.map +0 -1
  84. package/dist/generic/querySQLFilters.js +0 -84
  85. package/dist/generic/querySQLFilters.js.map +0 -1
  86. package/dist/generic/runQuery.d.ts +0 -96
  87. package/dist/generic/runQuery.d.ts.map +0 -1
  88. package/dist/generic/runQuery.js +0 -66
  89. package/dist/generic/runQuery.js.map +0 -1
  90. package/dist/generic/runQuerySQLFilterImplementations.d.ts +0 -51
  91. package/dist/generic/runQuerySQLFilterImplementations.d.ts.map +0 -1
  92. package/dist/generic/runQuerySQLFilterImplementations.js +0 -238
  93. package/dist/generic/runQuerySQLFilterImplementations.js.map +0 -1
  94. package/dist/generic/runReport.d.ts +0 -25
  95. package/dist/generic/runReport.d.ts.map +0 -1
  96. package/dist/generic/runReport.js +0 -42
  97. package/dist/generic/runReport.js.map +0 -1
  98. package/dist/generic/securityInfo.d.ts +0 -355
  99. package/dist/generic/securityInfo.d.ts.map +0 -1
  100. package/dist/generic/securityInfo.js +0 -425
  101. package/dist/generic/securityInfo.js.map +0 -1
  102. package/dist/generic/transactionGroup.d.ts +0 -184
  103. package/dist/generic/transactionGroup.d.ts.map +0 -1
  104. package/dist/generic/transactionGroup.js +0 -357
  105. package/dist/generic/transactionGroup.js.map +0 -1
  106. package/dist/generic/util.d.ts +0 -81
  107. package/dist/generic/util.d.ts.map +0 -1
  108. package/dist/generic/util.js +0 -301
  109. package/dist/generic/util.js.map +0 -1
  110. package/dist/views/runView.d.ts +0 -150
  111. package/dist/views/runView.d.ts.map +0 -1
  112. package/dist/views/runView.js +0 -100
  113. package/dist/views/runView.js.map +0 -1
  114. package/dist/views/viewInfo.d.ts +0 -121
  115. package/dist/views/viewInfo.d.ts.map +0 -1
  116. package/dist/views/viewInfo.js +0 -182
  117. package/dist/views/viewInfo.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/global",
3
- "version": "2.112.0",
3
+ "version": "2.113.1",
4
4
  "description": "MemberJunction: Global Object - Needed for ALL other MJ components",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/dist/Core.d.ts DELETED
@@ -1,29 +0,0 @@
1
- export * from './generic/metadata';
2
- export * from './generic/baseInfo';
3
- export * from './generic/baseEngine';
4
- export * from './views/runView';
5
- export * from './generic/runReport';
6
- export * from './generic/runQuery';
7
- export * from './generic/interfaces';
8
- export * from './generic/baseEntity';
9
- export * from './generic/applicationInfo';
10
- export * from './generic/providerBase';
11
- export * from './generic/entityInfo';
12
- export * from './generic/securityInfo';
13
- export * from './generic/transactionGroup';
14
- export * from './generic/util';
15
- export * from './generic/logging';
16
- export * from './generic/queryInfo';
17
- export * from './generic/querySQLFilters';
18
- export * from './generic/runQuerySQLFilterImplementations';
19
- export * from './generic/libraryInfo';
20
- export * from './generic/QueryCacheConfig';
21
- export * from './generic/QueryCache';
22
- export * from './generic/explorerNavigationItem';
23
- export * from './generic/compositeKey';
24
- export * from './generic/authEvaluator';
25
- export * from './generic/metadataUtil';
26
- export * from './generic/authTypes';
27
- export * from './generic/databaseProviderBase';
28
- export declare function SetProvider(provider: any): void;
29
- //# sourceMappingURL=Core.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Core.d.ts","sourceRoot":"","sources":["../src/Core.ts"],"names":[],"mappings":"AAMA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,gCAAgC,CAAC;AAE/C,wBAAgB,WAAW,CAAC,QAAQ,KAAA,QAMnC"}
package/dist/Core.js DELETED
@@ -1,58 +0,0 @@
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
- exports.SetProvider = void 0;
18
- const baseEntity_1 = require("./generic/baseEntity");
19
- const metadata_1 = require("./generic/metadata");
20
- const runQuery_1 = require("./generic/runQuery");
21
- const runReport_1 = require("./generic/runReport");
22
- const runView_1 = require("./views/runView");
23
- __exportStar(require("./generic/metadata"), exports);
24
- __exportStar(require("./generic/baseInfo"), exports);
25
- __exportStar(require("./generic/baseEngine"), exports);
26
- __exportStar(require("./views/runView"), exports);
27
- __exportStar(require("./generic/runReport"), exports);
28
- __exportStar(require("./generic/runQuery"), exports);
29
- __exportStar(require("./generic/interfaces"), exports);
30
- __exportStar(require("./generic/baseEntity"), exports);
31
- __exportStar(require("./generic/applicationInfo"), exports);
32
- __exportStar(require("./generic/providerBase"), exports);
33
- __exportStar(require("./generic/entityInfo"), exports);
34
- __exportStar(require("./generic/securityInfo"), exports);
35
- __exportStar(require("./generic/transactionGroup"), exports);
36
- __exportStar(require("./generic/util"), exports);
37
- __exportStar(require("./generic/logging"), exports);
38
- __exportStar(require("./generic/queryInfo"), exports);
39
- __exportStar(require("./generic/querySQLFilters"), exports);
40
- __exportStar(require("./generic/runQuerySQLFilterImplementations"), exports);
41
- __exportStar(require("./generic/libraryInfo"), exports);
42
- __exportStar(require("./generic/QueryCacheConfig"), exports);
43
- __exportStar(require("./generic/QueryCache"), exports);
44
- __exportStar(require("./generic/explorerNavigationItem"), exports);
45
- __exportStar(require("./generic/compositeKey"), exports);
46
- __exportStar(require("./generic/authEvaluator"), exports);
47
- __exportStar(require("./generic/metadataUtil"), exports);
48
- __exportStar(require("./generic/authTypes"), exports);
49
- __exportStar(require("./generic/databaseProviderBase"), exports);
50
- function SetProvider(provider) {
51
- metadata_1.Metadata.Provider = provider;
52
- baseEntity_1.BaseEntity.Provider = provider;
53
- runView_1.RunView.Provider = provider;
54
- runReport_1.RunReport.Provider = provider;
55
- runQuery_1.RunQuery.Provider = provider;
56
- }
57
- exports.SetProvider = SetProvider;
58
- //# sourceMappingURL=Core.js.map
package/dist/Core.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"Core.js","sourceRoot":"","sources":["../src/Core.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAAkD;AAClD,iDAA8C;AAC9C,iDAA8C;AAC9C,mDAAgD;AAChD,6CAA0C;AAE1C,qDAAmC;AACnC,qDAAmC;AACnC,uDAAqC;AACrC,kDAAgC;AAChC,sDAAoC;AACpC,qDAAmC;AACnC,uDAAqC;AACrC,uDAAqC;AACrC,4DAA0C;AAC1C,yDAAuC;AACvC,uDAAqC;AACrC,yDAAuC;AACvC,6DAA2C;AAC3C,iDAA+B;AAC/B,oDAAkC;AAClC,sDAAoC;AACpC,4DAA0C;AAC1C,6EAA2D;AAC3D,wDAAsC;AACtC,6DAA2C;AAC3C,uDAAqC;AACrC,mEAAiD;AACjD,yDAAuC;AACvC,0DAAwC;AACxC,yDAAuC;AACvC,sDAAoC;AAEpC,iEAA+C;AAE/C,SAAgB,WAAW,CAAC,QAAQ;IAClC,mBAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,uBAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC/B,iBAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC5B,qBAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC9B,mBAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC/B,CAAC;AAND,kCAMC"}
@@ -1,85 +0,0 @@
1
- import { QueryCacheConfig, QueryCacheEntry } from './QueryCacheConfig';
2
- /**
3
- * LRU (Least Recently Used) cache implementation for query results with TTL support.
4
- * This cache provides efficient storage and retrieval of query results with automatic
5
- * expiration based on time-to-live settings and size limits.
6
- */
7
- export declare class QueryCache {
8
- private cache;
9
- private accessOrder;
10
- private readonly DEFAULT_MAX_SIZE;
11
- private readonly DEFAULT_TTL_MINUTES;
12
- /**
13
- * Performance statistics for cache monitoring
14
- */
15
- private stats;
16
- /**
17
- * Generate a deterministic cache key from query ID and parameters.
18
- * The key is created by sorting parameter keys and creating a stable JSON representation.
19
- *
20
- * @param queryId - The unique query identifier
21
- * @param params - The query parameters
22
- * @returns A stable cache key string
23
- */
24
- private getCacheKey;
25
- /**
26
- * Get cached results if available and not expired.
27
- * Updates access order for LRU tracking and increments hit counter.
28
- *
29
- * @param queryId - The query identifier
30
- * @param params - The query parameters
31
- * @param config - Cache configuration settings
32
- * @returns The cached entry if valid, null otherwise
33
- */
34
- get(queryId: string, params: Record<string, any>, config: QueryCacheConfig): QueryCacheEntry | null;
35
- /**
36
- * Cache query results with TTL and LRU eviction.
37
- * Evicts least recently used entries when at capacity.
38
- *
39
- * @param queryId - The query identifier
40
- * @param params - The query parameters
41
- * @param results - The query results to cache
42
- * @param config - Cache configuration settings
43
- */
44
- set(queryId: string, params: Record<string, any>, results: any[], config: QueryCacheConfig): void;
45
- /**
46
- * Clear cache for specific query or all queries.
47
- *
48
- * @param queryId - Optional query ID to clear specific query cache
49
- */
50
- clear(queryId?: string): void;
51
- /**
52
- * Update the access order for LRU tracking.
53
- * Moves the accessed key to the end of the array (most recently used).
54
- *
55
- * @param key - The cache key that was accessed
56
- */
57
- private updateAccessOrder;
58
- /**
59
- * Remove a key from the access order tracking.
60
- *
61
- * @param key - The cache key to remove
62
- */
63
- private removeFromAccessOrder;
64
- /**
65
- * Get cache statistics for monitoring and debugging.
66
- *
67
- * @returns Object containing cache performance metrics
68
- */
69
- getStats(): {
70
- size: number;
71
- hits: number;
72
- misses: number;
73
- hitRate: number;
74
- evictions: number;
75
- expirations: number;
76
- };
77
- /**
78
- * Clean up expired entries from the cache.
79
- * This can be called periodically to free up memory.
80
- *
81
- * @returns Number of expired entries removed
82
- */
83
- cleanupExpired(): number;
84
- }
85
- //# sourceMappingURL=QueryCache.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueryCache.d.ts","sourceRoot":"","sources":["../../src/generic/QueryCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGvE;;;;GAIG;AACH,qBAAa,UAAU;IACnB,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;IACzC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAM;IAE1C;;OAEG;IACH,OAAO,CAAC,KAAK,CAKX;IAEF;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW;IAQnB;;;;;;;;OAQG;IACH,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,gBAAgB,GAAG,eAAe,GAAG,IAAI;IA+BnG;;;;;;;;OAQG;IACH,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI;IA6BjG;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAmB7B;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAQzB;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;;;OAIG;IACH,QAAQ,IAAI;QACR,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;KACvB;IAcD;;;;;OAKG;IACH,cAAc,IAAI,MAAM;CAmB3B"}
@@ -1,198 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.QueryCache = void 0;
4
- const logging_1 = require("./logging");
5
- /**
6
- * LRU (Least Recently Used) cache implementation for query results with TTL support.
7
- * This cache provides efficient storage and retrieval of query results with automatic
8
- * expiration based on time-to-live settings and size limits.
9
- */
10
- class QueryCache {
11
- constructor() {
12
- this.cache = new Map();
13
- this.accessOrder = [];
14
- this.DEFAULT_MAX_SIZE = 1000;
15
- this.DEFAULT_TTL_MINUTES = 60;
16
- /**
17
- * Performance statistics for cache monitoring
18
- */
19
- this.stats = {
20
- hits: 0,
21
- misses: 0,
22
- evictions: 0,
23
- expirations: 0
24
- };
25
- }
26
- /**
27
- * Generate a deterministic cache key from query ID and parameters.
28
- * The key is created by sorting parameter keys and creating a stable JSON representation.
29
- *
30
- * @param queryId - The unique query identifier
31
- * @param params - The query parameters
32
- * @returns A stable cache key string
33
- */
34
- getCacheKey(queryId, params) {
35
- const sortedParams = Object.keys(params).sort().reduce((acc, key) => {
36
- acc[key] = params[key];
37
- return acc;
38
- }, {});
39
- return `${queryId}:${JSON.stringify(sortedParams)}`;
40
- }
41
- /**
42
- * Get cached results if available and not expired.
43
- * Updates access order for LRU tracking and increments hit counter.
44
- *
45
- * @param queryId - The query identifier
46
- * @param params - The query parameters
47
- * @param config - Cache configuration settings
48
- * @returns The cached entry if valid, null otherwise
49
- */
50
- get(queryId, params, config) {
51
- if (!config.enabled)
52
- return null;
53
- const key = this.getCacheKey(queryId, params);
54
- const entry = this.cache.get(key);
55
- if (!entry) {
56
- this.stats.misses++;
57
- return null;
58
- }
59
- const now = Date.now();
60
- const expiryTime = entry.timestamp + (entry.ttlMinutes * 60 * 1000);
61
- if (now > expiryTime) {
62
- // Entry has expired
63
- this.cache.delete(key);
64
- this.removeFromAccessOrder(key);
65
- this.stats.expirations++;
66
- this.stats.misses++;
67
- return null;
68
- }
69
- // Update access order for LRU
70
- this.updateAccessOrder(key);
71
- entry.hitCount++;
72
- this.stats.hits++;
73
- return entry;
74
- }
75
- /**
76
- * Cache query results with TTL and LRU eviction.
77
- * Evicts least recently used entries when at capacity.
78
- *
79
- * @param queryId - The query identifier
80
- * @param params - The query parameters
81
- * @param results - The query results to cache
82
- * @param config - Cache configuration settings
83
- */
84
- set(queryId, params, results, config) {
85
- if (!config.enabled)
86
- return;
87
- const key = this.getCacheKey(queryId, params);
88
- const maxSize = config.maxCacheSize || this.DEFAULT_MAX_SIZE;
89
- // Evict LRU entries if at capacity
90
- if (this.cache.size >= maxSize && !this.cache.has(key)) {
91
- const lruKey = this.accessOrder.shift();
92
- if (lruKey) {
93
- this.cache.delete(lruKey);
94
- this.stats.evictions++;
95
- (0, logging_1.LogStatus)(`Cache eviction: Removed LRU entry for key ${lruKey}`);
96
- }
97
- }
98
- const entry = {
99
- queryId,
100
- parameters: params,
101
- results,
102
- timestamp: Date.now(),
103
- ttlMinutes: config.ttlMinutes || this.DEFAULT_TTL_MINUTES,
104
- hitCount: 0
105
- };
106
- this.cache.set(key, entry);
107
- this.updateAccessOrder(key);
108
- }
109
- /**
110
- * Clear cache for specific query or all queries.
111
- *
112
- * @param queryId - Optional query ID to clear specific query cache
113
- */
114
- clear(queryId) {
115
- if (queryId) {
116
- // Clear all entries for specific query
117
- const keysToDelete = Array.from(this.cache.keys())
118
- .filter(key => key.startsWith(`${queryId}:`));
119
- keysToDelete.forEach(key => {
120
- this.cache.delete(key);
121
- this.removeFromAccessOrder(key);
122
- });
123
- (0, logging_1.LogStatus)(`Cleared ${keysToDelete.length} cache entries for query ${queryId}`);
124
- }
125
- else {
126
- // Clear entire cache
127
- const size = this.cache.size;
128
- this.cache.clear();
129
- this.accessOrder = [];
130
- (0, logging_1.LogStatus)(`Cleared entire query cache (${size} entries)`);
131
- }
132
- }
133
- /**
134
- * Update the access order for LRU tracking.
135
- * Moves the accessed key to the end of the array (most recently used).
136
- *
137
- * @param key - The cache key that was accessed
138
- */
139
- updateAccessOrder(key) {
140
- const index = this.accessOrder.indexOf(key);
141
- if (index > -1) {
142
- this.accessOrder.splice(index, 1);
143
- }
144
- this.accessOrder.push(key);
145
- }
146
- /**
147
- * Remove a key from the access order tracking.
148
- *
149
- * @param key - The cache key to remove
150
- */
151
- removeFromAccessOrder(key) {
152
- const index = this.accessOrder.indexOf(key);
153
- if (index > -1) {
154
- this.accessOrder.splice(index, 1);
155
- }
156
- }
157
- /**
158
- * Get cache statistics for monitoring and debugging.
159
- *
160
- * @returns Object containing cache performance metrics
161
- */
162
- getStats() {
163
- const total = this.stats.hits + this.stats.misses;
164
- const hitRate = total > 0 ? this.stats.hits / total : 0;
165
- return {
166
- size: this.cache.size,
167
- hits: this.stats.hits,
168
- misses: this.stats.misses,
169
- hitRate: Math.round(hitRate * 100) / 100,
170
- evictions: this.stats.evictions,
171
- expirations: this.stats.expirations
172
- };
173
- }
174
- /**
175
- * Clean up expired entries from the cache.
176
- * This can be called periodically to free up memory.
177
- *
178
- * @returns Number of expired entries removed
179
- */
180
- cleanupExpired() {
181
- const now = Date.now();
182
- let cleaned = 0;
183
- for (const [key, entry] of this.cache.entries()) {
184
- const expiryTime = entry.timestamp + (entry.ttlMinutes * 60 * 1000);
185
- if (now > expiryTime) {
186
- this.cache.delete(key);
187
- this.removeFromAccessOrder(key);
188
- cleaned++;
189
- }
190
- }
191
- if (cleaned > 0) {
192
- (0, logging_1.LogStatus)(`Cleaned up ${cleaned} expired cache entries`);
193
- }
194
- return cleaned;
195
- }
196
- }
197
- exports.QueryCache = QueryCache;
198
- //# sourceMappingURL=QueryCache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueryCache.js","sourceRoot":"","sources":["../../src/generic/QueryCache.ts"],"names":[],"mappings":"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"}
@@ -1,72 +0,0 @@
1
- /**
2
- * Configuration interface for query result caching with TTL-based expiration
3
- */
4
- export interface QueryCacheConfig {
5
- /**
6
- * Whether caching is enabled for this query
7
- */
8
- enabled: boolean;
9
- /**
10
- * Time-to-live in minutes for cached results
11
- */
12
- ttlMinutes: number;
13
- /**
14
- * Maximum number of cached result sets for this query
15
- */
16
- maxCacheSize?: number;
17
- /**
18
- * Cache key strategy - exact parameter matching vs. pattern matching
19
- */
20
- cacheKey?: 'exact' | 'fuzzy';
21
- /**
22
- * Whether to inherit settings from parent category
23
- */
24
- inheritFromCategory?: boolean;
25
- }
26
- /**
27
- * Represents a cached query result entry with metadata
28
- */
29
- export interface QueryCacheEntry {
30
- /**
31
- * The query ID this cache entry belongs to
32
- */
33
- queryId: string;
34
- /**
35
- * The parameters used for this specific query execution
36
- */
37
- parameters: Record<string, any>;
38
- /**
39
- * The cached query results
40
- */
41
- results: any[];
42
- /**
43
- * Timestamp when this entry was cached
44
- */
45
- timestamp: number;
46
- /**
47
- * TTL in minutes for this specific cache entry
48
- */
49
- ttlMinutes: number;
50
- /**
51
- * Number of times this cache entry has been accessed
52
- */
53
- hitCount: number;
54
- }
55
- /**
56
- * Result type extended with cache information
57
- */
58
- export interface CachedRunQueryResult {
59
- /**
60
- * Whether this result was served from cache
61
- */
62
- CacheHit?: boolean;
63
- /**
64
- * Cache key used for this query
65
- */
66
- CacheKey?: string;
67
- /**
68
- * Time until cache expiration in milliseconds
69
- */
70
- CacheTTLRemaining?: number;
71
- }
72
- //# sourceMappingURL=QueryCacheConfig.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueryCacheConfig.d.ts","sourceRoot":"","sources":["../../src/generic/QueryCacheConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAE7B;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEhC;;OAEG;IACH,OAAO,EAAE,GAAG,EAAE,CAAC;IAEf;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=QueryCacheConfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueryCacheConfig.js","sourceRoot":"","sources":["../../src/generic/QueryCacheConfig.ts"],"names":[],"mappings":""}
@@ -1,138 +0,0 @@
1
- import { BaseInfo } from './baseInfo';
2
- import { EntityInfo } from './entityInfo';
3
- import { IMetadataProvider } from './interfaces';
4
- /**
5
- * Stores configuration settings and preferences for applications, including key-value pairs for runtime parameters and user-specific customizations.
6
- */
7
- export declare class ApplicationSettingInfo extends BaseInfo {
8
- /**
9
- * Unique identifier for the application setting
10
- */
11
- ID: string;
12
- /**
13
- * Name of the application this setting belongs to
14
- */
15
- ApplicationName: string;
16
- /**
17
- * Name of the setting
18
- */
19
- Name: string;
20
- /**
21
- * The setting value, can be simple text, numbers, booleans, or JSON for complex configuration objects
22
- */
23
- Value: string;
24
- /**
25
- * Additional comments about the setting
26
- */
27
- Comments: string;
28
- /**
29
- * Timestamp when the record was created
30
- */
31
- __mj_CreatedAt: Date;
32
- /**
33
- * Timestamp when the record was last updated
34
- */
35
- __mj_UpdatedAt: Date;
36
- constructor(initData?: any);
37
- }
38
- /**
39
- * List of entities within each application. An application can have any number of entities and an entity can be part of any number of applications.
40
- */
41
- export declare class ApplicationEntityInfo extends BaseInfo {
42
- /**
43
- * Unique identifier for the application entity relationship
44
- */
45
- ID: string;
46
- /**
47
- * Name of the application
48
- */
49
- ApplicationName: string;
50
- /**
51
- * ID of the entity linked to this application
52
- */
53
- EntityID: string;
54
- /**
55
- * Display order of this entity within the application, lower numbers appear first in navigation and menus
56
- */
57
- Sequence: number;
58
- /**
59
- * When set to true, the entity will be included by default for a new user when they first access the application in question
60
- */
61
- DefaultForNewUser: boolean;
62
- /**
63
- * Application name (denormalized field)
64
- */
65
- Application: string;
66
- /**
67
- * Entity name (denormalized field)
68
- */
69
- Entity: string;
70
- /**
71
- * Base table name of the entity
72
- */
73
- EntityBaseTable: string;
74
- /**
75
- * Code-friendly name of the entity
76
- */
77
- EntityCodeName: string;
78
- /**
79
- * Class name of the entity
80
- */
81
- EntityClassName: string;
82
- /**
83
- * Code-friendly name of the entity's base table
84
- */
85
- EntityBaseTableCodeName: string;
86
- private _EntityInfo;
87
- /**
88
- * Gets the full entity metadata for the entity linked to this application.
89
- * @returns {EntityInfo} The entity information object
90
- */
91
- get EntityInfo(): EntityInfo;
92
- _setEntity(entity: EntityInfo): void;
93
- constructor(initData?: any);
94
- }
95
- /**
96
- * Applications are used to group entities in the user interface for ease of user access.
97
- * Provides organizational structure for presenting entities to users.
98
- */
99
- export declare class ApplicationInfo extends BaseInfo {
100
- /**
101
- * Unique identifier for the application
102
- */
103
- ID: string;
104
- /**
105
- * Name of the application
106
- */
107
- Name: string;
108
- /**
109
- * Description of the application
110
- */
111
- Description: string;
112
- /**
113
- * CSS class information for the display icon for each application
114
- */
115
- Icon: string;
116
- /**
117
- * If turned on, when a new user first uses the MJ Explorer app, the application records with this turned on will have this application included in their selected application list
118
- */
119
- DefaultForNewUser: boolean;
120
- /**
121
- * Comma-delimited list of schema names where entities will be automatically added to the application when created in those schemas
122
- */
123
- SchemaAutoAddNewEntities: string;
124
- private _ApplicationEntities;
125
- /**
126
- * Gets the list of entities that belong to this application with their display sequence.
127
- * @returns {ApplicationEntityInfo[]} Array of application entity mappings
128
- */
129
- get ApplicationEntities(): ApplicationEntityInfo[];
130
- private _ApplicationSettings;
131
- /**
132
- * Gets the configuration settings for this application.
133
- * @returns {ApplicationSettingInfo[]} Array of key-value settings
134
- */
135
- get ApplicationSettings(): ApplicationSettingInfo[];
136
- constructor(initData: any, md: IMetadataProvider);
137
- }
138
- //# sourceMappingURL=applicationInfo.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"applicationInfo.d.ts","sourceRoot":"","sources":["../../src/generic/applicationInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,QAAQ;IAChD;;OAEG;IACH,EAAE,EAAE,MAAM,CAAO;IAEjB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAO;IAE9B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAO;IAEnB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAO;IAEpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAO;IAEvB;;OAEG;IACH,cAAc,EAAE,IAAI,CAAO;IAE3B;;OAEG;IACH,cAAc,EAAE,IAAI,CAAO;gBAEd,QAAQ,GAAE,GAAU;CAIpC;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,QAAQ;IAC/C;;OAEG;IACH,EAAE,EAAE,MAAM,CAAO;IAEjB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAO;IAE9B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAO;IAEvB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAO;IAEvB;;OAEG;IACH,iBAAiB,EAAE,OAAO,CAAO;IAEjC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAO;IAE1B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAO;IAErB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAO;IAE9B;;OAEG;IACH,cAAc,EAAE,MAAM,CAAO;IAE7B;;OAEG;IACH,eAAe,EAAE,MAAM,CAAO;IAE9B;;OAEG;IACH,uBAAuB,EAAE,MAAM,CAAO;IAEtC,OAAO,CAAC,WAAW,CAAmB;IACtC;;;OAGG;IACH,IAAW,UAAU,IAAI,UAAU,CAElC;IAED,UAAU,CAAC,MAAM,EAAE,UAAU;gBAIhB,QAAQ,GAAE,GAAU;CAIpC;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,QAAQ;IACzC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAO;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAO;IAEnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAO;IAE1B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAO;IAEnB;;OAEG;IACH,iBAAiB,EAAE,OAAO,CAAO;IAEjC;;OAEG;IACH,wBAAwB,EAAE,MAAM,CAAO;IAEvC,OAAO,CAAC,oBAAoB,CAA8B;IAC1D;;;OAGG;IACH,IAAW,mBAAmB,IAAI,qBAAqB,EAAE,CAExD;IAED,OAAO,CAAC,oBAAoB,CAA+B;IAC3D;;;OAGG;IACH,IAAW,mBAAmB,IAAI,sBAAsB,EAAE,CAEzD;gBAEY,QAAQ,EAAE,GAAU,EAAE,EAAE,EAAE,iBAAiB;CAyB3D"}