@memberjunction/global 2.111.0 → 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.
Files changed (117) hide show
  1. package/dist/Core.d.ts +29 -0
  2. package/dist/Core.d.ts.map +1 -0
  3. package/dist/Core.js +58 -0
  4. package/dist/Core.js.map +1 -0
  5. package/dist/generic/QueryCache.d.ts +85 -0
  6. package/dist/generic/QueryCache.d.ts.map +1 -0
  7. package/dist/generic/QueryCache.js +198 -0
  8. package/dist/generic/QueryCache.js.map +1 -0
  9. package/dist/generic/QueryCacheConfig.d.ts +72 -0
  10. package/dist/generic/QueryCacheConfig.d.ts.map +1 -0
  11. package/dist/generic/QueryCacheConfig.js +3 -0
  12. package/dist/generic/QueryCacheConfig.js.map +1 -0
  13. package/dist/generic/applicationInfo.d.ts +138 -0
  14. package/dist/generic/applicationInfo.d.ts.map +1 -0
  15. package/dist/generic/applicationInfo.js +177 -0
  16. package/dist/generic/applicationInfo.js.map +1 -0
  17. package/dist/generic/authEvaluator.d.ts +25 -0
  18. package/dist/generic/authEvaluator.d.ts.map +1 -0
  19. package/dist/generic/authEvaluator.js +49 -0
  20. package/dist/generic/authEvaluator.js.map +1 -0
  21. package/dist/generic/authTypes.d.ts +193 -0
  22. package/dist/generic/authTypes.d.ts.map +1 -0
  23. package/dist/generic/authTypes.js +19 -0
  24. package/dist/generic/authTypes.js.map +1 -0
  25. package/dist/generic/baseEngine.d.ts +260 -0
  26. package/dist/generic/baseEngine.d.ts.map +1 -0
  27. package/dist/generic/baseEngine.js +510 -0
  28. package/dist/generic/baseEngine.js.map +1 -0
  29. package/dist/generic/baseEntity.d.ts +691 -0
  30. package/dist/generic/baseEntity.d.ts.map +1 -0
  31. package/dist/generic/baseEntity.js +1688 -0
  32. package/dist/generic/baseEntity.js.map +1 -0
  33. package/dist/generic/baseInfo.d.ts +24 -0
  34. package/dist/generic/baseInfo.d.ts.map +1 -0
  35. package/dist/generic/baseInfo.js +53 -0
  36. package/dist/generic/baseInfo.js.map +1 -0
  37. package/dist/generic/compositeKey.d.ts +206 -0
  38. package/dist/generic/compositeKey.d.ts.map +1 -0
  39. package/dist/generic/compositeKey.js +412 -0
  40. package/dist/generic/compositeKey.js.map +1 -0
  41. package/dist/generic/databaseProviderBase.d.ts +46 -0
  42. package/dist/generic/databaseProviderBase.d.ts.map +1 -0
  43. package/dist/generic/databaseProviderBase.js +14 -0
  44. package/dist/generic/databaseProviderBase.js.map +1 -0
  45. package/dist/generic/entityInfo.d.ts +983 -0
  46. package/dist/generic/entityInfo.d.ts.map +1 -0
  47. package/dist/generic/entityInfo.js +1401 -0
  48. package/dist/generic/entityInfo.js.map +1 -0
  49. package/dist/generic/explorerNavigationItem.d.ts +20 -0
  50. package/dist/generic/explorerNavigationItem.d.ts.map +1 -0
  51. package/dist/generic/explorerNavigationItem.js +29 -0
  52. package/dist/generic/explorerNavigationItem.js.map +1 -0
  53. package/dist/generic/interfaces.d.ts +610 -0
  54. package/dist/generic/interfaces.d.ts.map +1 -0
  55. package/dist/generic/interfaces.js +211 -0
  56. package/dist/generic/interfaces.js.map +1 -0
  57. package/dist/generic/libraryInfo.d.ts +40 -0
  58. package/dist/generic/libraryInfo.d.ts.map +1 -0
  59. package/dist/generic/libraryInfo.js +56 -0
  60. package/dist/generic/libraryInfo.js.map +1 -0
  61. package/dist/generic/logging.d.ts +179 -0
  62. package/dist/generic/logging.d.ts.map +1 -0
  63. package/dist/generic/logging.js +382 -0
  64. package/dist/generic/logging.js.map +1 -0
  65. package/dist/generic/metadata.d.ts +305 -0
  66. package/dist/generic/metadata.d.ts.map +1 -0
  67. package/dist/generic/metadata.js +454 -0
  68. package/dist/generic/metadata.js.map +1 -0
  69. package/dist/generic/metadataUtil.d.ts +8 -0
  70. package/dist/generic/metadataUtil.d.ts.map +1 -0
  71. package/dist/generic/metadataUtil.js +36 -0
  72. package/dist/generic/metadataUtil.js.map +1 -0
  73. package/dist/generic/providerBase.d.ts +546 -0
  74. package/dist/generic/providerBase.d.ts.map +1 -0
  75. package/dist/generic/providerBase.js +999 -0
  76. package/dist/generic/providerBase.js.map +1 -0
  77. package/dist/generic/queryInfo.d.ts +460 -0
  78. package/dist/generic/queryInfo.d.ts.map +1 -0
  79. package/dist/generic/queryInfo.js +633 -0
  80. package/dist/generic/queryInfo.js.map +1 -0
  81. package/dist/generic/querySQLFilters.d.ts +54 -0
  82. package/dist/generic/querySQLFilters.d.ts.map +1 -0
  83. package/dist/generic/querySQLFilters.js +84 -0
  84. package/dist/generic/querySQLFilters.js.map +1 -0
  85. package/dist/generic/runQuery.d.ts +96 -0
  86. package/dist/generic/runQuery.d.ts.map +1 -0
  87. package/dist/generic/runQuery.js +66 -0
  88. package/dist/generic/runQuery.js.map +1 -0
  89. package/dist/generic/runQuerySQLFilterImplementations.d.ts +51 -0
  90. package/dist/generic/runQuerySQLFilterImplementations.d.ts.map +1 -0
  91. package/dist/generic/runQuerySQLFilterImplementations.js +238 -0
  92. package/dist/generic/runQuerySQLFilterImplementations.js.map +1 -0
  93. package/dist/generic/runReport.d.ts +25 -0
  94. package/dist/generic/runReport.d.ts.map +1 -0
  95. package/dist/generic/runReport.js +42 -0
  96. package/dist/generic/runReport.js.map +1 -0
  97. package/dist/generic/securityInfo.d.ts +355 -0
  98. package/dist/generic/securityInfo.d.ts.map +1 -0
  99. package/dist/generic/securityInfo.js +425 -0
  100. package/dist/generic/securityInfo.js.map +1 -0
  101. package/dist/generic/transactionGroup.d.ts +184 -0
  102. package/dist/generic/transactionGroup.d.ts.map +1 -0
  103. package/dist/generic/transactionGroup.js +357 -0
  104. package/dist/generic/transactionGroup.js.map +1 -0
  105. package/dist/generic/util.d.ts +81 -0
  106. package/dist/generic/util.d.ts.map +1 -0
  107. package/dist/generic/util.js +301 -0
  108. package/dist/generic/util.js.map +1 -0
  109. package/dist/views/runView.d.ts +150 -0
  110. package/dist/views/runView.d.ts.map +1 -0
  111. package/dist/views/runView.js +100 -0
  112. package/dist/views/runView.js.map +1 -0
  113. package/dist/views/viewInfo.d.ts +121 -0
  114. package/dist/views/viewInfo.d.ts.map +1 -0
  115. package/dist/views/viewInfo.js +182 -0
  116. package/dist/views/viewInfo.js.map +1 -0
  117. package/package.json +1 -1
@@ -0,0 +1,382 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.UpdateCurrentConsoleProgress = exports.UpdateCurrentConsoleLine = exports.getAnsiColorCode = exports.ConsoleColor = exports.SeverityType = exports.FormatFileMessage = exports.FormatConsoleMessage = exports.SetProductionStatus = exports.GetProductionStatus = exports.LogStatus = exports.SetVerboseLogging = exports.IsVerboseLoggingEnabled = exports.LogStatusEx = exports.LogError = exports.LogErrorEx = exports.LogDebug = void 0;
7
+ const debug_1 = __importDefault(require("debug"));
8
+ let fs;
9
+ if (runningOnNode()) {
10
+ try {
11
+ fs = eval("require('fs')"); // wrap the require in eval to avoid bundling attempt and also avoid runtime scanning issues in the browser.
12
+ }
13
+ catch (err) {
14
+ // shouldn't get here since we're checking for the node variables above, but have this
15
+ // try/catch block just in case.
16
+ // fs module is not available, normal in browser situation, we can't log to "Files" as that doesn't make sense in browser
17
+ }
18
+ }
19
+ // Create the default logger with the "MJGlobal" namespace.
20
+ const __defaultLogger = (0, debug_1.default)('MJGlobal');
21
+ /**
22
+ * Logs a debug message using the default 'MJGlobal' namespace logger.
23
+ *
24
+ * This function wraps the debug library's logger for the 'MJGlobal' namespace.
25
+ * It accepts any number of arguments and forwards them directly to the underlying
26
+ * debug logger. This provides a simple, out-of-the-box logging function for the MJGlobal library.
27
+ *
28
+ * @param {...any} args - The messages or objects to be logged.
29
+ *
30
+ * @example
31
+ * LogDebug('Initialization complete, version %s', '1.0.0');
32
+ */
33
+ function LogDebug(...args) {
34
+ // Using apply to avoid spread argument type issues.
35
+ __defaultLogger.apply(undefined, args);
36
+ }
37
+ exports.LogDebug = LogDebug;
38
+ /**
39
+ * Enhanced error logging function with structured error information.
40
+ *
41
+ * Provides rich error logging capabilities including severity levels, categories,
42
+ * error objects with stack traces, metadata, and varargs support.
43
+ *
44
+ * @param options - Error logging options or a simple string message for backward compatibility
45
+ *
46
+ * @example
47
+ * // Simple string message
48
+ * LogErrorEx('Something went wrong');
49
+ *
50
+ * @example
51
+ * // With error object and metadata
52
+ * LogErrorEx({
53
+ * message: 'Failed to process request',
54
+ * error: new Error('Network timeout'),
55
+ * severity: 'critical',
56
+ * category: 'NetworkError',
57
+ * metadata: {
58
+ * url: 'https://api.example.com',
59
+ * timeout: 5000
60
+ * }
61
+ * });
62
+ *
63
+ * @example
64
+ * // With additional arguments (varargs)
65
+ * LogErrorEx({
66
+ * message: 'Multiple values failed',
67
+ * additionalArgs: [value1, value2, value3]
68
+ * });
69
+ */
70
+ function LogErrorEx(options) {
71
+ // Handle simple string message for backward compatibility
72
+ if (typeof options === 'string') {
73
+ logToConsole(options, true);
74
+ return;
75
+ }
76
+ // Build the error message with optional metadata
77
+ let fullMessage = options.message;
78
+ // Add category if provided
79
+ if (options.category) {
80
+ fullMessage = `[${options.category}] ${fullMessage}`;
81
+ }
82
+ // Add severity if not default
83
+ if (options.severity && options.severity !== 'error') {
84
+ fullMessage = `[${options.severity.toUpperCase()}] ${fullMessage}`;
85
+ }
86
+ // Add error details if provided
87
+ if (options.error) {
88
+ fullMessage += `\n Error: ${options.error.message}`;
89
+ if (options.includeStack !== false && options.error.stack) {
90
+ fullMessage += `\n Stack: ${options.error.stack}`;
91
+ }
92
+ }
93
+ // Add metadata if provided
94
+ if (options.metadata && Object.keys(options.metadata).length > 0) {
95
+ fullMessage += '\n Metadata: ' + JSON.stringify(options.metadata, null, 2);
96
+ }
97
+ // Log the error using the internal logging mechanism
98
+ if (options.logToFileName !== null && options.logToFileName !== undefined && options.logToFileName.length >= 0) {
99
+ logToFile(fullMessage, true, options.logToFileName, ...(options.additionalArgs || []));
100
+ }
101
+ else {
102
+ logToConsole(fullMessage, true, ...(options.additionalArgs || []));
103
+ }
104
+ }
105
+ exports.LogErrorEx = LogErrorEx;
106
+ function LogError(message, logToFileName = null, ...args) {
107
+ // Use LogErrorEx internally
108
+ LogErrorEx({
109
+ message: String(message),
110
+ logToFileName,
111
+ additionalArgs: args
112
+ });
113
+ }
114
+ exports.LogError = LogError;
115
+ /**
116
+ * Enhanced status logging function with verbose control and extensibility.
117
+ *
118
+ * Provides flexible logging with verbose mode support, custom verbose checks,
119
+ * categories, severity levels, and varargs support. Messages can be conditionally
120
+ * logged based on global or custom verbose settings.
121
+ *
122
+ * @param options - Logging options or a simple string message for backward compatibility
123
+ *
124
+ * @example
125
+ * // Simple string message
126
+ * LogStatusEx('Operation completed');
127
+ *
128
+ * @example
129
+ * // Verbose-only message with global check
130
+ * LogStatusEx({
131
+ * message: 'Detailed trace information',
132
+ * verboseOnly: true
133
+ * });
134
+ *
135
+ * @example
136
+ * // With custom verbose check and additional args
137
+ * LogStatusEx({
138
+ * message: 'Processing items:',
139
+ * verboseOnly: true,
140
+ * isVerboseEnabled: () => params.verbose === true,
141
+ * additionalArgs: [item1, item2, item3]
142
+ * });
143
+ *
144
+ * @example
145
+ * // With category and file logging
146
+ * LogStatusEx({
147
+ * message: 'Batch processing complete',
148
+ * category: 'BatchJob',
149
+ * logToFileName: '/logs/batch.log'
150
+ * });
151
+ */
152
+ function LogStatusEx(options) {
153
+ // Handle simple string message for backward compatibility
154
+ if (typeof options === 'string') {
155
+ logToConsole(options, false);
156
+ return;
157
+ }
158
+ // Check if this is a verbose-only message
159
+ if (options.verboseOnly) {
160
+ const checkVerbose = options.isVerboseEnabled || IsVerboseLoggingEnabled;
161
+ if (!checkVerbose()) {
162
+ return; // Skip verbose messages when verbose mode is off
163
+ }
164
+ }
165
+ // Log the message using the internal logging mechanism
166
+ if (options.logToFileName !== null && options.logToFileName !== undefined && options.logToFileName.length >= 0) {
167
+ logToFile(options.message, false, options.logToFileName, ...(options.additionalArgs || []));
168
+ }
169
+ else {
170
+ logToConsole(options.message, false, ...(options.additionalArgs || []));
171
+ }
172
+ }
173
+ exports.LogStatusEx = LogStatusEx;
174
+ /**
175
+ * Checks if verbose logging is enabled globally
176
+ * Works in both Node.js and Browser environments
177
+ * @returns true if verbose logging is enabled
178
+ */
179
+ function IsVerboseLoggingEnabled() {
180
+ // Node.js environment
181
+ if (runningOnNode()) {
182
+ const verbose = process.env.MJ_VERBOSE;
183
+ if (verbose !== undefined) {
184
+ return ['true', '1', 'yes'].includes(verbose.toLowerCase());
185
+ }
186
+ }
187
+ // Browser environment
188
+ if (runningInBrowser()) {
189
+ // Check global variable
190
+ if (window.MJ_VERBOSE !== undefined) {
191
+ return window.MJ_VERBOSE === true;
192
+ }
193
+ // Check localStorage
194
+ try {
195
+ const stored = localStorage.getItem('MJ_VERBOSE');
196
+ if (stored !== null) {
197
+ return ['true', '1', 'yes'].includes(stored.toLowerCase());
198
+ }
199
+ }
200
+ catch {
201
+ // localStorage might be blocked
202
+ }
203
+ // Check URL parameter
204
+ if (typeof URLSearchParams !== 'undefined') {
205
+ const params = new URLSearchParams(window.location.search);
206
+ const verbose = params.get('MJ_VERBOSE');
207
+ if (verbose) {
208
+ return ['true', '1', 'yes'].includes(verbose.toLowerCase());
209
+ }
210
+ }
211
+ }
212
+ return false; // Default to non-verbose
213
+ }
214
+ exports.IsVerboseLoggingEnabled = IsVerboseLoggingEnabled;
215
+ /**
216
+ * Sets verbose logging mode in browser environments
217
+ * @param enabled Whether to enable verbose logging
218
+ */
219
+ function SetVerboseLogging(enabled) {
220
+ if (runningInBrowser()) {
221
+ window.MJ_VERBOSE = enabled;
222
+ try {
223
+ localStorage.setItem('MJ_VERBOSE', enabled ? 'true' : 'false');
224
+ }
225
+ catch {
226
+ // localStorage might be blocked
227
+ }
228
+ }
229
+ }
230
+ exports.SetVerboseLogging = SetVerboseLogging;
231
+ function LogStatus(message, logToFileName = null, ...args) {
232
+ // Use LogStatusEx internally
233
+ LogStatusEx({
234
+ message: String(message),
235
+ logToFileName,
236
+ additionalArgs: args,
237
+ verboseOnly: false
238
+ });
239
+ }
240
+ exports.LogStatus = LogStatus;
241
+ function logToConsole(message, isError, ...args) {
242
+ if (isError) // always do console.error() for errors even in production
243
+ console.error(message, ...args);
244
+ else if (!GetProductionStatus()) // only do console.log() if we're not in production
245
+ console.log(message, ...args);
246
+ }
247
+ function logToFile(message, isError, logToFileName, ...args) {
248
+ if (fs === null || fs === undefined) {
249
+ console.error('Attempting to log to file, but fs module is not available, logging to console instead');
250
+ logToConsole(message, isError, ...args);
251
+ }
252
+ else
253
+ fs.appendFileSync(logToFileName, `${isError ? 'ERROR' : 'STATUS'} (${new Date()}: ${message}${args && args.length > 0 && args.join('').length > 0 ? '\n ARGS' + args.join('\n ') : ''}` + '\n');
254
+ }
255
+ let _productionStatus = null;
256
+ function GetProductionStatus() {
257
+ if (_productionStatus)
258
+ return _productionStatus;
259
+ else {
260
+ if (runningOnNode()) {
261
+ return (process.env.NODE_ENV === 'production');
262
+ }
263
+ else if (runningInBrowser()) {
264
+ // no status set if we get here, so return false, default to false to be safe and log stuff
265
+ // for debug scenarios on staging environments/etc.
266
+ return false;
267
+ }
268
+ }
269
+ }
270
+ exports.GetProductionStatus = GetProductionStatus;
271
+ function SetProductionStatus(isProduction) {
272
+ _productionStatus = isProduction;
273
+ }
274
+ exports.SetProductionStatus = SetProductionStatus;
275
+ function runningInBrowser() {
276
+ return (typeof window !== 'undefined' && window.location !== null);
277
+ }
278
+ function runningOnNode() {
279
+ return (typeof process !== 'undefined' && process.versions !== null && process.versions.node !== null);
280
+ }
281
+ function FormatConsoleMessage(message, serverity) {
282
+ switch (serverity) {
283
+ case 'Trace':
284
+ case 'Debug':
285
+ case 'Info':
286
+ return FormatConsoleMessageInternal(exports.ConsoleColor.white, message);
287
+ case 'Warning':
288
+ return FormatConsoleMessageInternal(exports.ConsoleColor.yellow, message);
289
+ case 'Critical':
290
+ return FormatConsoleMessageInternal(exports.ConsoleColor.red, message);
291
+ default:
292
+ return message;
293
+ }
294
+ }
295
+ exports.FormatConsoleMessage = FormatConsoleMessage;
296
+ function FormatConsoleMessageInternal(color, message) {
297
+ return `\r\x1b[${getAnsiColorCode(exports.ConsoleColor.white)}m${message}\x1b[0m`;
298
+ }
299
+ function FormatFileMessage(message, serverity) {
300
+ switch (serverity) {
301
+ case 'Trace':
302
+ return `[Trace] ${message}`;
303
+ case 'Debug':
304
+ return `[Debug] ${message}`;
305
+ case 'Info':
306
+ return `[Info] ${message}`;
307
+ case 'Warning':
308
+ return `[Warning] ${message}`;
309
+ case 'Critical':
310
+ return `[Critical] ${message}`;
311
+ default:
312
+ return message;
313
+ }
314
+ }
315
+ exports.FormatFileMessage = FormatFileMessage;
316
+ exports.SeverityType = {
317
+ Trace: 'Trace',
318
+ Debug: 'Debug',
319
+ Info: 'Info',
320
+ Warning: 'Warning',
321
+ Critical: 'Critical'
322
+ };
323
+ /**
324
+ * Enum of console colors that can be used to update the console line color.
325
+ */
326
+ exports.ConsoleColor = {
327
+ black: 'black',
328
+ red: 'red',
329
+ green: 'green',
330
+ yellow: 'yellow',
331
+ blue: 'blue',
332
+ magenta: 'magenta',
333
+ cyan: 'cyan',
334
+ white: 'white',
335
+ gray: 'gray',
336
+ crimson: 'crimson',
337
+ };
338
+ /**
339
+ * Helper function to get the ANSI color code for the given console color.
340
+ * @param color
341
+ */
342
+ function getAnsiColorCode(color) {
343
+ switch (color) {
344
+ case exports.ConsoleColor.black: return 30;
345
+ case exports.ConsoleColor.red: return 31;
346
+ case exports.ConsoleColor.green: return 32;
347
+ case exports.ConsoleColor.yellow: return 33;
348
+ case exports.ConsoleColor.blue: return 34;
349
+ case exports.ConsoleColor.magenta: return 35;
350
+ case exports.ConsoleColor.cyan: return 36;
351
+ case exports.ConsoleColor.white: return 37;
352
+ case exports.ConsoleColor.gray: return 90;
353
+ case exports.ConsoleColor.crimson: return 38;
354
+ default: return 37;
355
+ }
356
+ }
357
+ exports.getAnsiColorCode = getAnsiColorCode;
358
+ /**
359
+ * Utility function that udpates the current console line with the provided message and color.
360
+ * @param message
361
+ * @param color
362
+ */
363
+ function UpdateCurrentConsoleLine(message, color = exports.ConsoleColor.white) {
364
+ if (runningOnNode()) {
365
+ // Running in Node.js environment
366
+ //console.log(`\r\x1b[${getAnsiColorCode(color)}m${message}\x1b[0m`);
367
+ //process.stdout.write(`\r\x1b[${getAnsiColorCode(color)}m${message}\x1b[0m`);
368
+ // console.log(`\x1b[2K\r\x1b[${getAnsiColorCode(color)}m${message}\x1b[0m`);
369
+ console.log(`\x1b[${getAnsiColorCode(color)}m${message}\x1b[0m`);
370
+ }
371
+ else {
372
+ // Running in browser environment
373
+ console.log(`\r%c${message}`, `color: ${color}`);
374
+ }
375
+ }
376
+ exports.UpdateCurrentConsoleLine = UpdateCurrentConsoleLine;
377
+ function UpdateCurrentConsoleProgress(message, current, total, color = exports.ConsoleColor.white) {
378
+ // show the message, current count of total count, and % complete formated as 0.0%
379
+ UpdateCurrentConsoleLine(`${message} ${current} of ${total} (${(current / total * 100).toFixed(1)}%)`, color);
380
+ }
381
+ exports.UpdateCurrentConsoleProgress = UpdateCurrentConsoleProgress;
382
+ //# sourceMappingURL=logging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/generic/logging.ts"],"names":[],"mappings":"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"}