@memberjunction/global 6.2.0-edge.0 → 6.2.0-edge.2

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 (40) hide show
  1. package/dist/DeepDiff.d.ts +4 -0
  2. package/dist/DeepDiff.d.ts.map +1 -1
  3. package/dist/DeepDiff.js +10 -2
  4. package/dist/DeepDiff.js.map +1 -1
  5. package/dist/Global.js +2 -2
  6. package/dist/JSONValidator.d.ts +6 -0
  7. package/dist/JSONValidator.d.ts.map +1 -1
  8. package/dist/JSONValidator.js +18 -6
  9. package/dist/JSONValidator.js.map +1 -1
  10. package/dist/KeyedSerialTaskQueue.d.ts +8 -0
  11. package/dist/KeyedSerialTaskQueue.d.ts.map +1 -1
  12. package/dist/KeyedSerialTaskQueue.js +10 -2
  13. package/dist/KeyedSerialTaskQueue.js.map +1 -1
  14. package/dist/SQLExpressionValidator.d.ts +2 -0
  15. package/dist/SQLExpressionValidator.d.ts.map +1 -1
  16. package/dist/SQLExpressionValidator.js +5 -1
  17. package/dist/SQLExpressionValidator.js.map +1 -1
  18. package/dist/SafeExpressionEvaluator.d.ts +15 -0
  19. package/dist/SafeExpressionEvaluator.d.ts.map +1 -1
  20. package/dist/SafeExpressionEvaluator.js +19 -5
  21. package/dist/SafeExpressionEvaluator.js.map +1 -1
  22. package/dist/__tests__/OrdinalCompare.test.js +11 -11
  23. package/dist/__tests__/SafeExpressionEvaluator.test.js +3 -3
  24. package/dist/__tests__/detectRichTextFormat.test.js +25 -25
  25. package/dist/__tests__/util.test.js +103 -76
  26. package/dist/__tests__/util.test.js.map +1 -1
  27. package/dist/__tests__/valueMapping.test.js +21 -21
  28. package/dist/util/PatternUtils.d.ts +12 -0
  29. package/dist/util/PatternUtils.d.ts.map +1 -1
  30. package/dist/util/PatternUtils.js +32 -8
  31. package/dist/util/PatternUtils.js.map +1 -1
  32. package/dist/util.d.ts +46 -8
  33. package/dist/util.d.ts.map +1 -1
  34. package/dist/util.js +147 -31
  35. package/dist/util.js.map +1 -1
  36. package/dist/valueMapping.d.ts +6 -0
  37. package/dist/valueMapping.d.ts.map +1 -1
  38. package/dist/valueMapping.js +19 -7
  39. package/dist/valueMapping.js.map +1 -1
  40. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SafeExpressionEvaluator.js","sourceRoot":"","sources":["../src/SafeExpressionEvaluator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SafeExpressionEvaluator.js","sourceRoot":"","sources":["../src/SafeExpressionEvaluator.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,23 @@
1
1
  import { describe, it, expect } from 'vitest';
2
- import { ordinalCompare } from '../util.js';
2
+ import { OrdinalCompare } from '../util.js';
3
3
  describe('ordinalCompare', () => {
4
4
  it('sorts strings by UTF-16 code unit order', () => {
5
- expect(ordinalCompare('a', 'b')).toBe(-1);
6
- expect(ordinalCompare('b', 'a')).toBe(1);
7
- expect(ordinalCompare('a', 'a')).toBe(0);
5
+ expect(OrdinalCompare('a', 'b')).toBe(-1);
6
+ expect(OrdinalCompare('b', 'a')).toBe(1);
7
+ expect(OrdinalCompare('a', 'a')).toBe(0);
8
8
  });
9
9
  it('differs from localeCompare on case and diacritics', () => {
10
10
  // In ASCII/code-unit order: uppercase 'B' (66) < lowercase 'a' (97)
11
- expect(ordinalCompare('B', 'a')).toBe(-1);
12
- expect(ordinalCompare('a', 'B')).toBe(1);
11
+ expect(OrdinalCompare('B', 'a')).toBe(-1);
12
+ expect(OrdinalCompare('a', 'B')).toBe(1);
13
13
  // In ASCII/code-unit order: '_' (95) < 'a' (97)
14
- expect(ordinalCompare('_', 'a')).toBe(-1);
14
+ expect(OrdinalCompare('_', 'a')).toBe(-1);
15
15
  });
16
16
  it('handles null and undefined gracefully', () => {
17
- expect(ordinalCompare(null, 'a')).toBe(-1);
18
- expect(ordinalCompare('a', null)).toBe(1);
19
- expect(ordinalCompare(undefined, undefined)).toBe(0);
20
- expect(ordinalCompare(null, undefined)).toBe(0);
17
+ expect(OrdinalCompare(null, 'a')).toBe(-1);
18
+ expect(OrdinalCompare('a', null)).toBe(1);
19
+ expect(OrdinalCompare(undefined, undefined)).toBe(0);
20
+ expect(OrdinalCompare(null, undefined)).toBe(0);
21
21
  });
22
22
  });
23
23
  //# sourceMappingURL=OrdinalCompare.test.js.map
@@ -1,5 +1,5 @@
1
1
  import { describe, it, expect, beforeEach } from 'vitest';
2
- import { SafeExpressionEvaluator, defaultExpressionEvaluator, } from '../SafeExpressionEvaluator.js';
2
+ import { SafeExpressionEvaluator, DefaultExpressionEvaluator, } from '../SafeExpressionEvaluator.js';
3
3
  /**
4
4
  * Functional tests for SafeExpressionEvaluator.
5
5
  *
@@ -347,8 +347,8 @@ describe('SafeExpressionEvaluator', () => {
347
347
  // ---------------------------------------------------------------
348
348
  describe('defaultExpressionEvaluator', () => {
349
349
  it('should be a usable SafeExpressionEvaluator instance', () => {
350
- expect(defaultExpressionEvaluator).toBeInstanceOf(SafeExpressionEvaluator);
351
- expect(defaultExpressionEvaluator.evaluate('1 == 1', {}).value).toBe(true);
350
+ expect(DefaultExpressionEvaluator).toBeInstanceOf(SafeExpressionEvaluator);
351
+ expect(DefaultExpressionEvaluator.evaluate('1 == 1', {}).value).toBe(true);
352
352
  });
353
353
  });
354
354
  });
@@ -1,76 +1,76 @@
1
1
  import { describe, it, expect } from 'vitest';
2
- import { detectRichTextFormat } from '../util.js';
2
+ import { DetectRichTextFormat } from '../util.js';
3
3
  describe('detectRichTextFormat', () => {
4
4
  describe('plain text', () => {
5
5
  it('returns plain for null / undefined / empty', () => {
6
- expect(detectRichTextFormat(null)).toBe('plain');
7
- expect(detectRichTextFormat(undefined)).toBe('plain');
8
- expect(detectRichTextFormat('')).toBe('plain');
9
- expect(detectRichTextFormat(' \n ')).toBe('plain');
6
+ expect(DetectRichTextFormat(null)).toBe('plain');
7
+ expect(DetectRichTextFormat(undefined)).toBe('plain');
8
+ expect(DetectRichTextFormat('')).toBe('plain');
9
+ expect(DetectRichTextFormat(' \n ')).toBe('plain');
10
10
  });
11
11
  it('returns plain for ordinary prose', () => {
12
- expect(detectRichTextFormat('Just a normal note about the customer.')).toBe('plain');
13
- expect(detectRichTextFormat('Call back at 3pm - they were busy.')).toBe('plain');
12
+ expect(DetectRichTextFormat('Just a normal note about the customer.')).toBe('plain');
13
+ expect(DetectRichTextFormat('Call back at 3pm - they were busy.')).toBe('plain');
14
14
  });
15
15
  it('does not treat an incidental angle bracket or asterisk as rich text', () => {
16
- expect(detectRichTextFormat('value < 10 and value > 2')).toBe('plain');
17
- expect(detectRichTextFormat('5 * 3 = 15')).toBe('plain');
18
- expect(detectRichTextFormat('see <attachment> for details')).toBe('plain');
16
+ expect(DetectRichTextFormat('value < 10 and value > 2')).toBe('plain');
17
+ expect(DetectRichTextFormat('5 * 3 = 15')).toBe('plain');
18
+ expect(DetectRichTextFormat('see <attachment> for details')).toBe('plain');
19
19
  });
20
20
  it('requires two weak markdown signals — a single one stays plain', () => {
21
- expect(detectRichTextFormat('- just one bullet line of text')).toBe('plain');
21
+ expect(DetectRichTextFormat('- just one bullet line of text')).toBe('plain');
22
22
  });
23
23
  });
24
24
  describe('markdown', () => {
25
25
  it('detects ATX headings', () => {
26
- expect(detectRichTextFormat('# Title\n\nSome body text here.')).toBe('markdown');
26
+ expect(DetectRichTextFormat('# Title\n\nSome body text here.')).toBe('markdown');
27
27
  });
28
28
  it('detects fenced code blocks', () => {
29
- expect(detectRichTextFormat('Here is code:\n```ts\nconst x = 1;\n```')).toBe('markdown');
29
+ expect(DetectRichTextFormat('Here is code:\n```ts\nconst x = 1;\n```')).toBe('markdown');
30
30
  });
31
31
  it('detects links and images', () => {
32
- expect(detectRichTextFormat('See [the docs](https://example.com) for more.')).toBe('markdown');
33
- expect(detectRichTextFormat('![logo](https://example.com/l.png)')).toBe('markdown');
32
+ expect(DetectRichTextFormat('See [the docs](https://example.com) for more.')).toBe('markdown');
33
+ expect(DetectRichTextFormat('![logo](https://example.com/l.png)')).toBe('markdown');
34
34
  });
35
35
  it('detects tables', () => {
36
36
  const table = '| Name | Age |\n| --- | --- |\n| Sam | 30 |';
37
- expect(detectRichTextFormat(table)).toBe('markdown');
37
+ expect(DetectRichTextFormat(table)).toBe('markdown');
38
38
  });
39
39
  it('detects two or more weak signals (list + bold)', () => {
40
- expect(detectRichTextFormat('- item one is **important**\n- item two')).toBe('markdown');
40
+ expect(DetectRichTextFormat('- item one is **important**\n- item two')).toBe('markdown');
41
41
  });
42
42
  it('classifies markdown-with-embedded-html as markdown (superset)', () => {
43
43
  const mixed = '# Heading\n\n<div class="note">inline html</div>\n\nmore text';
44
- expect(detectRichTextFormat(mixed)).toBe('markdown');
44
+ expect(DetectRichTextFormat(mixed)).toBe('markdown');
45
45
  });
46
46
  });
47
47
  describe('html', () => {
48
48
  it('detects markup with two or more tags', () => {
49
- expect(detectRichTextFormat('<p>Hello <strong>world</strong></p>')).toBe('html');
49
+ expect(DetectRichTextFormat('<p>Hello <strong>world</strong></p>')).toBe('html');
50
50
  });
51
51
  it('detects structural html', () => {
52
52
  const html = '<div><ul><li>one</li><li>two</li></ul></div>';
53
- expect(detectRichTextFormat(html)).toBe('html');
53
+ expect(DetectRichTextFormat(html)).toBe('html');
54
54
  });
55
55
  it('stays plain when only a single tag-like token is present', () => {
56
- expect(detectRichTextFormat('a lone <br> in otherwise plain text')).toBe('plain');
56
+ expect(DetectRichTextFormat('a lone <br> in otherwise plain text')).toBe('plain');
57
57
  });
58
58
  });
59
59
  describe('scan length', () => {
60
60
  it('uses a 500-char default window: signals beyond it are not detected', () => {
61
61
  const lateHtml = 'x'.repeat(600) + '<p>late</p><div>html</div>';
62
- expect(detectRichTextFormat(lateHtml)).toBe('plain');
62
+ expect(DetectRichTextFormat(lateHtml)).toBe('plain');
63
63
  });
64
64
  it('detects signals within the leading window', () => {
65
65
  const big = '# Heading\n' + 'x'.repeat(50000);
66
- expect(detectRichTextFormat(big)).toBe('markdown');
66
+ expect(DetectRichTextFormat(big)).toBe('markdown');
67
67
  });
68
68
  it('honors a caller-supplied larger window', () => {
69
69
  const lateHtml = 'x'.repeat(600) + '<p>late</p><div>html</div>';
70
- expect(detectRichTextFormat(lateHtml, 2000)).toBe('html');
70
+ expect(DetectRichTextFormat(lateHtml, 2000)).toBe('html');
71
71
  });
72
72
  it('falls back to the default when given a non-positive window', () => {
73
- expect(detectRichTextFormat('# Heading here', 0)).toBe('markdown');
73
+ expect(DetectRichTextFormat('# Heading here', 0)).toBe('markdown');
74
74
  });
75
75
  });
76
76
  });
@@ -1,5 +1,5 @@
1
1
  import { describe, it, expect, vi } from 'vitest';
2
- import { GetGlobalObjectStore, CleanJSON, SafeJSONParse, CleanAndParseJSON, CopyScalarsAndArrays, convertCamelCaseToHaveSpaces, createDisplayName, generatePluralName, getIrregularPlural, stripWhitespace, uuidv4, stripTrailingChars, replaceAllSpaces, IsOnlyTimezoneShift, EscapeHTML, EscapeSQLString, HighlightSearchMatches, } from '../util.js';
2
+ import { GetGlobalObjectStore, CleanJSON, SafeJSONParse, CleanAndParseJSON, CopyScalarsAndArrays, ConvertCamelCaseToHaveSpaces, CreateDisplayName, GeneratePluralName, GetIrregularPlural, StripWhitespace, Uuidv4, StripTrailingChars, ReplaceAllSpaces, IsOnlyTimezoneShift, EscapeHTML, EscapeSQLString, HighlightSearchMatches, } from '../util.js';
3
3
  describe('GetGlobalObjectStore', () => {
4
4
  it('should return a non-null object in Node environment', () => {
5
5
  const store = GetGlobalObjectStore();
@@ -300,205 +300,232 @@ describe('CopyScalarsAndArrays', () => {
300
300
  });
301
301
  describe('convertCamelCaseToHaveSpaces', () => {
302
302
  it('should convert simple camelCase', () => {
303
- expect(convertCamelCaseToHaveSpaces('DatabaseVersion')).toBe('Database Version');
303
+ expect(ConvertCamelCaseToHaveSpaces('DatabaseVersion')).toBe('Database Version');
304
304
  });
305
305
  it('should handle consecutive uppercase letters (acronyms)', () => {
306
- expect(convertCamelCaseToHaveSpaces('AIAgentLearningCycle')).toBe('AI Agent Learning Cycle');
306
+ expect(ConvertCamelCaseToHaveSpaces('AIAgentLearningCycle')).toBe('AI Agent Learning Cycle');
307
307
  });
308
308
  it('should return single word unchanged', () => {
309
- expect(convertCamelCaseToHaveSpaces('Database')).toBe('Database');
309
+ expect(ConvertCamelCaseToHaveSpaces('Database')).toBe('Database');
310
310
  });
311
311
  it('should handle all uppercase', () => {
312
- expect(convertCamelCaseToHaveSpaces('ABC')).toBe('ABC');
312
+ expect(ConvertCamelCaseToHaveSpaces('ABC')).toBe('ABC');
313
313
  });
314
314
  it('should handle single character', () => {
315
- expect(convertCamelCaseToHaveSpaces('A')).toBe('A');
315
+ expect(ConvertCamelCaseToHaveSpaces('A')).toBe('A');
316
316
  });
317
317
  it('should handle empty string', () => {
318
- expect(convertCamelCaseToHaveSpaces('')).toBe('');
318
+ expect(ConvertCamelCaseToHaveSpaces('')).toBe('');
319
319
  });
320
320
  it('should handle lowercase only', () => {
321
- expect(convertCamelCaseToHaveSpaces('hello')).toBe('hello');
321
+ expect(ConvertCamelCaseToHaveSpaces('hello')).toBe('hello');
322
322
  });
323
323
  it('should handle multiple words', () => {
324
- expect(convertCamelCaseToHaveSpaces('FirstNameLastName')).toBe('First Name Last Name');
324
+ expect(ConvertCamelCaseToHaveSpaces('FirstNameLastName')).toBe('First Name Last Name');
325
325
  });
326
326
  it('should handle acronym at the end', () => {
327
- expect(convertCamelCaseToHaveSpaces('GetHTMLParser')).toBe('Get HTML Parser');
327
+ expect(ConvertCamelCaseToHaveSpaces('GetHTMLParser')).toBe('Get HTML Parser');
328
328
  });
329
329
  it('should handle acronym at the beginning', () => {
330
- expect(convertCamelCaseToHaveSpaces('HTMLParser')).toBe('HTML Parser');
330
+ expect(ConvertCamelCaseToHaveSpaces('HTMLParser')).toBe('HTML Parser');
331
331
  });
332
332
  });
333
333
  describe('createDisplayName', () => {
334
334
  it('should convert snake_case to title case with spaces', () => {
335
- expect(createDisplayName('organization_email')).toBe('Organization Email');
335
+ expect(CreateDisplayName('organization_email')).toBe('Organization Email');
336
336
  });
337
337
  it('should handle single-word snake_case', () => {
338
- expect(createDisplayName('name')).toBe('name');
338
+ expect(CreateDisplayName('name')).toBe('name');
339
339
  });
340
340
  it('should handle multiple underscores', () => {
341
- expect(createDisplayName('source_created_at')).toBe('Source Created At');
341
+ expect(CreateDisplayName('source_created_at')).toBe('Source Created At');
342
342
  });
343
343
  it('should handle mixed snake_case and camelCase segments', () => {
344
- expect(createDisplayName('org_emailAddress')).toBe('Org Email Address');
344
+ expect(CreateDisplayName('org_emailAddress')).toBe('Org Email Address');
345
345
  });
346
346
  it('should pass through PascalCase unchanged (delegates to convertCamelCaseToHaveSpaces)', () => {
347
- expect(createDisplayName('OrganizationEmail')).toBe('Organization Email');
347
+ expect(CreateDisplayName('OrganizationEmail')).toBe('Organization Email');
348
348
  });
349
349
  it('should handle leading/trailing underscores', () => {
350
- expect(createDisplayName('_private_field')).toBe('Private Field');
350
+ expect(CreateDisplayName('_private_field')).toBe('Private Field');
351
351
  });
352
352
  it('should handle consecutive underscores', () => {
353
- expect(createDisplayName('field__name')).toBe('Field Name');
353
+ expect(CreateDisplayName('field__name')).toBe('Field Name');
354
354
  });
355
355
  it('should handle empty string', () => {
356
- expect(createDisplayName('')).toBe('');
356
+ expect(CreateDisplayName('')).toBe('');
357
357
  });
358
358
  it('should handle acronyms in PascalCase', () => {
359
- expect(createDisplayName('AIAgentLearningCycle')).toBe('AI Agent Learning Cycle');
359
+ expect(CreateDisplayName('AIAgentLearningCycle')).toBe('AI Agent Learning Cycle');
360
360
  });
361
361
  });
362
362
  describe('generatePluralName', () => {
363
363
  it('should handle regular plurals by adding s', () => {
364
- expect(generatePluralName('dog')).toBe('dogs');
365
- expect(generatePluralName('cat')).toBe('cats');
366
- expect(generatePluralName('book')).toBe('books');
364
+ expect(GeneratePluralName('dog')).toBe('dogs');
365
+ expect(GeneratePluralName('cat')).toBe('cats');
366
+ expect(GeneratePluralName('book')).toBe('books');
367
367
  });
368
368
  it('should handle irregular plurals', () => {
369
- expect(generatePluralName('child')).toBe('children');
370
- expect(generatePluralName('person')).toBe('people');
371
- expect(generatePluralName('mouse')).toBe('mice');
372
- expect(generatePluralName('foot')).toBe('feet');
373
- expect(generatePluralName('tooth')).toBe('teeth');
374
- expect(generatePluralName('man')).toBe('men');
375
- expect(generatePluralName('woman')).toBe('women');
369
+ expect(GeneratePluralName('child')).toBe('children');
370
+ expect(GeneratePluralName('person')).toBe('people');
371
+ expect(GeneratePluralName('mouse')).toBe('mice');
372
+ expect(GeneratePluralName('foot')).toBe('feet');
373
+ expect(GeneratePluralName('tooth')).toBe('teeth');
374
+ expect(GeneratePluralName('man')).toBe('men');
375
+ expect(GeneratePluralName('woman')).toBe('women');
376
376
  });
377
377
  it('should handle words ending in consonant + y', () => {
378
- expect(generatePluralName('party')).toBe('parties');
379
- expect(generatePluralName('city')).toBe('cities');
380
- expect(generatePluralName('baby')).toBe('babies');
378
+ expect(GeneratePluralName('party')).toBe('parties');
379
+ expect(GeneratePluralName('city')).toBe('cities');
380
+ expect(GeneratePluralName('baby')).toBe('babies');
381
381
  });
382
382
  it('should handle words ending in vowel + y by just adding s', () => {
383
- expect(generatePluralName('day')).toBe('days');
384
- expect(generatePluralName('boy')).toBe('boys');
385
- expect(generatePluralName('key')).toBe('keys');
383
+ expect(GeneratePluralName('day')).toBe('days');
384
+ expect(GeneratePluralName('boy')).toBe('boys');
385
+ expect(GeneratePluralName('key')).toBe('keys');
386
386
  });
387
387
  it('should handle words ending in ch, sh, x, z by adding es', () => {
388
- expect(generatePluralName('match')).toBe('matches');
389
- expect(generatePluralName('wish')).toBe('wishes');
390
- expect(generatePluralName('box')).toBe('boxes');
391
- expect(generatePluralName('buzz')).toBe('buzzes');
388
+ expect(GeneratePluralName('match')).toBe('matches');
389
+ expect(GeneratePluralName('wish')).toBe('wishes');
390
+ expect(GeneratePluralName('box')).toBe('boxes');
391
+ expect(GeneratePluralName('buzz')).toBe('buzzes');
392
392
  });
393
393
  it('should treat words ending in s as already plural (getSingularForm detects singular)', () => {
394
394
  // 'bus' ends in 's', getSingularForm returns 'bu' (different from 'bus'),
395
395
  // so generatePluralName considers 'bus' already plural
396
- expect(generatePluralName('bus')).toBe('bus');
396
+ expect(GeneratePluralName('bus')).toBe('bus');
397
397
  });
398
398
  it('should detect already-plural words and return them unchanged', () => {
399
- expect(generatePluralName('dogs')).toBe('dogs');
400
- expect(generatePluralName('customers')).toBe('customers');
399
+ expect(GeneratePluralName('dogs')).toBe('dogs');
400
+ expect(GeneratePluralName('customers')).toBe('customers');
401
401
  });
402
402
  it('should handle capitalizeFirstLetterOnly option', () => {
403
- expect(generatePluralName('dog', { capitalizeFirstLetterOnly: true })).toBe('Dogs');
403
+ expect(GeneratePluralName('dog', { capitalizeFirstLetterOnly: true })).toBe('Dogs');
404
404
  });
405
405
  it('should handle capitalizeEntireWord option', () => {
406
- expect(generatePluralName('dog', { capitalizeEntireWord: true })).toBe('DOGS');
406
+ expect(GeneratePluralName('dog', { capitalizeEntireWord: true })).toBe('DOGS');
407
+ });
408
+ it('should pluralize the last word of a multi-word name', () => {
409
+ expect(GeneratePluralName('Rubric Criterion', { capitalizeFirstLetterOnly: true })).toBe('Rubric Criteria');
410
+ expect(GeneratePluralName('Rubric Category', { capitalizeFirstLetterOnly: true })).toBe('Rubric Categories');
411
+ expect(GeneratePluralName('criterion')).toBe('criteria');
412
+ // Table names have no space. The last PascalCase segment pluralizes in place.
413
+ expect(GeneratePluralName('RubricCriterion', { capitalizeFirstLetterOnly: true })).toBe('RubricCriteria');
414
+ expect(GeneratePluralName('RubricCategory', { capitalizeFirstLetterOnly: true })).toBe('RubricCategories');
415
+ });
416
+ it('keeps the head verbatim so snake_case and camelCase do not collapse', () => {
417
+ const snake = GeneratePluralName('user_profile', { capitalizeFirstLetterOnly: true });
418
+ const camel = GeneratePluralName('userProfile', { capitalizeFirstLetterOnly: true });
419
+ expect(snake).toBe('user_Profiles');
420
+ expect(camel).toBe('userProfiles');
421
+ expect(`vw${snake}`).not.toBe(`vw${camel}`);
422
+ expect(`vw${snake}`).not.toBe('vwuserProfiles');
423
+ });
424
+ it('keeps a leading non-ASCII character on the head', () => {
425
+ const plural = GeneratePluralName('ÄrgerItem');
426
+ expect(plural.startsWith('Ä')).toBe(true);
427
+ expect(plural).toBe('ÄrgerItems');
428
+ });
429
+ it('preserves the tail case of a spaced name', () => {
430
+ expect(GeneratePluralName('Contact Person')).toBe('Contact People');
431
+ expect(GeneratePluralName('Contact Person')).not.toBe('Contact people');
432
+ expect(GeneratePluralName('my item')).toBe('my items');
433
+ expect(GeneratePluralName('my item', { capitalizeFirstLetterOnly: true })).toBe('my Items');
407
434
  });
408
435
  });
409
436
  describe('getIrregularPlural', () => {
410
437
  it('should return irregular plural for known words', () => {
411
- expect(getIrregularPlural('child')).toBe('children');
412
- expect(getIrregularPlural('knife')).toBe('knives');
413
- expect(getIrregularPlural('leaf')).toBe('leaves');
438
+ expect(GetIrregularPlural('child')).toBe('children');
439
+ expect(GetIrregularPlural('knife')).toBe('knives');
440
+ expect(GetIrregularPlural('leaf')).toBe('leaves');
414
441
  });
415
442
  it('should be case-insensitive', () => {
416
- expect(getIrregularPlural('Child')).toBe('children');
417
- expect(getIrregularPlural('MOUSE')).toBe('mice');
443
+ expect(GetIrregularPlural('Child')).toBe('children');
444
+ expect(GetIrregularPlural('MOUSE')).toBe('mice');
418
445
  });
419
446
  it('should return null for regular words', () => {
420
- expect(getIrregularPlural('dog')).toBeNull();
421
- expect(getIrregularPlural('table')).toBeNull();
447
+ expect(GetIrregularPlural('dog')).toBeNull();
448
+ expect(GetIrregularPlural('table')).toBeNull();
422
449
  });
423
450
  });
424
451
  describe('stripWhitespace', () => {
425
452
  it('should remove all spaces', () => {
426
- expect(stripWhitespace('Hello World')).toBe('HelloWorld');
453
+ expect(StripWhitespace('Hello World')).toBe('HelloWorld');
427
454
  });
428
455
  it('should remove tabs and newlines', () => {
429
- expect(stripWhitespace('\tExample\nString ')).toBe('ExampleString');
456
+ expect(StripWhitespace('\tExample\nString ')).toBe('ExampleString');
430
457
  });
431
458
  it('should handle empty string', () => {
432
- expect(stripWhitespace('')).toBe('');
459
+ expect(StripWhitespace('')).toBe('');
433
460
  });
434
461
  it('should return null or undefined as-is', () => {
435
- expect(stripWhitespace(null)).toBeNull();
436
- expect(stripWhitespace(undefined)).toBeUndefined();
462
+ expect(StripWhitespace(null)).toBeNull();
463
+ expect(StripWhitespace(undefined)).toBeUndefined();
437
464
  });
438
465
  it('should handle string with only whitespace', () => {
439
- expect(stripWhitespace(' \t\n ')).toBe('');
466
+ expect(StripWhitespace(' \t\n ')).toBe('');
440
467
  });
441
468
  it('should handle string with no whitespace', () => {
442
- expect(stripWhitespace('NoSpaces')).toBe('NoSpaces');
469
+ expect(StripWhitespace('NoSpaces')).toBe('NoSpaces');
443
470
  });
444
471
  it('should handle multiple consecutive whitespace types', () => {
445
- expect(stripWhitespace(' a b c ')).toBe('abc');
472
+ expect(StripWhitespace(' a b c ')).toBe('abc');
446
473
  });
447
474
  });
448
475
  describe('uuidv4', () => {
449
476
  it('should return a string', () => {
450
- expect(typeof uuidv4()).toBe('string');
477
+ expect(typeof Uuidv4()).toBe('string');
451
478
  });
452
479
  it('should match UUID v4 format', () => {
453
- const uuid = uuidv4();
480
+ const uuid = Uuidv4();
454
481
  const uuidV4Regex = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
455
482
  expect(uuid).toMatch(uuidV4Regex);
456
483
  });
457
484
  it('should generate unique values', () => {
458
- const uuid1 = uuidv4();
459
- const uuid2 = uuidv4();
460
- const uuid3 = uuidv4();
485
+ const uuid1 = Uuidv4();
486
+ const uuid2 = Uuidv4();
487
+ const uuid3 = Uuidv4();
461
488
  expect(uuid1).not.toBe(uuid2);
462
489
  expect(uuid2).not.toBe(uuid3);
463
490
  expect(uuid1).not.toBe(uuid3);
464
491
  });
465
492
  it('should have the correct length', () => {
466
- const uuid = uuidv4();
493
+ const uuid = Uuidv4();
467
494
  expect(uuid.length).toBe(36);
468
495
  });
469
496
  });
470
497
  describe('stripTrailingChars', () => {
471
498
  it('should strip matching trailing characters', () => {
472
- expect(stripTrailingChars('example.txt', '.txt', false)).toBe('example');
499
+ expect(StripTrailingChars('example.txt', '.txt', false)).toBe('example');
473
500
  });
474
501
  it('should not strip when suffix does not match', () => {
475
- expect(stripTrailingChars('example.csv', '.txt', false)).toBe('example.csv');
502
+ expect(StripTrailingChars('example.csv', '.txt', false)).toBe('example.csv');
476
503
  });
477
504
  it('should skip stripping on exact match when skipIfExactMatch is true', () => {
478
- expect(stripTrailingChars('.txt', '.txt', true)).toBe('.txt');
505
+ expect(StripTrailingChars('.txt', '.txt', true)).toBe('.txt');
479
506
  });
480
507
  it('should strip exact match when skipIfExactMatch is false', () => {
481
- expect(stripTrailingChars('.txt', '.txt', false)).toBe('');
508
+ expect(StripTrailingChars('.txt', '.txt', false)).toBe('');
482
509
  });
483
510
  it('should return input when input is empty', () => {
484
- expect(stripTrailingChars('', '.txt', false)).toBe('');
511
+ expect(StripTrailingChars('', '.txt', false)).toBe('');
485
512
  });
486
513
  it('should return input when charsToStrip is empty', () => {
487
- expect(stripTrailingChars('test', '', false)).toBe('test');
514
+ expect(StripTrailingChars('test', '', false)).toBe('test');
488
515
  });
489
516
  });
490
517
  describe('replaceAllSpaces', () => {
491
518
  it('should remove all spaces', () => {
492
- expect(replaceAllSpaces('Hello World')).toBe('HelloWorld');
519
+ expect(ReplaceAllSpaces('Hello World')).toBe('HelloWorld');
493
520
  });
494
521
  it('should handle multiple spaces', () => {
495
- expect(replaceAllSpaces(' Leading spaces')).toBe('Leadingspaces');
522
+ expect(ReplaceAllSpaces(' Leading spaces')).toBe('Leadingspaces');
496
523
  });
497
524
  it('should handle string with no spaces', () => {
498
- expect(replaceAllSpaces('NoSpaces')).toBe('NoSpaces');
525
+ expect(ReplaceAllSpaces('NoSpaces')).toBe('NoSpaces');
499
526
  });
500
527
  it('should handle empty string', () => {
501
- expect(replaceAllSpaces('')).toBe('');
528
+ expect(ReplaceAllSpaces('')).toBe('');
502
529
  });
503
530
  });
504
531
  describe('IsOnlyTimezoneShift', () => {