@memberjunction/global 2.112.0 → 2.113.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/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
@@ -1,357 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TransactionGroupBase = exports.TransactionVariable = exports.TransactionPreprocessingItem = exports.TransactionResult = exports.TransactionItem = void 0;
4
- const rxjs_1 = require("rxjs");
5
- const logging_1 = require("./logging");
6
- /**
7
- * Internal class used by TransactionGroupBase and sub-classes to manage individual transactions
8
- */
9
- class TransactionItem {
10
- get Vars() {
11
- return this._vars;
12
- }
13
- get ExtraData() {
14
- return this._extraData;
15
- }
16
- get Instruction() {
17
- return this._instruction;
18
- }
19
- set Instruction(value) {
20
- this._instruction = value;
21
- }
22
- /**
23
- * Callback function that gets called when the transaction is complete
24
- * @returns A function that takes a result object (database row) and a success boolean
25
- */
26
- get CallBack() {
27
- return this._callBack;
28
- }
29
- get BaseEntity() {
30
- return this._baseEntity;
31
- }
32
- get OperationType() {
33
- return this._operationType;
34
- }
35
- /**
36
- * Creates a new TransactionItem
37
- * @param baseEntity The base entity object this transaction is associated with
38
- * @param operationType The type of operation (Create, Update, Delete)
39
- * @param instruction The SQL or GraphQL instruction to execute
40
- * @param vars Variables to pass to the SQL or GraphQL
41
- * @param extraData Additional data needed for processing by the provider
42
- * @param callBack Callback function that gets called when the transaction completes
43
- */
44
- constructor(baseEntity, operationType, instruction, vars, extraData, callBack) {
45
- this._operationType = operationType;
46
- this._baseEntity = baseEntity;
47
- this._instruction = instruction;
48
- this._vars = vars;
49
- this._extraData = extraData;
50
- this._callBack = callBack;
51
- }
52
- }
53
- exports.TransactionItem = TransactionItem;
54
- /**
55
- * Tracks the individual transactions within a transaction group and their commit results
56
- */
57
- class TransactionResult {
58
- constructor(transaction, result, success) {
59
- this.Transaction = transaction;
60
- this.Result = result;
61
- this.Success = success;
62
- }
63
- }
64
- exports.TransactionResult = TransactionResult;
65
- /**
66
- * Used internally within the transaction group to manage the preprocessing of entities before a transaction is submitted
67
- */
68
- class TransactionPreprocessingItem {
69
- constructor(entity, completionPromise) {
70
- this.complete = false;
71
- this.entity = entity;
72
- this.completionPromise = completionPromise;
73
- }
74
- }
75
- exports.TransactionPreprocessingItem = TransactionPreprocessingItem;
76
- /**
77
- * This class is used to encapsulate the concept of a variable to be used within a transaction group. This is designed to allow for the flow
78
- * of data from one item in a transaction group to another. For example say you had a transaction group where you are creating a new record in
79
- * EntityA and you wanted to get the newly created ID value from that record and then set it into a field called "EntityA_ID" in a record in EntityB.
80
- * You can do this by telling the TransactionGroup about these variables with the AddVariable() method in the TransactionGroupBase/sub-classes.
81
- */
82
- class TransactionVariable {
83
- get Name() {
84
- return this._name;
85
- }
86
- get EntityObject() {
87
- return this._entityObject;
88
- }
89
- get FieldName() {
90
- return this._fieldName;
91
- }
92
- get Type() {
93
- return this._type;
94
- }
95
- /**
96
- * Indicates if the variable has been processed. This is only true after the transaction group has been submitted and the results have been mapped back to the variables.
97
- */
98
- get IsProcessed() {
99
- return this._isProcessed;
100
- }
101
- /**
102
- * Processed Value is only available after the related transaction item has been executed and the results have been mapped back to the variables that are related to that transaction item.
103
- */
104
- get ProcessedValue() {
105
- return this._processedValue;
106
- }
107
- set ProcessedValue(value) {
108
- this._processedValue = value;
109
- this._isProcessed = true;
110
- }
111
- constructor(name, entityObject, fieldName, type) {
112
- this._isProcessed = false;
113
- this._name = name;
114
- this._entityObject = entityObject;
115
- this._fieldName = fieldName;
116
- this._type = type;
117
- }
118
- }
119
- exports.TransactionVariable = TransactionVariable;
120
- /**
121
- * TransactionGroup is a class that handles the bundling of multiple transactions into a single request. The provider handles
122
- * the implementation details. If a transaction group is provided to the baseEntity object before either Save() or Delete() is called
123
- * instead of just immediately executing its SQL or GQL, it provides the instructions to the TransactionGroup object instead.
124
- *
125
- * Then, whenever the TransactionGroup object instance has its Submit() method called, all of the requests will be bundled into a single
126
- * request and handled. For example in the case of the GraphQLDataProvider, we queue up all of the GQL statements for all of the
127
- * mutations and send them across as a single GraphQL request. The GraphQL server handles the actual DB transaction stuff.
128
- *
129
- * TransactionGroup will call a callback function, if provided, after the transaction has either completed succesfully or failed.
130
- * If it is succesful, for Save() method calls, the latest data for that record will be provided back.
131
- * For Delete() method calls, the callback will be called with no data.
132
- *
133
- * This class is the base class for managing a group of transactions and submitting it to the provider so it can be handled as an ATOMic transaction
134
- */
135
- class TransactionGroupBase {
136
- constructor() {
137
- this._pendingTransactions = [];
138
- this._variables = [];
139
- this._status = 'Pending';
140
- // RxJS Subject to notify about transaction status
141
- this.transactionNotifier = new rxjs_1.Subject();
142
- this._preprocessingItems = [];
143
- }
144
- get PendingTransactions() {
145
- return this._pendingTransactions;
146
- }
147
- get Status() {
148
- return this._status;
149
- }
150
- /**
151
- * The array of variables that are to be used within the transaction group. These are used to pass data from one transaction item to another. See documentation on @class TransactionVariable
152
- */
153
- get Variables() {
154
- return this._variables;
155
- }
156
- /**
157
- * Adds a new variable to the transaction group.
158
- */
159
- AddVariable(newVariable) {
160
- this._variables.push(newVariable);
161
- }
162
- // Expose transaction notifications as an observable
163
- get TransactionNotifications$() {
164
- return this.transactionNotifier.asObservable();
165
- }
166
- /**
167
- * Notifies observers about transaction success or failure
168
- * @param success Whether the transaction was successful
169
- * @param results The transaction results (if applicable)
170
- * @param error Any error that occurred (if applicable)
171
- */
172
- NotifyTransactionStatus(success, results, error) {
173
- this.transactionNotifier.next({ success, results, error });
174
- }
175
- /**
176
- * If an entity object needs to conduct any type of asynchronous preprocessing before a transaction is submitted, it must notify its transaction group
177
- * that it is doing so with this method. This causes the TransactionGroup to wait for all preprocessing to be completed before submitting the transaction.
178
- * This method checks to see if an the entity has already been registered for preprocessing and if so, does nothing.
179
- * @param entity
180
- */
181
- RegisterPreprocessing(entity) {
182
- const existingEntry = this._preprocessingItems.find((i) => i.entity === entity);
183
- if (!existingEntry) {
184
- const preprocessingPromise = new Promise((resolve) => {
185
- entity.RegisterEventHandler((e) => {
186
- if (e.type === 'transaction_ready' && e.baseEntity === entity) {
187
- const found = this._preprocessingItems.find((i) => i.entity === entity);
188
- if (found) {
189
- found.complete = true;
190
- resolve();
191
- }
192
- }
193
- });
194
- });
195
- const newItem = new TransactionPreprocessingItem(entity, preprocessingPromise);
196
- this._preprocessingItems.push(newItem);
197
- }
198
- }
199
- /**
200
- * Indicates whether all of the entities that have registered with this transaction group have completed their preprocessing
201
- * @returns
202
- */
203
- PreprocessingComplete() {
204
- if (this._preprocessingItems.length === 0)
205
- return true;
206
- else
207
- return this._preprocessingItems.every((i) => i.complete);
208
- }
209
- /**
210
- * Waits for all preprocessing to be complete.
211
- */
212
- async waitForPreprocessing() {
213
- try {
214
- await Promise.all(this._preprocessingItems.map(item => item.completionPromise));
215
- this._preprocessingItems = []; // clear out the preprocessing items
216
- }
217
- catch (e) {
218
- (0, logging_1.LogError)(`Error during preprocessing TransactionGroupBase. Error: ${e.message}`);
219
- }
220
- }
221
- /**
222
- * This is used by the BaseEntity/Provider objects to manage transactions on your behalf.
223
- * WARNING: Do NOT directly call this method. Instead set the TransactionGroup property on
224
- * the @BaseEntity class to make an entity object part of a transaction group.
225
- * @param transaction
226
- */
227
- AddTransaction(transaction) {
228
- this._pendingTransactions.push(transaction);
229
- }
230
- /**
231
- * Helper method for sub-classes to map a variable to a position in the pending transactions array
232
- * @param variable
233
- * @returns
234
- */
235
- MapVariableEntityObjectToPosition(variable) {
236
- const index = this._pendingTransactions.findIndex((t) => {
237
- return t.BaseEntity === variable.EntityObject;
238
- });
239
- return index;
240
- }
241
- /**
242
- * Submits the transaction group to the provider for handling. The provider will handle the actual transaction and call the callback functions
243
- * @returns true if the transaction was successful, false if it failed. If the method fails, check each of the individual BaseEntity objects within
244
- * the TransactionGroup for their result histories using BaseEntity.ResultHistory and BaseEntity.LatestResult
245
- * @param allowRetryOfFailedTransaction If true, the transaction group will be resubmitted even if it has failed. If false, the transaction group will not be resubmitted if it has failed.
246
- */
247
- async Submit(allowRetryOfFailedTransaction = false) {
248
- if (this.Status === 'Complete') {
249
- throw new Error('TransactionGroup has already been completed');
250
- }
251
- else if (this.Status === 'In Progress') {
252
- throw new Error('TransactionGroup is already in progress');
253
- }
254
- else if (this.Status === 'Failed') {
255
- if (!allowRetryOfFailedTransaction) {
256
- throw new Error('TransactionGroup has failed and cannot be resubmitted unless allowRetryOfFailedTransaction is set to true');
257
- }
258
- else {
259
- // the caller has specifid that we can retry the transaction even if it has failed, log this and continue
260
- (0, logging_1.LogStatus)('TransactionGroupBase.Submit', 'TransactionGroup is in a failed state, resubmitting');
261
- }
262
- }
263
- this._status = 'In Progress';
264
- try {
265
- // Wait for all preprocessing to be complete
266
- await this.waitForPreprocessing();
267
- if (this._pendingTransactions.length > 0) {
268
- // subclass handles the actual submit implementation whatever that does
269
- let results = await this.HandleSubmit();
270
- // now we have the results back, so we can call the callback functions
271
- for (let i = 0; i < results.length; i++) {
272
- await results[i].Transaction.CallBack(results[i].Result, results[i].Success);
273
- }
274
- // now, see if there are any false values for results[x].Success, if so, we have to return false
275
- const overallSuccess = results.every(r => r.Success);
276
- this.NotifyTransactionStatus(overallSuccess, results);
277
- this._status = overallSuccess ? 'Complete' : 'Failed';
278
- return overallSuccess;
279
- }
280
- else {
281
- // there are no transactions to submit, so we just return true and go back to pending since there were no transactions
282
- (0, logging_1.LogStatus)('No transactions to submit, switching status back to Pending');
283
- this._status = 'Pending';
284
- return true;
285
- }
286
- }
287
- catch (err) {
288
- console.error(err);
289
- // it failed, so we have to call the callback functions with the error
290
- for (let i = 0; i < this._pendingTransactions.length; i++) {
291
- await this._pendingTransactions[i].CallBack(err, false);
292
- }
293
- this.NotifyTransactionStatus(false, undefined, err);
294
- this._status = 'Failed';
295
- return false;
296
- }
297
- }
298
- /**
299
- * This utility method is to be used by sub-classes to set the values of the variables on the BaseEntity objects before the transaction is executed for variables
300
- * that are defined as 'Use' type. This is used to pass values from one transaction item to another.
301
- * @param entityObject
302
- * @returns the number of values set on the entity object
303
- */
304
- SetEntityValuesFromVariables(entityObject) {
305
- let numSet = 0;
306
- const vars = this.Variables.filter(v => v.EntityObject === entityObject);
307
- // we have variables that we need to handle for this object. For any variables that have type of 'Use'
308
- // we need to set those values on the object before we execute the query
309
- for (const varItem of vars) {
310
- if (varItem.Type === 'Use') {
311
- // get the value from the variable that matches the NAME that has Type === 'Define'
312
- const defineVar = this.Variables.find(v => v.Name.trim().toLowerCase() === varItem.Name.trim().toLowerCase() && v.Type === 'Define');
313
- if (defineVar) {
314
- if (defineVar.IsProcessed) {
315
- // found the variable definition, now get the value from that BaseEntity from the variable's source field name
316
- const value = defineVar.ProcessedValue;
317
- // set the value on the BaseEntity for the current item
318
- entityObject.Set(varItem.FieldName, value);
319
- numSet++;
320
- }
321
- else {
322
- // the definition of the variable was never processed, so we can't set the value, must throw an exception and blow up the transaction
323
- throw new Error(`Variable ${varItem.Name} was never processed, can't continue with transaction`);
324
- }
325
- }
326
- else {
327
- // we can't set the value, must throw an exception and blow up the transaction
328
- throw new Error(`Unable to find variable definition for variable ${varItem.Name}, can't continue with transaction`);
329
- }
330
- }
331
- }
332
- return numSet;
333
- }
334
- /**
335
- * This utility method is to be used by sub-classes to set the values of the variables on the BaseEntity objects after the transaction is executed for variables
336
- * @returns the number of variables that had their processed values set from the provided entity object
337
- */
338
- SetVariableValuesFromEntity(entityObject, queryResults) {
339
- let numVarsSet = 0;
340
- const vars = this.Variables.filter(v => v.EntityObject === entityObject);
341
- // we have variables that we need to handle for this object. For any variables that have type of 'Define'
342
- // we need to set those values on the variable object after we execute the query and have the results
343
- for (const varItem of vars) {
344
- if (varItem.Type === 'Define') {
345
- // get the value from the query results
346
- const value = queryResults[varItem.FieldName];
347
- // stash the value into the variable object
348
- varItem.ProcessedValue = value;
349
- // increment the counter
350
- numVarsSet++;
351
- }
352
- }
353
- return numVarsSet;
354
- }
355
- }
356
- exports.TransactionGroupBase = TransactionGroupBase;
357
- //# sourceMappingURL=transactionGroup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transactionGroup.js","sourceRoot":"","sources":["../../src/generic/transactionGroup.ts"],"names":[],"mappings":"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"}
@@ -1,81 +0,0 @@
1
- /**
2
- * Returns the TypeScript type that corresponds to the SQL type passed in
3
- */
4
- export declare function TypeScriptTypeFromSQLType(sqlType: string): 'string' | 'number' | 'boolean' | 'Date';
5
- export declare function TypeScriptTypeFromSQLTypeWithNullableOption(sqlType: string, addNullableOption: boolean): 'string' | 'string | null' | 'number' | 'number | null' | 'boolean' | 'boolean | null' | 'Date' | 'Date | null';
6
- /**
7
- * Formats a value based on the parameters passed in
8
- * @param sqlType - Required - the base type in SQL Server, for example int, nvarchar, etc. For types that have a length like numeric(28,4) or nvarchar(50) do NOT provide the length, just numeric and nvarchar in those examples
9
- * @param value - Value to format
10
- * @param decimals Number of decimals to show, defaults to 2
11
- * @param currency Currency to use when formatting, defaults to USD
12
- * @param maxLength Maximum length of the string to return, if the formatted value is longer than this length then the string will be truncated and the trailingChars will be appended to the end of the string
13
- * @param trailingChars Only used if maxLength is > 0 and the string being formatted is > maxLength, this is the string that will be appended to the end of the string to indicate that it was truncated, defaults to "..."
14
- * @returns either the original string value or a formatted version. If the format cannot be applied an an exception occurs it is captured and the error is put to the log, and the original value is returned
15
- */
16
- export declare function FormatValue(sqlType: string, value: any, decimals?: number, currency?: string, maxLength?: number, trailingChars?: string): string;
17
- /**
18
- * Returns a string that contains the full SQL type including length, precision and scale if applicable
19
- * @param baseType
20
- * @param length
21
- * @param precision
22
- * @param scale
23
- * @returns
24
- */
25
- export declare function SQLFullType(baseType: string, length: number, precision: number, scale: number): string;
26
- /**
27
- * This function determines the actual maximum length for a given SQL field based on the base type and the length specified in the schema.
28
- * For example, for a varchar(50) field, the length is 50, for an nvarchar(50) field, the length is 50/2 = 25
29
- * @param sqlBaseType
30
- * @param sqlLength
31
- * @returns
32
- */
33
- export declare function SQLMaxLength(sqlBaseType: string, sqlLength: number): number;
34
- /**
35
- * This function returns an array of common stop words that are used in text processing
36
- * @returns An array of common stop words that are used in text processing
37
- */
38
- export declare function CommonStopWords(): string[];
39
- /**
40
- * This function takes a string and removes common stop words from it, using the CommonStopWords() function to get the list of stop words
41
- * @param inputString
42
- * @returns
43
- */
44
- export declare function StripStopWords(inputString: string): string;
45
- /**
46
- * Returns a system-wide standard CodeName which is a programmatically acceptable identifier for a class, variable, etc using a standard replacement strategy for characters that are not acceptable in that context from a regular name
47
- */
48
- export declare function CodeNameFromString(input: string): string;
49
- /**
50
- * Run concurrent promises with a maximum concurrency level
51
- * @param concurrency - The number of concurrently running promises
52
- * @param funcs - An array of functions that return promises
53
- * @returns A promise that resolves to an array of the resolved values from the promises returned by funcs
54
- */
55
- export declare function Concurrent<V>(concurrency: number, funcs: (() => Promise<V>)[]): Promise<V[]>;
56
- /**
57
- * The DBMS may store the default value for a column with extra parens, for example ((1)) or (getdate()) or (('Pending')) or (('Active')) and in addition for unicode characters
58
- * it may prefix the value with an N, for example N'Active'. This function will strip out the extra parens and the N prefix if it exists and return the actual default value
59
- * @param storedDefaultValue - The default value as stored in the DBMS
60
- */
61
- export declare function ExtractActualDefaultValue(storedDefaultValue: string): string;
62
- /**
63
- * Strips out the N prefix and single quotes from a string if they exist so that a value like
64
- * N'Active' becomes Active
65
- */
66
- export declare function StripUnicodePrefix(value: string): string;
67
- /**
68
- * Strips out single quotes from a string if they exist so that a value like
69
- * 'Active' becomes Active
70
- * @param value
71
- * @returns
72
- */
73
- export declare function StripSingleQuotes(value: string): string;
74
- /**
75
- * Strips out any number of symmetric containing parens from a string, for example ((0)) becomes 0
76
- * and ('Active') becomes 'Active'
77
- * @param value
78
- * @returns
79
- */
80
- export declare function StripContainingParens(value: string): string;
81
- //# sourceMappingURL=util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/generic/util.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAqBnG;AAED,wBAAgB,2CAA2C,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAG,QAAQ,GAAG,eAAe,GAAG,QAAQ,GAAG,eAAe,GAAG,SAAS,GAAG,gBAAgB,GAAG,MAAM,GAAG,aAAa,CAQxN;AAGD;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,GAAG,EACV,QAAQ,GAAE,MAAU,EACpB,QAAQ,GAAE,MAAc,EACxB,SAAS,GAAE,MAAU,EACrB,aAAa,GAAE,MAAc,GAAG,MAAM,CAYjE;AA6CD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAiBtG;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAa3E;AAyBD;;;GAGG;AACH,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAE1C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAK1D;AAGD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUxD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAU5F;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAuB5E;AAGD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAgBxD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQvD;AAGD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAO3D"}