querier-ts 2.1.1 → 2.3.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 (63) hide show
  1. package/README.md +27 -4
  2. package/lib/core/validation/query-row-validator.js.map +1 -1
  3. package/lib/query.d.ts +54 -29
  4. package/lib/query.d.ts.map +1 -1
  5. package/lib/query.js +41 -46
  6. package/lib/query.js.map +1 -1
  7. package/lib/utils/functions/type-guards/is-function.d.ts +2 -1
  8. package/lib/utils/functions/type-guards/is-function.d.ts.map +1 -1
  9. package/lib/utils/functions/type-guards/is-function.js +2 -0
  10. package/lib/utils/functions/type-guards/is-function.js.map +1 -1
  11. package/package.json +2 -2
  12. package/lib/__tests__/query.spec.d.ts +0 -2
  13. package/lib/__tests__/query.spec.d.ts.map +0 -1
  14. package/lib/__tests__/query.spec.js +0 -271
  15. package/lib/__tests__/query.spec.js.map +0 -1
  16. package/lib/core/errors/__tests__/invalid-argument-error.spec.d.ts +0 -2
  17. package/lib/core/errors/__tests__/invalid-argument-error.spec.d.ts.map +0 -1
  18. package/lib/core/errors/__tests__/invalid-argument-error.spec.js +0 -16
  19. package/lib/core/errors/__tests__/invalid-argument-error.spec.js.map +0 -1
  20. package/lib/core/validation/__tests__/query-row-validator.spec.d.ts +0 -2
  21. package/lib/core/validation/__tests__/query-row-validator.spec.d.ts.map +0 -1
  22. package/lib/core/validation/__tests__/query-row-validator.spec.js +0 -156
  23. package/lib/core/validation/__tests__/query-row-validator.spec.js.map +0 -1
  24. package/lib/core/validation/decorators/__tests__/number-validation.spec.d.ts +0 -2
  25. package/lib/core/validation/decorators/__tests__/number-validation.spec.d.ts.map +0 -1
  26. package/lib/core/validation/decorators/__tests__/number-validation.spec.js +0 -130
  27. package/lib/core/validation/decorators/__tests__/number-validation.spec.js.map +0 -1
  28. package/lib/utils/functions/generic/__tests__/compare-arrays.spec.d.ts +0 -2
  29. package/lib/utils/functions/generic/__tests__/compare-arrays.spec.d.ts.map +0 -1
  30. package/lib/utils/functions/generic/__tests__/compare-arrays.spec.js +0 -20
  31. package/lib/utils/functions/generic/__tests__/compare-arrays.spec.js.map +0 -1
  32. package/lib/utils/functions/generic/__tests__/deep-equal.spec.d.ts +0 -2
  33. package/lib/utils/functions/generic/__tests__/deep-equal.spec.d.ts.map +0 -1
  34. package/lib/utils/functions/generic/__tests__/deep-equal.spec.js +0 -81
  35. package/lib/utils/functions/generic/__tests__/deep-equal.spec.js.map +0 -1
  36. package/lib/utils/functions/generic/__tests__/get-entries.spec.d.ts +0 -2
  37. package/lib/utils/functions/generic/__tests__/get-entries.spec.d.ts.map +0 -1
  38. package/lib/utils/functions/generic/__tests__/get-entries.spec.js +0 -54
  39. package/lib/utils/functions/generic/__tests__/get-entries.spec.js.map +0 -1
  40. package/lib/utils/functions/generic/__tests__/get-object-property-names.spec.d.ts +0 -2
  41. package/lib/utils/functions/generic/__tests__/get-object-property-names.spec.d.ts.map +0 -1
  42. package/lib/utils/functions/generic/__tests__/get-object-property-names.spec.js +0 -82
  43. package/lib/utils/functions/generic/__tests__/get-object-property-names.spec.js.map +0 -1
  44. package/lib/utils/functions/sort/__tests__/sort-by-properties.spec.d.ts +0 -2
  45. package/lib/utils/functions/sort/__tests__/sort-by-properties.spec.d.ts.map +0 -1
  46. package/lib/utils/functions/sort/__tests__/sort-by-properties.spec.js +0 -68
  47. package/lib/utils/functions/sort/__tests__/sort-by-properties.spec.js.map +0 -1
  48. package/lib/utils/functions/sort/__tests__/sort-by-property.spec.d.ts +0 -2
  49. package/lib/utils/functions/sort/__tests__/sort-by-property.spec.d.ts.map +0 -1
  50. package/lib/utils/functions/sort/__tests__/sort-by-property.spec.js +0 -75
  51. package/lib/utils/functions/sort/__tests__/sort-by-property.spec.js.map +0 -1
  52. package/lib/utils/functions/type-guards/__tests__/is-function.spec.d.ts +0 -2
  53. package/lib/utils/functions/type-guards/__tests__/is-function.spec.d.ts.map +0 -1
  54. package/lib/utils/functions/type-guards/__tests__/is-function.spec.js +0 -37
  55. package/lib/utils/functions/type-guards/__tests__/is-function.spec.js.map +0 -1
  56. package/lib/utils/functions/type-guards/__tests__/is-number.spec.d.ts +0 -2
  57. package/lib/utils/functions/type-guards/__tests__/is-number.spec.d.ts.map +0 -1
  58. package/lib/utils/functions/type-guards/__tests__/is-number.spec.js +0 -34
  59. package/lib/utils/functions/type-guards/__tests__/is-number.spec.js.map +0 -1
  60. package/lib/utils/functions/type-guards/__tests__/is-object.spec.d.ts +0 -2
  61. package/lib/utils/functions/type-guards/__tests__/is-object.spec.d.ts.map +0 -1
  62. package/lib/utils/functions/type-guards/__tests__/is-object.spec.js +0 -37
  63. package/lib/utils/functions/type-guards/__tests__/is-object.spec.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"compare-arrays.spec.d.ts","sourceRoot":"","sources":["../../../../../src/utils/functions/generic/__tests__/compare-arrays.spec.ts"],"names":[],"mappings":""}
@@ -1,20 +0,0 @@
1
- import { compareArrays } from '../compare-arrays';
2
- describe('compareArrays', () => {
3
- it('returns true for ly equal arrays', () => {
4
- const a = [{ x: 1 }, { y: 2 }];
5
- const b = [{ x: 1 }, { y: 2 }];
6
- expect(compareArrays(a, b)).toBe(true);
7
- });
8
- it('returns false for ly different arrays', () => {
9
- expect(compareArrays([{ x: 1 }], [{ x: 2 }])).toBe(false);
10
- });
11
- it('returns false when order differs', () => {
12
- expect(compareArrays([{ a: 1 }, { b: 2 }], [{ b: 2 }, { a: 1 }])).toBe(false);
13
- });
14
- it('works with nested objects', () => {
15
- const a = [{ x: { y: 1 } }];
16
- const b = [{ x: { y: 1 } }];
17
- expect(compareArrays(a, b)).toBe(true);
18
- });
19
- });
20
- //# sourceMappingURL=compare-arrays.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compare-arrays.spec.js","sourceRoot":"","sources":["../../../../../src/utils/functions/generic/__tests__/compare-arrays.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAE/B,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CACpE,KAAK,CACN,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAE5B,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=deep-equal.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deep-equal.spec.d.ts","sourceRoot":"","sources":["../../../../../src/utils/functions/generic/__tests__/deep-equal.spec.ts"],"names":[],"mappings":""}
@@ -1,81 +0,0 @@
1
- import { deepEqual } from '../deep-equal';
2
- describe('deepEqual', () => {
3
- describe('primitive values', () => {
4
- it('returns true for strictly equal primitives', () => {
5
- expect(deepEqual(1, 1)).toBe(true);
6
- expect(deepEqual('a', 'a')).toBe(true);
7
- expect(deepEqual(true, true)).toBe(true);
8
- expect(deepEqual(null, null)).toBe(true);
9
- expect(deepEqual(undefined, undefined)).toBe(true);
10
- });
11
- it('returns false for different primitive values', () => {
12
- expect(deepEqual(1, 2)).toBe(false);
13
- expect(deepEqual('a', 'b')).toBe(false);
14
- expect(deepEqual(true, false)).toBe(false);
15
- expect(deepEqual(null, undefined)).toBe(false);
16
- });
17
- });
18
- describe('objects', () => {
19
- it('returns true for deeply equal plain objects', () => {
20
- const a = { x: 1, y: 2 };
21
- const b = { x: 1, y: 2 };
22
- expect(deepEqual(a, b)).toBe(true);
23
- });
24
- it('returns false for objects with different keys', () => {
25
- expect(deepEqual({ x: 1 }, { y: 1 })).toBe(false);
26
- });
27
- it('returns false for objects with same keys but different values', () => {
28
- expect(deepEqual({ x: 1 }, { x: 2 })).toBe(false);
29
- });
30
- it('returns false when one object has extra keys', () => {
31
- expect(deepEqual({ x: 1 }, { x: 1, y: 2 })).toBe(false);
32
- });
33
- });
34
- describe('nested structures', () => {
35
- it('returns true for deeply nested objects', () => {
36
- const a = { x: { y: { z: 1 } } };
37
- const b = { x: { y: { z: 1 } } };
38
- expect(deepEqual(a, b)).toBe(true);
39
- });
40
- it('returns false for deeply nested differences', () => {
41
- const a = { x: { y: { z: 1 } } };
42
- const b = { x: { y: { z: 2 } } };
43
- expect(deepEqual(a, b)).toBe(false);
44
- });
45
- });
46
- describe('arrays', () => {
47
- it('returns true for deeply equal arrays', () => {
48
- expect(deepEqual([1, 2, 3], [1, 2, 3])).toBe(true);
49
- });
50
- it('returns false for arrays with different order', () => {
51
- expect(deepEqual([1, 2, 3], [3, 2, 1])).toBe(false);
52
- });
53
- it('returns true for arrays with nested objects', () => {
54
- const a = [{ x: 1 }, { y: 2 }];
55
- const b = [{ x: 1 }, { y: 2 }];
56
- expect(deepEqual(a, b)).toBe(true);
57
- });
58
- it('returns false for arrays with different lengths', () => {
59
- expect(deepEqual([1, 2], [1, 2, 3])).toBe(false);
60
- });
61
- });
62
- describe('mixed and edge cases', () => {
63
- it('returns false when comparing array and object', () => {
64
- expect(deepEqual([], {})).toBe(false);
65
- });
66
- it('returns false when one value is object and the other is primitive', () => {
67
- expect(deepEqual({ x: 1 }, 1)).toBe(false);
68
- });
69
- it('returns true for same object reference', () => {
70
- const obj = { x: 1 };
71
- expect(deepEqual(obj, obj)).toBe(true);
72
- });
73
- it('returns false for Date objects with same value (by design)', () => {
74
- const a = new Date(2020, 1, 1);
75
- const b = new Date(2020, 1, 1);
76
- // Date has no enumerable keys, so this documents the limitation
77
- expect(deepEqual(a, b)).toBe(true);
78
- });
79
- });
80
- });
81
- //# sourceMappingURL=deep-equal.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deep-equal.spec.js","sourceRoot":"","sources":["../../../../../src/utils/functions/generic/__tests__/deep-equal.spec.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=get-entries.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-entries.spec.d.ts","sourceRoot":"","sources":["../../../../../src/utils/functions/generic/__tests__/get-entries.spec.ts"],"names":[],"mappings":""}
@@ -1,54 +0,0 @@
1
- import { getEntries } from '../get-entries';
2
- describe('getEntries', () => {
3
- it('should return entries for a simple object', () => {
4
- const obj = {
5
- a: 1,
6
- b: 2,
7
- };
8
- const entries = getEntries(obj);
9
- expect(entries).toEqual([
10
- ['a', 1],
11
- ['b', 2],
12
- ]);
13
- });
14
- it('should return an empty array for an empty object', () => {
15
- const obj = {};
16
- const entries = getEntries(obj);
17
- expect(entries).toEqual([]);
18
- });
19
- it('should work with different value types', () => {
20
- const obj = {
21
- name: 'Alice',
22
- age: 30,
23
- active: true,
24
- };
25
- const entries = getEntries(obj);
26
- expect(entries).toEqual([
27
- ['name', 'Alice'],
28
- ['age', 30],
29
- ['active', true],
30
- ]);
31
- });
32
- it('should preserve key-value association', () => {
33
- const obj = {
34
- x: 10,
35
- y: 20,
36
- };
37
- const entries = getEntries(obj);
38
- for (const [key, value] of entries) {
39
- expect(obj[key]).toBe(value);
40
- }
41
- });
42
- it('should provide correct typing for keys and values (type-level test)', () => {
43
- const obj = {
44
- id: 1,
45
- title: 'Post',
46
- };
47
- const entries = getEntries(obj);
48
- const key = 'id';
49
- const value = obj[key];
50
- expect(key).toBe('id');
51
- expect(value).toBe(1);
52
- });
53
- });
54
- //# sourceMappingURL=get-entries.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-entries.spec.js","sourceRoot":"","sources":["../../../../../src/utils/functions/generic/__tests__/get-entries.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,GAAG,GAAG;YACV,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;SACL,CAAC;QAEF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAEhC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;YACtB,CAAC,GAAG,EAAE,CAAC,CAAC;YACR,CAAC,GAAG,EAAE,CAAC,CAAC;SACT,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,GAAG,GAAG,EAAE,CAAC;QAEf,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAEhC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,GAAG,GAAG;YACV,IAAI,EAAE,OAAO;YACb,GAAG,EAAE,EAAE;YACP,MAAM,EAAE,IAAI;SACb,CAAC;QAEF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAEhC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;YACtB,CAAC,MAAM,EAAE,OAAO,CAAC;YACjB,CAAC,KAAK,EAAE,EAAE,CAAC;YACX,CAAC,QAAQ,EAAE,IAAI,CAAC;SACjB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,GAAG,GAAG;YACV,CAAC,EAAE,EAAE;YACL,CAAC,EAAE,EAAE;SACN,CAAC;QAEF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAEhC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,GAAG,GAAG;YACV,EAAE,EAAE,CAAC;YACL,KAAK,EAAE,MAAM;SACd,CAAC;QAEF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAKhC,MAAM,GAAG,GAAa,IAAI,CAAC;QAC3B,MAAM,KAAK,GAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QAEjC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=get-object-property-names.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-object-property-names.spec.d.ts","sourceRoot":"","sources":["../../../../../src/utils/functions/generic/__tests__/get-object-property-names.spec.ts"],"names":[],"mappings":""}
@@ -1,82 +0,0 @@
1
- import { getObjectPropertyNames } from '../get-object-property-names';
2
- class User {
3
- constructor(id, name, active) {
4
- this.id = id;
5
- this.name = name;
6
- this.active = active;
7
- }
8
- isAdmin() {
9
- return this.id === 1;
10
- }
11
- }
12
- describe('getObjectPropertyNames', () => {
13
- it('should return only data properties from a plain object', () => {
14
- const obj = {
15
- id: 1,
16
- name: 'John',
17
- active: true,
18
- };
19
- const result = getObjectPropertyNames(obj);
20
- expect(result).toEqual(['id', 'name', 'active']);
21
- });
22
- it('should exclude function properties', () => {
23
- const obj = {
24
- id: 1,
25
- name: 'John',
26
- greet: () => 'hello',
27
- };
28
- const result = getObjectPropertyNames(obj);
29
- expect(result).toEqual(['id', 'name']);
30
- });
31
- it('should not include class prototype methods', () => {
32
- const user = new User(1, 'John', true);
33
- const result = getObjectPropertyNames(user);
34
- expect(result).toEqual(['id', 'name', 'active']);
35
- expect(result.includes('isAdmin')).toBe(false);
36
- });
37
- it('should return empty array for object with only methods', () => {
38
- const obj = {
39
- fn1: () => 1,
40
- fn2: () => 2,
41
- };
42
- const result = getObjectPropertyNames(obj);
43
- expect(result).toEqual([]);
44
- });
45
- it('should return empty array for empty object', () => {
46
- const obj = {};
47
- const result = getObjectPropertyNames(obj);
48
- expect(result).toEqual([]);
49
- });
50
- it('should handle mixed value types correctly', () => {
51
- const obj = {
52
- str: 'text',
53
- num: 123,
54
- bool: true,
55
- nil: null,
56
- undef: undefined,
57
- obj: { nested: true },
58
- arr: [1, 2, 3],
59
- fn: () => { },
60
- };
61
- const result = getObjectPropertyNames(obj);
62
- expect(result).toEqual([
63
- 'str',
64
- 'num',
65
- 'bool',
66
- 'nil',
67
- 'undef',
68
- 'obj',
69
- 'arr',
70
- ]);
71
- });
72
- it('should preserve key order', () => {
73
- const obj = {
74
- a: 1,
75
- b: 2,
76
- c: 3,
77
- };
78
- const result = getObjectPropertyNames(obj);
79
- expect(result).toEqual(['a', 'b', 'c']);
80
- });
81
- });
82
- //# sourceMappingURL=get-object-property-names.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-object-property-names.spec.js","sourceRoot":"","sources":["../../../../../src/utils/functions/generic/__tests__/get-object-property-names.spec.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=sort-by-properties.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sort-by-properties.spec.d.ts","sourceRoot":"","sources":["../../../../../src/utils/functions/sort/__tests__/sort-by-properties.spec.ts"],"names":[],"mappings":""}
@@ -1,68 +0,0 @@
1
- import { sortByProperties } from '../sort-by-properties';
2
- describe('sortByProperties', () => {
3
- it('sorts by a single property', () => {
4
- const data = [
5
- { id: 2, name: 'B' },
6
- { id: 1, name: 'A' },
7
- ];
8
- data.sort(sortByProperties('id'));
9
- expect(data).toEqual([
10
- { id: 1, name: 'A' },
11
- { id: 2, name: 'B' },
12
- ]);
13
- });
14
- it('sorts by multiple properties in order', () => {
15
- const data = [
16
- { id: 1, name: 'Bob', age: 30 },
17
- { id: 2, name: 'Alice', age: 30 },
18
- { id: 3, name: 'Alice', age: 25 },
19
- ];
20
- data.sort(sortByProperties('name', 'age'));
21
- expect(data).toEqual([
22
- { id: 3, name: 'Alice', age: 25 },
23
- { id: 2, name: 'Alice', age: 30 },
24
- { id: 1, name: 'Bob', age: 30 },
25
- ]);
26
- });
27
- it('supports descending order with "-" prefix', () => {
28
- const data = [
29
- { id: 1, name: 'Bob', age: 30 },
30
- { id: 2, name: 'Alice', age: 30 },
31
- { id: 3, name: 'Alice', age: 25 },
32
- ];
33
- data.sort(sortByProperties('name', '-age'));
34
- expect(data).toEqual([
35
- { id: 2, name: 'Alice', age: 30 },
36
- { id: 3, name: 'Alice', age: 25 },
37
- { id: 1, name: 'Bob', age: 30 },
38
- ]);
39
- });
40
- it('places undefined values last when used as secondary key', () => {
41
- const data = [
42
- { id: 1, name: 'Alice' },
43
- { id: 2, name: 'Alice', age: 20 },
44
- { id: 3, name: 'Alice', age: 10 },
45
- ];
46
- data.sort(sortByProperties('name', 'age'));
47
- expect(data).toEqual([
48
- { id: 3, name: 'Alice', age: 10 },
49
- { id: 2, name: 'Alice', age: 20 },
50
- { id: 1, name: 'Alice' },
51
- ]);
52
- });
53
- it('returns 0 when all compared properties are equal', () => {
54
- const comparator = sortByProperties('name', 'age');
55
- expect(comparator({ id: 1, name: 'Alice', age: 20 }, { id: 2, name: 'Alice', age: 20 })).toBe(0);
56
- });
57
- it('returns 0 when no properties are provided', () => {
58
- const comparator = sortByProperties();
59
- expect(comparator({ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' })).toBe(0);
60
- });
61
- it('enforces type safety at compile time', () => {
62
- // @ts-expect-error
63
- sortByProperties('invalid');
64
- // @ts-expect-error
65
- sortByProperties('-invalid');
66
- });
67
- });
68
- //# sourceMappingURL=sort-by-properties.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sort-by-properties.spec.js","sourceRoot":"","sources":["../../../../../src/utils/functions/sort/__tests__/sort-by-properties.spec.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=sort-by-property.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sort-by-property.spec.d.ts","sourceRoot":"","sources":["../../../../../src/utils/functions/sort/__tests__/sort-by-property.spec.ts"],"names":[],"mappings":""}
@@ -1,75 +0,0 @@
1
- import { sortByProperty } from '../sort-by-property';
2
- describe('sortByProperty (improved)', () => {
3
- describe('ascending order', () => {
4
- it('sorts by numeric property', () => {
5
- const data = [{ id: 3 }, { id: 1 }, { id: 2 }];
6
- data.sort(sortByProperty('id'));
7
- expect(data).toEqual([{ id: 1 }, { id: 2 }, { id: 3 }]);
8
- });
9
- it('sorts by string property', () => {
10
- const data = [{ name: 'Charlie' }, { name: 'Alice' }, { name: 'Bob' }];
11
- data.sort(sortByProperty('name'));
12
- expect(data).toEqual([
13
- { name: 'Alice' },
14
- { name: 'Bob' },
15
- { name: 'Charlie' },
16
- ]);
17
- });
18
- });
19
- describe('descending order', () => {
20
- it('sorts by numeric property descending', () => {
21
- const data = [{ score: 10 }, { score: 30 }, { score: 20 }];
22
- data.sort(sortByProperty('-score'));
23
- expect(data).toEqual([{ score: 30 }, { score: 20 }, { score: 10 }]);
24
- });
25
- it('sorts by string property descending', () => {
26
- const data = [{ name: 'Alice' }, { name: 'Charlie' }, { name: 'Bob' }];
27
- data.sort(sortByProperty('-name'));
28
- expect(data).toEqual([
29
- { name: 'Charlie' },
30
- { name: 'Bob' },
31
- { name: 'Alice' },
32
- ]);
33
- });
34
- });
35
- describe('null and undefined handling', () => {
36
- it('places undefined values last', () => {
37
- const data = [{ value: 2 }, { value: undefined }, { value: 1 }];
38
- data.sort(sortByProperty('value'));
39
- expect(data).toEqual([{ value: 1 }, { value: 2 }, { value: undefined }]);
40
- });
41
- it('places null values last', () => {
42
- const data = [{ value: 2 }, { value: null }, { value: 1 }];
43
- data.sort(sortByProperty('value'));
44
- expect(data).toEqual([{ value: 1 }, { value: 2 }, { value: null }]);
45
- });
46
- it('returns 0 when both values are null', () => {
47
- const comparator = sortByProperty('value');
48
- expect(comparator({ value: null }, { value: null })).toBe(0);
49
- });
50
- it('returns 0 when both values are undefined', () => {
51
- const comparator = sortByProperty('value');
52
- expect(comparator({ value: undefined }, { value: undefined })).toBe(0);
53
- });
54
- it('returns 0 when both values are nullish (null vs undefined)', () => {
55
- const comparator = sortByProperty('value');
56
- expect(comparator({ value: null }, { value: undefined })).toBe(0);
57
- expect(comparator({ value: undefined }, { value: null })).toBe(0);
58
- });
59
- });
60
- describe('equal values', () => {
61
- it('returns 0 for equal property values', () => {
62
- const comparator = sortByProperty('id');
63
- expect(comparator({ id: 1 }, { id: 1 })).toBe(0);
64
- });
65
- });
66
- describe('type safety (compile-time)', () => {
67
- it('does not allow invalid properties', () => {
68
- // @ts-expect-error
69
- sortByProperty('invalid');
70
- // @ts-expect-error
71
- sortByProperty('-invalid');
72
- });
73
- });
74
- });
75
- //# sourceMappingURL=sort-by-property.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sort-by-property.spec.js","sourceRoot":"","sources":["../../../../../src/utils/functions/sort/__tests__/sort-by-property.spec.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=is-function.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-function.spec.d.ts","sourceRoot":"","sources":["../../../../../src/utils/functions/type-guards/__tests__/is-function.spec.ts"],"names":[],"mappings":""}
@@ -1,37 +0,0 @@
1
- import { isFunction } from '../is-function';
2
- describe('isFunction', () => {
3
- it('should return true for regular functions', () => {
4
- const fn = () => { };
5
- expect(isFunction(fn)).toBe(true);
6
- });
7
- it('should return true for async functions', () => {
8
- const fn = async () => { };
9
- expect(isFunction(fn)).toBe(true);
10
- });
11
- it('should return true for class constructors', () => {
12
- class Test {
13
- }
14
- expect(isFunction(Test)).toBe(true);
15
- });
16
- it('should return false for non-function values', () => {
17
- expect(isFunction(123)).toBe(false);
18
- expect(isFunction('string')).toBe(false);
19
- expect(isFunction(null)).toBe(false);
20
- expect(isFunction(undefined)).toBe(false);
21
- expect(isFunction({})).toBe(false);
22
- expect(isFunction([])).toBe(false);
23
- expect(isFunction(true)).toBe(false);
24
- });
25
- it('should narrow the type when returning true (type guard)', () => {
26
- const value = () => 'hello';
27
- if (isFunction(value)) {
28
- // If this compiles, the type guard works
29
- const result = value();
30
- expect(result).toBe('hello');
31
- }
32
- else {
33
- throw new Error('Expected value to be a function');
34
- }
35
- });
36
- });
37
- //# sourceMappingURL=is-function.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-function.spec.js","sourceRoot":"","sources":["../../../../../src/utils/functions/type-guards/__tests__/is-function.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,EAAE,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QACpB,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,EAAE,GAAG,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC;QAC1B,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,IAAI;SAAG;QACb,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC;QAE5B,IAAI,UAAU,CAAe,KAAK,CAAC,EAAE,CAAC;YACpC,yCAAyC;YACzC,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC;YACvB,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=is-number.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-number.spec.d.ts","sourceRoot":"","sources":["../../../../../src/utils/functions/type-guards/__tests__/is-number.spec.ts"],"names":[],"mappings":""}
@@ -1,34 +0,0 @@
1
- import { isNumber } from '../is-number';
2
- describe('isNumber', () => {
3
- it('should return true for valid numbers', () => {
4
- expect(isNumber(0)).toBe(true);
5
- expect(isNumber(42)).toBe(true);
6
- expect(isNumber(-10)).toBe(true);
7
- expect(isNumber(3.14)).toBe(true);
8
- expect(isNumber(NaN)).toBe(true); // typeof NaN === 'number'
9
- expect(isNumber(Infinity)).toBe(true);
10
- expect(isNumber(-Infinity)).toBe(true);
11
- });
12
- it('should return false for non-number values', () => {
13
- expect(isNumber('123')).toBe(false);
14
- expect(isNumber(null)).toBe(false);
15
- expect(isNumber(undefined)).toBe(false);
16
- expect(isNumber({})).toBe(false);
17
- expect(isNumber([])).toBe(false);
18
- expect(isNumber(true)).toBe(false);
19
- expect(isNumber(false)).toBe(false);
20
- expect(isNumber(() => 1)).toBe(false);
21
- });
22
- it('should narrow the type when returning true (type guard)', () => {
23
- const value = 123;
24
- if (isNumber(value)) {
25
- // If this compiles, the type guard works
26
- const result = value + 1;
27
- expect(result).toBe(124);
28
- }
29
- else {
30
- throw new Error('Expected value to be a number');
31
- }
32
- });
33
- });
34
- //# sourceMappingURL=is-number.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-number.spec.js","sourceRoot":"","sources":["../../../../../src/utils/functions/type-guards/__tests__/is-number.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,0BAA0B;QAC5D,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,KAAK,GAAY,GAAG,CAAC;QAE3B,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACpB,yCAAyC;YACzC,MAAM,MAAM,GAAW,KAAK,GAAG,CAAC,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=is-object.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-object.spec.d.ts","sourceRoot":"","sources":["../../../../../src/utils/functions/type-guards/__tests__/is-object.spec.ts"],"names":[],"mappings":""}
@@ -1,37 +0,0 @@
1
- import { isObject } from '../is-object';
2
- describe('isObject', () => {
3
- it('should return true for plain objects', () => {
4
- expect(isObject({})).toBe(true);
5
- expect(isObject({ a: 1 })).toBe(true);
6
- expect(isObject(Object.create(null))).toBe(true);
7
- });
8
- it('should return true for non-plain objects (by design)', () => {
9
- expect(isObject([])).toBe(true); // arrays are objects
10
- expect(isObject(new Date())).toBe(true); // Date is an object
11
- expect(isObject(/regex/)).toBe(true); // RegExp is an object
12
- expect(isObject(new Map())).toBe(true);
13
- expect(isObject(new Set())).toBe(true);
14
- });
15
- it('should return false for null', () => {
16
- expect(isObject(null)).toBe(false);
17
- });
18
- it('should return false for non-object types', () => {
19
- expect(isObject(undefined)).toBe(false);
20
- expect(isObject(123)).toBe(false);
21
- expect(isObject('string')).toBe(false);
22
- expect(isObject(true)).toBe(false);
23
- expect(isObject(false)).toBe(false);
24
- expect(isObject(() => { })).toBe(false); // functions are not objects
25
- });
26
- it('should narrow the type when returning true (type guard)', () => {
27
- const value = { a: 1 };
28
- if (isObject(value)) {
29
- // TypeScript now knows value is object
30
- expect(typeof value).toBe('object');
31
- }
32
- else {
33
- throw new Error('Expected value to be an object');
34
- }
35
- });
36
- });
37
- //# sourceMappingURL=is-object.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-object.spec.js","sourceRoot":"","sources":["../../../../../src/utils/functions/type-guards/__tests__/is-object.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB;QACtD,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB;QAC7D,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB;QAC5D,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,4BAA4B;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,KAAK,GAAY,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAEhC,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACpB,uCAAuC;YACvC,MAAM,CAAC,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}