@encodeagent/platform-helper-util 1.2508.1241505

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 (122) hide show
  1. package/README.md +121 -0
  2. package/dist/__tests__/core.test.d.ts +5 -0
  3. package/dist/__tests__/core.test.d.ts.map +1 -0
  4. package/dist/__tests__/core.test.js +128 -0
  5. package/dist/__tests__/core.test.js.map +1 -0
  6. package/dist/__tests__/shortid.test.d.ts +5 -0
  7. package/dist/__tests__/shortid.test.d.ts.map +1 -0
  8. package/dist/__tests__/shortid.test.js +72 -0
  9. package/dist/__tests__/shortid.test.js.map +1 -0
  10. package/dist/__tests__/slug.test.d.ts +5 -0
  11. package/dist/__tests__/slug.test.d.ts.map +1 -0
  12. package/dist/__tests__/slug.test.js +31 -0
  13. package/dist/__tests__/slug.test.js.map +1 -0
  14. package/dist/__tests__/token.test.d.ts +5 -0
  15. package/dist/__tests__/token.test.d.ts.map +1 -0
  16. package/dist/__tests__/token.test.js +49 -0
  17. package/dist/__tests__/token.test.js.map +1 -0
  18. package/dist/__tests__/uuid.test.d.ts +5 -0
  19. package/dist/__tests__/uuid.test.d.ts.map +1 -0
  20. package/dist/__tests__/uuid.test.js +42 -0
  21. package/dist/__tests__/uuid.test.js.map +1 -0
  22. package/dist/__tests__/value-of-object.test.d.ts +5 -0
  23. package/dist/__tests__/value-of-object.test.d.ts.map +1 -0
  24. package/dist/__tests__/value-of-object.test.js +49 -0
  25. package/dist/__tests__/value-of-object.test.js.map +1 -0
  26. package/dist/ai/llm.d.ts +90 -0
  27. package/dist/ai/llm.d.ts.map +1 -0
  28. package/dist/ai/llm.js +524 -0
  29. package/dist/ai/llm.js.map +1 -0
  30. package/dist/ai/model.d.ts +14 -0
  31. package/dist/ai/model.d.ts.map +1 -0
  32. package/dist/ai/model.js +120 -0
  33. package/dist/ai/model.js.map +1 -0
  34. package/dist/ai/types.d.ts +85 -0
  35. package/dist/ai/types.d.ts.map +1 -0
  36. package/dist/ai/types.js +15 -0
  37. package/dist/ai/types.js.map +1 -0
  38. package/dist/ai/util.d.ts +28 -0
  39. package/dist/ai/util.d.ts.map +1 -0
  40. package/dist/ai/util.js +43 -0
  41. package/dist/ai/util.js.map +1 -0
  42. package/dist/auth.d.ts +34 -0
  43. package/dist/auth.d.ts.map +1 -0
  44. package/dist/auth.js +568 -0
  45. package/dist/auth.js.map +1 -0
  46. package/dist/colors.d.ts +79 -0
  47. package/dist/colors.d.ts.map +1 -0
  48. package/dist/colors.js +492 -0
  49. package/dist/colors.js.map +1 -0
  50. package/dist/constants.d.ts +86 -0
  51. package/dist/constants.d.ts.map +1 -0
  52. package/dist/constants.js +2578 -0
  53. package/dist/constants.js.map +1 -0
  54. package/dist/core.d.ts +337 -0
  55. package/dist/core.d.ts.map +1 -0
  56. package/dist/core.js +1165 -0
  57. package/dist/core.js.map +1 -0
  58. package/dist/cost.d.ts +35 -0
  59. package/dist/cost.d.ts.map +1 -0
  60. package/dist/cost.js +143 -0
  61. package/dist/cost.js.map +1 -0
  62. package/dist/file.d.ts +55 -0
  63. package/dist/file.d.ts.map +1 -0
  64. package/dist/file.js +273 -0
  65. package/dist/file.js.map +1 -0
  66. package/dist/html.d.ts +44 -0
  67. package/dist/html.d.ts.map +1 -0
  68. package/dist/html.js +420 -0
  69. package/dist/html.js.map +1 -0
  70. package/dist/index.d.ts +53 -0
  71. package/dist/index.d.ts.map +1 -0
  72. package/dist/index.js +313 -0
  73. package/dist/index.js.map +1 -0
  74. package/dist/markdown.d.ts +20 -0
  75. package/dist/markdown.d.ts.map +1 -0
  76. package/dist/markdown.js +38 -0
  77. package/dist/markdown.js.map +1 -0
  78. package/dist/metadata.d.ts +39 -0
  79. package/dist/metadata.d.ts.map +1 -0
  80. package/dist/metadata.js +110 -0
  81. package/dist/metadata.js.map +1 -0
  82. package/dist/record.d.ts +67 -0
  83. package/dist/record.d.ts.map +1 -0
  84. package/dist/record.js +404 -0
  85. package/dist/record.js.map +1 -0
  86. package/dist/shortid.d.ts +42 -0
  87. package/dist/shortid.d.ts.map +1 -0
  88. package/dist/shortid.js +42 -0
  89. package/dist/shortid.js.map +1 -0
  90. package/dist/slug.d.ts +24 -0
  91. package/dist/slug.d.ts.map +1 -0
  92. package/dist/slug.js +43 -0
  93. package/dist/slug.js.map +1 -0
  94. package/dist/token.d.ts +34 -0
  95. package/dist/token.d.ts.map +1 -0
  96. package/dist/token.js +20 -0
  97. package/dist/token.js.map +1 -0
  98. package/dist/tree.d.ts +27 -0
  99. package/dist/tree.d.ts.map +1 -0
  100. package/dist/tree.js +193 -0
  101. package/dist/tree.js.map +1 -0
  102. package/dist/types.d.ts +270 -0
  103. package/dist/types.d.ts.map +1 -0
  104. package/dist/types.js +29 -0
  105. package/dist/types.js.map +1 -0
  106. package/dist/uuid.d.ts +25 -0
  107. package/dist/uuid.d.ts.map +1 -0
  108. package/dist/uuid.js +32 -0
  109. package/dist/uuid.js.map +1 -0
  110. package/dist/value-of-object.d.ts +25 -0
  111. package/dist/value-of-object.d.ts.map +1 -0
  112. package/dist/value-of-object.js +123 -0
  113. package/dist/value-of-object.js.map +1 -0
  114. package/dist/web-content.d.ts +54 -0
  115. package/dist/web-content.d.ts.map +1 -0
  116. package/dist/web-content.js +268 -0
  117. package/dist/web-content.js.map +1 -0
  118. package/dist/web.d.ts +36 -0
  119. package/dist/web.d.ts.map +1 -0
  120. package/dist/web.js +162 -0
  121. package/dist/web.js.map +1 -0
  122. package/package.json +68 -0
package/README.md ADDED
@@ -0,0 +1,121 @@
1
+ # @encodeagent/util
2
+
3
+ A TypeScript utility library for the EncodeAgent platform, providing common helper functions for string manipulation, array operations, object utilities, and validation.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @encodeagent/util
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ### String Utilities
14
+
15
+ ```typescript
16
+ import { capitalize, toCamelCase, toKebabCase, truncate, normalizeWhitespace, isBlank } from '@encodeagent/util';
17
+
18
+ capitalize('hello world'); // 'Hello world'
19
+ toCamelCase('hello world'); // 'helloWorld'
20
+ toKebabCase('Hello World'); // 'hello-world'
21
+ truncate('This is a long string', 10); // 'This is...'
22
+ normalizeWhitespace(' hello world '); // 'hello world'
23
+ isBlank(' '); // true
24
+ ```
25
+
26
+ ### Array Utilities
27
+
28
+ ```typescript
29
+ import { unique, chunk, flatten, groupBy, intersection, difference, partition } from '@encodeagent/util';
30
+
31
+ unique([1, 2, 2, 3]); // [1, 2, 3]
32
+ chunk([1, 2, 3, 4, 5], 2); // [[1, 2], [3, 4], [5]]
33
+ flatten([1, [2, 3], 4]); // [1, 2, 3, 4]
34
+ groupBy([{type: 'a', val: 1}, {type: 'b', val: 2}], item => item.type); // {a: [...], b: [...]}
35
+ intersection([1, 2, 3], [2, 3, 4]); // [2, 3]
36
+ difference([1, 2, 3], [2, 3, 4]); // [1]
37
+ partition([1, 2, 3, 4], x => x % 2 === 0); // [[2, 4], [1, 3]]
38
+ ```
39
+
40
+ ### Object Utilities
41
+
42
+ ```typescript
43
+ import { deepClone, deepMerge, get, set, omit, pick } from '@encodeagent/util';
44
+
45
+ const obj = { a: { b: { c: 1 } } };
46
+ const cloned = deepClone(obj);
47
+
48
+ const merged = deepMerge({ a: 1, b: 2 }, { b: 3, c: 4 }); // { a: 1, b: 3, c: 4 }
49
+
50
+ get(obj, 'a.b.c'); // 1
51
+ set(obj, 'a.b.d', 2); // obj.a.b.d = 2
52
+
53
+ omit({ a: 1, b: 2, c: 3 }, ['b']); // { a: 1, c: 3 }
54
+ pick({ a: 1, b: 2, c: 3 }, ['a', 'c']); // { a: 1, c: 3 }
55
+ ```
56
+
57
+ ### Validation
58
+
59
+ ```typescript
60
+ import { isValidEmail, isValidUrl, validate, required, minLength, maxLength } from '@encodeagent/util';
61
+
62
+ isValidEmail('test@example.com'); // true
63
+ isValidUrl('https://example.com'); // true
64
+
65
+ const result = validate('test', [
66
+ required(),
67
+ minLength(3),
68
+ maxLength(10)
69
+ ]);
70
+ // { isValid: true, errors: [] }
71
+ ```
72
+
73
+ ### Types
74
+
75
+ The package also exports useful TypeScript types:
76
+
77
+ ```typescript
78
+ import { Primitive, DeepPartial, NonEmptyArray, ValidationResult, Predicate } from '@encodeagent/util';
79
+
80
+ type MyPartial = DeepPartial<{ a: { b: string } }>; // { a?: { b?: string } }
81
+ type MyArray = NonEmptyArray<string>; // [string, ...string[]]
82
+ ```
83
+
84
+ ## Development
85
+
86
+ ### Setup
87
+
88
+ ```bash
89
+ npm install
90
+ ```
91
+
92
+ ### Build
93
+
94
+ ```bash
95
+ npm run build
96
+ ```
97
+
98
+ ### Test
99
+
100
+ ```bash
101
+ npm test
102
+ npm run test:watch
103
+ ```
104
+
105
+ ### Lint
106
+
107
+ ```bash
108
+ npm run lint
109
+ npm run lint:fix
110
+ ```
111
+
112
+ ## Publishing
113
+
114
+ ```bash
115
+ npm run prepublishOnly
116
+ npm publish
117
+ ```
118
+
119
+ ## License
120
+
121
+ MIT
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @fileoverview Tests for core utility functions
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=core.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/core.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Tests for core utility functions
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const core_1 = require("../core");
7
+ describe('Core Utilities', () => {
8
+ describe('getWindow', () => {
9
+ it('should return an object', () => {
10
+ const result = (0, core_1.getWindow)();
11
+ expect(typeof result).toBe('object');
12
+ expect(result).not.toBeNull();
13
+ });
14
+ });
15
+ describe('getProcess', () => {
16
+ it('should return an object', () => {
17
+ const result = (0, core_1.getProcess)();
18
+ expect(typeof result).toBe('object');
19
+ expect(result).not.toBeNull();
20
+ });
21
+ });
22
+ describe('getGlobalObject', () => {
23
+ it('should return an object', () => {
24
+ const result = (0, core_1.getGlobalObject)();
25
+ expect(typeof result).toBe('object');
26
+ expect(result).not.toBeNull();
27
+ });
28
+ });
29
+ describe('getGlobalEnv', () => {
30
+ it('should return environment variables', () => {
31
+ const result = (0, core_1.getGlobalEnv)();
32
+ // Result can be undefined in test environment
33
+ expect(result === undefined || typeof result === 'object').toBe(true);
34
+ });
35
+ });
36
+ describe('appTrackIsOn', () => {
37
+ it('should return a boolean', () => {
38
+ const result = (0, core_1.appTrackIsOn)();
39
+ expect(typeof result).toBe('boolean');
40
+ });
41
+ it('should return false by default', () => {
42
+ const result = (0, core_1.appTrackIsOn)();
43
+ expect(result).toBe(false);
44
+ });
45
+ });
46
+ describe('setAppTrack', () => {
47
+ it('should set app tracking flag', () => {
48
+ (0, core_1.setAppTrack)(true);
49
+ expect((0, core_1.appTrackIsOn)()).toBe(true);
50
+ (0, core_1.setAppTrack)(false);
51
+ expect((0, core_1.appTrackIsOn)()).toBe(false);
52
+ });
53
+ });
54
+ describe('libTrackIsOn', () => {
55
+ it('should return a boolean', () => {
56
+ const result = (0, core_1.libTrackIsOn)();
57
+ expect(typeof result).toBe('boolean');
58
+ });
59
+ it('should return false by default', () => {
60
+ const result = (0, core_1.libTrackIsOn)();
61
+ expect(result).toBe(false);
62
+ });
63
+ });
64
+ describe('setLibTrack', () => {
65
+ it('should set lib tracking flag', () => {
66
+ (0, core_1.setLibTrack)(true);
67
+ expect((0, core_1.libTrackIsOn)()).toBe(true);
68
+ (0, core_1.setLibTrack)(false);
69
+ expect((0, core_1.libTrackIsOn)()).toBe(false);
70
+ });
71
+ });
72
+ describe('getPropName', () => {
73
+ it('should convert string to camelCase property name', () => {
74
+ expect((0, core_1.getPropName)('hello world')).toBe('helloWorld');
75
+ expect((0, core_1.getPropName)('test-string')).toBe('testString');
76
+ expect((0, core_1.getPropName)('UPPER_CASE')).toBe('upperCase');
77
+ });
78
+ it('should handle special characters', () => {
79
+ expect((0, core_1.getPropName)('hello@world#test')).toBe('helloWorldTest');
80
+ expect((0, core_1.getPropName)('test multiple spaces')).toBe('testMultipleSpaces');
81
+ });
82
+ it('should throw error for empty string', () => {
83
+ expect(() => (0, core_1.getPropName)('')).toThrow('Input must be a non-empty string');
84
+ });
85
+ it('should throw error for invalid input', () => {
86
+ expect(() => (0, core_1.getPropName)('!!!')).toThrow('Input string must contain at least one alphanumeric character');
87
+ });
88
+ });
89
+ describe('doNothing', () => {
90
+ it('should return the input value unchanged', () => {
91
+ expect((0, core_1.doNothing)()).toBeUndefined();
92
+ expect((0, core_1.doNothing)(null)).toBeNull();
93
+ expect((0, core_1.doNothing)(42)).toBe(42);
94
+ expect((0, core_1.doNothing)('test')).toBe('test');
95
+ expect((0, core_1.doNothing)({ a: 1 })).toEqual({ a: 1 });
96
+ expect((0, core_1.doNothing)([1, 2, 3])).toEqual([1, 2, 3]);
97
+ });
98
+ });
99
+ describe('stringToColor', () => {
100
+ it('should use default saturation when not provided', () => {
101
+ const result = (0, core_1.stringToColor)('test');
102
+ expect(result).toMatch(/^hsl\(\d+, 50%, 50%\)$/);
103
+ });
104
+ it('should handle saturation of 0', () => {
105
+ const result = (0, core_1.stringToColor)('test', 0);
106
+ expect(result).toMatch(/^hsl\(\d+, 0%, 50%\)$/);
107
+ });
108
+ it('should return null for invalid input', () => {
109
+ const result = (0, core_1.stringToColor)('');
110
+ expect(result).toBeNull();
111
+ });
112
+ it('should generate consistent color for same input', () => {
113
+ const color1 = (0, core_1.stringToColor)('test', 50, 50);
114
+ const color2 = (0, core_1.stringToColor)('test', 50, 50);
115
+ expect(color1).toBe(color2);
116
+ });
117
+ it('should generate different colors for different inputs', () => {
118
+ const color1 = (0, core_1.stringToColor)('test1', 50, 50);
119
+ const color2 = (0, core_1.stringToColor)('test2', 50, 50);
120
+ expect(color1).not.toBe(color2);
121
+ });
122
+ it('should return HSL color string format', () => {
123
+ const color = (0, core_1.stringToColor)('test', 50, 50);
124
+ expect(color).toMatch(/^hsl\(\d+,\s*50%,\s*50%\)$/);
125
+ });
126
+ });
127
+ });
128
+ //# sourceMappingURL=core.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.test.js","sourceRoot":"","sources":["../../src/__tests__/core.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @fileoverview Tests for ShortID generation utilities
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=shortid.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shortid.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/shortid.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Tests for ShortID generation utilities
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const shortid_1 = require("../shortid");
7
+ describe('ShortID Utilities', () => {
8
+ describe('newShortId', () => {
9
+ it('should generate a short ID', () => {
10
+ const id = (0, shortid_1.newShortId)();
11
+ expect(typeof id).toBe('string');
12
+ expect(id.length).toBeGreaterThan(0);
13
+ expect(id.length).toBeLessThan(20); // ShortIDs are typically shorter than 20 chars
14
+ });
15
+ it('should generate unique short IDs', () => {
16
+ const id1 = (0, shortid_1.newShortId)();
17
+ const id2 = (0, shortid_1.newShortId)();
18
+ expect(id1).not.toBe(id2);
19
+ });
20
+ it('should replace periods with dashes by default', () => {
21
+ // Generate multiple IDs to increase chance of getting one with periods
22
+ const ids = Array.from({ length: 50 }, () => (0, shortid_1.newShortId)());
23
+ ids.forEach(id => {
24
+ expect(id).not.toContain('.');
25
+ });
26
+ });
27
+ it('should keep periods when keepPeriod is true', () => {
28
+ // This test might be flaky since periods aren't guaranteed
29
+ // We'll test the logic by checking that periods aren't replaced
30
+ const id = (0, shortid_1.newShortId)({ keepPeriod: true });
31
+ expect(typeof id).toBe('string');
32
+ });
33
+ it('should replace spaces with dashes by default', () => {
34
+ const ids = Array.from({ length: 50 }, () => (0, shortid_1.newShortId)());
35
+ ids.forEach(id => {
36
+ expect(id).not.toContain(' ');
37
+ });
38
+ });
39
+ it('should keep spaces when keepSpace is true', () => {
40
+ const id = (0, shortid_1.newShortId)({ keepSpace: true });
41
+ expect(typeof id).toBe('string');
42
+ });
43
+ it('should replace pipes with dashes by default', () => {
44
+ const ids = Array.from({ length: 50 }, () => (0, shortid_1.newShortId)());
45
+ ids.forEach(id => {
46
+ expect(id).not.toContain('|');
47
+ });
48
+ });
49
+ it('should keep pipes when keepPipe is true', () => {
50
+ const id = (0, shortid_1.newShortId)({ keepPipe: true });
51
+ expect(typeof id).toBe('string');
52
+ });
53
+ it('should handle multiple settings', () => {
54
+ const id = (0, shortid_1.newShortId)({
55
+ keepPeriod: true,
56
+ keepSpace: true,
57
+ keepPipe: true
58
+ });
59
+ expect(typeof id).toBe('string');
60
+ expect(id.length).toBeGreaterThan(0);
61
+ });
62
+ it('should generate multiple unique short IDs', () => {
63
+ const ids = new Set();
64
+ const count = 100;
65
+ for (let i = 0; i < count; i++) {
66
+ ids.add((0, shortid_1.newShortId)());
67
+ }
68
+ expect(ids.size).toBe(count);
69
+ });
70
+ });
71
+ });
72
+ //# sourceMappingURL=shortid.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shortid.test.js","sourceRoot":"","sources":["../../src/__tests__/shortid.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @fileoverview Tests for slug generation utilities
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=slug.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slug.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/slug.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Tests for slug generation utilities
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const slug_1 = require("../slug");
7
+ describe('Slug Utilities', () => {
8
+ describe('slug', () => {
9
+ it('should convert string to URL-friendly slug', () => {
10
+ expect((0, slug_1.slug)('Hello World')).toBe('hello-world');
11
+ expect((0, slug_1.slug)('Test String')).toBe('test-string');
12
+ });
13
+ it('should handle special characters', () => {
14
+ expect((0, slug_1.slug)('Hello@World#Test')).toBe('helloworldtest');
15
+ expect((0, slug_1.slug)('Test & More')).toBe('test-and-more');
16
+ });
17
+ it('should handle multiple spaces', () => {
18
+ expect((0, slug_1.slug)('Test Multiple Spaces')).toBe('test-multiple-spaces');
19
+ });
20
+ it('should handle empty string', () => {
21
+ expect((0, slug_1.slug)('')).toBe('');
22
+ });
23
+ it('should handle numbers', () => {
24
+ expect((0, slug_1.slug)('Test 123 String')).toBe('test-123-string');
25
+ });
26
+ it('should handle unicode characters', () => {
27
+ expect((0, slug_1.slug)('Café & Résumé')).toBe('cafe-and-resume');
28
+ });
29
+ });
30
+ });
31
+ //# sourceMappingURL=slug.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slug.test.js","sourceRoot":"","sources":["../../src/__tests__/slug.test.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAEH,kCAA+B;AAE/B,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC5B,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;QAClB,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YAClD,MAAM,CAAC,IAAA,WAAI,EAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAChD,MAAM,CAAC,IAAA,WAAI,EAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YACxC,MAAM,CAAC,IAAA,WAAI,EAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACxD,MAAM,CAAC,IAAA,WAAI,EAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACrC,MAAM,CAAC,IAAA,WAAI,EAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YAClC,MAAM,CAAC,IAAA,WAAI,EAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;YAC7B,MAAM,CAAC,IAAA,WAAI,EAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YACxC,MAAM,CAAC,IAAA,WAAI,EAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @fileoverview Tests for token utilities
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=token.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/token.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Tests for token utilities
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ describe('Token Utilities', () => {
7
+ describe('TToken type', () => {
8
+ it('should define token structure', () => {
9
+ const token = {
10
+ token: 'test-token',
11
+ key: 'test-key',
12
+ type: 'user',
13
+ userId: 'user-123',
14
+ organizationId: 'org-123',
15
+ solutionId: 'sol-123',
16
+ createdOn: Date.now()
17
+ };
18
+ expect(token.token).toBe('test-token');
19
+ expect(token.type).toBe('user');
20
+ expect(typeof token.createdOn).toBe('number');
21
+ });
22
+ });
23
+ describe('TTokenType', () => {
24
+ it('should support valid token types', () => {
25
+ const types = ['user', 'access', 'api', 'webhook', 'verification', 'value'];
26
+ types.forEach(type => {
27
+ expect(['user', 'access', 'api', 'webhook', 'verification', 'value']).toContain(type);
28
+ });
29
+ });
30
+ });
31
+ describe('TParseTokenResult', () => {
32
+ it('should define parse result structure', () => {
33
+ const result = {
34
+ token: {
35
+ token: 'test',
36
+ key: 'key',
37
+ type: 'user',
38
+ userId: 'user',
39
+ organizationId: 'org',
40
+ solutionId: 'sol',
41
+ createdOn: Date.now()
42
+ }
43
+ };
44
+ expect(result.token).toBeDefined();
45
+ expect(result.error).toBeUndefined();
46
+ });
47
+ });
48
+ });
49
+ //# sourceMappingURL=token.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.test.js","sourceRoot":"","sources":["../../src/__tests__/token.test.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAIH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC7B,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACrC,MAAM,KAAK,GAAW;gBAClB,KAAK,EAAE,YAAY;gBACnB,GAAG,EAAE,UAAU;gBACf,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,UAAU;gBAClB,cAAc,EAAE,SAAS;gBACzB,UAAU,EAAE,SAAS;gBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACxB,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACvC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChC,MAAM,CAAC,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YACxC,MAAM,KAAK,GAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;YAE1F,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACjB,MAAM,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC1F,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC5C,MAAM,MAAM,GAAsB;gBAC9B,KAAK,EAAE;oBACH,KAAK,EAAE,MAAM;oBACb,GAAG,EAAE,KAAK;oBACV,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,MAAM;oBACd,cAAc,EAAE,KAAK;oBACrB,UAAU,EAAE,KAAK;oBACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACxB;aACJ,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @fileoverview Tests for UUID generation utilities
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=uuid.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/uuid.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Tests for UUID generation utilities
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const uuid_1 = require("../uuid");
7
+ describe('UUID Utilities', () => {
8
+ describe('newGuid', () => {
9
+ it('should generate a valid UUID v4', () => {
10
+ const uuid = (0, uuid_1.newGuid)();
11
+ // UUID v4 format: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
12
+ const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
13
+ expect(uuid).toMatch(uuidRegex);
14
+ });
15
+ it('should generate unique UUIDs', () => {
16
+ const uuid1 = (0, uuid_1.newGuid)();
17
+ const uuid2 = (0, uuid_1.newGuid)();
18
+ expect(uuid1).not.toBe(uuid2);
19
+ expect(uuid1).toHaveLength(36);
20
+ expect(uuid2).toHaveLength(36);
21
+ });
22
+ it('should generate UUIDs with correct format', () => {
23
+ const uuid = (0, uuid_1.newGuid)();
24
+ const parts = uuid.split('-');
25
+ expect(parts).toHaveLength(5);
26
+ expect(parts[0]).toHaveLength(8);
27
+ expect(parts[1]).toHaveLength(4);
28
+ expect(parts[2]).toHaveLength(4);
29
+ expect(parts[3]).toHaveLength(4);
30
+ expect(parts[4]).toHaveLength(12);
31
+ });
32
+ it('should generate multiple unique UUIDs', () => {
33
+ const uuids = new Set();
34
+ const count = 100;
35
+ for (let i = 0; i < count; i++) {
36
+ uuids.add((0, uuid_1.newGuid)());
37
+ }
38
+ expect(uuids.size).toBe(count);
39
+ });
40
+ });
41
+ });
42
+ //# sourceMappingURL=uuid.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.test.js","sourceRoot":"","sources":["../../src/__tests__/uuid.test.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAEH,kCAAkC;AAElC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC5B,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACrB,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACvC,MAAM,IAAI,GAAG,IAAA,cAAO,GAAE,CAAC;YAEvB,uDAAuD;YACvD,MAAM,SAAS,GAAG,wEAAwE,CAAC;YAC3F,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACpC,MAAM,KAAK,GAAG,IAAA,cAAO,GAAE,CAAC;YACxB,MAAM,KAAK,GAAG,IAAA,cAAO,GAAE,CAAC;YAExB,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACjD,MAAM,IAAI,GAAG,IAAA,cAAO,GAAE,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE9B,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC7C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,GAAG,CAAC;YAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7B,KAAK,CAAC,GAAG,CAAC,IAAA,cAAO,GAAE,CAAC,CAAC;YACzB,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @fileoverview Tests for value-of-object utilities
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=value-of-object.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value-of-object.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/value-of-object.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Tests for value-of-object utilities
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const value_of_object_1 = require("../value-of-object");
7
+ describe('Value-of-Object Utilities', () => {
8
+ describe('getPropValueOfObject', () => {
9
+ it('should get property value from object', () => {
10
+ const obj = { name: 'John', age: 30 };
11
+ const result = (0, value_of_object_1.getPropValueOfObject)(obj, 'name');
12
+ expect(result).toBe('John');
13
+ });
14
+ it('should handle case insensitive keys', () => {
15
+ const obj = { Name: 'John' };
16
+ const result = (0, value_of_object_1.getPropValueOfObject)(obj, 'name');
17
+ expect(result).toBe('John');
18
+ });
19
+ it('should return null for non-existent keys', () => {
20
+ const obj = { name: 'John' };
21
+ const result = (0, value_of_object_1.getPropValueOfObject)(obj, 'nonexistent');
22
+ expect(result).toBeUndefined();
23
+ });
24
+ });
25
+ describe('getObjectPropValue', () => {
26
+ it('should get object property value', () => {
27
+ const obj = { user: { name: 'John' } };
28
+ const result = (0, value_of_object_1.getObjectPropValue)(obj, 'user');
29
+ expect(result).toEqual({ name: 'John' });
30
+ });
31
+ it('should return undefined for invalid input', () => {
32
+ const result = (0, value_of_object_1.getObjectPropValue)(null, 'key');
33
+ expect(result).toBeUndefined();
34
+ });
35
+ });
36
+ describe('getBooleanPropValue', () => {
37
+ it('should get boolean property value', () => {
38
+ const obj = { active: true };
39
+ const result = (0, value_of_object_1.getBooleanPropValue)(obj, 'active');
40
+ expect(result).toBe(true);
41
+ });
42
+ it('should parse string boolean values', () => {
43
+ const obj = { active: 'true' };
44
+ const result = (0, value_of_object_1.getBooleanPropValue)(obj, 'active');
45
+ expect(result).toBe(true);
46
+ });
47
+ });
48
+ });
49
+ //# sourceMappingURL=value-of-object.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value-of-object.test.js","sourceRoot":"","sources":["../../src/__tests__/value-of-object.test.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAEH,wDAAmG;AAEnG,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACvC,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC7C,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,IAAA,sCAAoB,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACjD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC3C,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,IAAA,sCAAoB,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACjD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAChD,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,IAAA,sCAAoB,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC;YACxD,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YACxC,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,IAAA,oCAAkB,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACjD,MAAM,MAAM,GAAG,IAAA,oCAAkB,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YACzC,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,IAAA,qCAAmB,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAClD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC1C,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,IAAA,qCAAmB,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAClD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}