Skip to content

Commit 5b4dba3

Browse files
authored
Feat/add new feats (#65)
* feat: Implement filtering and pagination services for Angular, Preact, and SolidJS - Added FilterService, DebouncedFilterService, and PaginatedFilterService for Angular. - Created corresponding tests for filtering and pagination functionalities in Angular. - Introduced useFilter, useFilteredState, useDebouncedFilter, and usePaginatedFilter hooks for Preact. - Developed tests for Preact filtering and pagination hooks. - Implemented useFilter, useDebouncedFilter, and usePaginatedFilter hooks for SolidJS. - Added tests for SolidJS filtering and pagination hooks. - Enhanced operator exports in the operators module for better usability. * feat: Enhance build process and optimize package size by adding integration options and cleanup scripts * feat: Add orderBy functionality to filter, enabling sorting of results by specified fields feat: Implement sorting utilities and integrate with filter function feat: Enhance API documentation to include orderBy options and examples test: Add comprehensive tests for orderBy functionality in filter refactor: Update memoization to support orderBy in cache key generation refactor: Improve validation schemas to include orderBy field structures * feat: Add support for Angular, SolidJS, and Preact frameworks in documentation and API - Updated framework integrations in the documentation to include Angular, SolidJS, and Preact. - Added new sections for Angular integration, including FilterService, DebouncedFilterService, and PaginatedFilterService. - Introduced SolidJS and Preact integration examples with corresponding hooks. - Updated version number in the framework guide to 5.7.0. - Enhanced filtering options with `orderBy` and `limit` features in the configuration guide. - Implemented `limit` functionality in the core filter logic to restrict the number of results returned. - Updated operator processing to handle array operations more effectively. - Added TypeScript support for new configuration options. * feat: Update Angular integration with new FilterService, DebouncedFilterService, and PaginatedFilterService; enhance documentation and testing * feat: Refactor filtering logic and enhance utility functions for improved performance and readability; integrate new validation and post-processing methods * feat(geospatial): add geospatial operators for evaluating proximity, bounding boxes, and polygons feat(logical): implement logical operators with comprehensive tests feat(string): introduce string operators with support for regex and case sensitivity refactor: reorganize operator imports for better structure test(logical): add extensive tests for logical operators including nested scenarios test(string): create tests for string operators covering various edge cases and combinations * feat(tests): add comprehensive tests for operator exports and structure validation * feat: add performance monitoring utility - Introduced PerformanceMonitor class for tracking operation durations and metrics. - Added methods for starting, tracking, and retrieving performance metrics. - Implemented global performance monitor instance and utility functions for easy access. - Added decorator for performance tracking on methods. feat: implement sorting utilities - Created sorting utilities including normalizeOrderBy, compareValues, and sortByFields. - Added type definitions for sorting operations. feat: add string helper functions - Implemented lowercase and equals functions for string manipulation. feat: introduce type guards - Added type guard utilities for checking types such as isString, isObject, and isFunction. - Implemented tests for type guard functions. feat: create typed filter utilities - Developed typedFilter function for type-safe filtering with dot notation support. - Introduced TypedFilterBuilder class for building filter expressions fluently. feat: enhance validation schemas and validators - Created validation schemas for expressions and filter options using zod. - Implemented validateExpression and validateOptions functions for input validation. - Added comprehensive tests for validation logic and operator schemas.
1 parent 3371e99 commit 5b4dba3

File tree

145 files changed

+5765
-1756
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

145 files changed

+5765
-1756
lines changed

.size-limit.json

Lines changed: 68 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,98 @@
11
[
22
{
3-
"name": "Full Library (no dependencies)",
3+
"name": "Full Library",
44
"path": "build/index.js",
55
"limit": "15 KB",
6-
"gzip": true,
7-
"ignore": ["zod", "@vercel/analytics", "@vue-leaflet/vue-leaflet", "leaflet"]
6+
"gzip": true
7+
},
8+
{
9+
"name": "Core only",
10+
"path": "build/core/index.js",
11+
"limit": "10 KB",
12+
"gzip": true
813
},
914
{
1015
"name": "Operators - All",
1116
"path": "build/operators/index.js",
12-
"limit": "5 KB",
13-
"gzip": true,
14-
"ignore": ["zod"]
17+
"limit": "10 KB",
18+
"gzip": true
1519
},
1620
{
1721
"name": "Operators - Comparison",
18-
"path": "build/operators/comparison.operators.js",
22+
"path": "build/operators/comparison/comparison.operators.js",
1923
"limit": "500 B",
20-
"gzip": true,
21-
"ignore": ["zod"]
24+
"gzip": true
2225
},
2326
{
2427
"name": "Operators - String",
25-
"path": "build/operators/string.operators.js",
26-
"limit": "1.5 KB",
27-
"gzip": true,
28-
"ignore": ["zod"]
28+
"path": "build/operators/string/string.operators.js",
29+
"limit": "2 KB",
30+
"gzip": true
2931
},
3032
{
3133
"name": "Operators - Array",
32-
"path": "build/operators/array.operators.js",
33-
"limit": "300 B",
34-
"gzip": true,
35-
"ignore": ["zod"]
34+
"path": "build/operators/array/array.operators.js",
35+
"limit": "500 B",
36+
"gzip": true
3637
},
3738
{
3839
"name": "Operators - Logical",
39-
"path": "build/operators/logical.operators.js",
40+
"path": "build/operators/logical/logical.operators.js",
4041
"limit": "5 KB",
41-
"gzip": true,
42-
"ignore": ["zod"]
42+
"gzip": true
4343
},
4444
{
4545
"name": "Operators - Geospatial",
46-
"path": "build/operators/geospatial.operators.js",
47-
"limit": "1 KB",
48-
"gzip": true,
49-
"ignore": ["zod"]
46+
"path": "build/operators/geospatial/geospatial.operators.js",
47+
"limit": "2 KB",
48+
"gzip": true
5049
},
5150
{
5251
"name": "Operators - DateTime",
53-
"path": "build/operators/datetime.operators.js",
54-
"limit": "1 KB",
55-
"gzip": true,
56-
"ignore": ["zod"]
52+
"path": "build/operators/datetime/datetime.operators.js",
53+
"limit": "2 KB",
54+
"gzip": true
55+
},
56+
{
57+
"name": "React integration",
58+
"path": "build/integrations/react/index.js",
59+
"limit": "10 KB",
60+
"gzip": true
61+
},
62+
{
63+
"name": "Vue integration",
64+
"path": "build/integrations/vue/index.js",
65+
"limit": "10 KB",
66+
"gzip": true
67+
},
68+
{
69+
"name": "Svelte integration",
70+
"path": "build/integrations/svelte/index.js",
71+
"limit": "10 KB",
72+
"gzip": true
73+
},
74+
{
75+
"name": "Angular integration",
76+
"path": "build/integrations/angular/index.js",
77+
"limit": "10 KB",
78+
"gzip": true
79+
},
80+
{
81+
"name": "SolidJS integration",
82+
"path": "build/integrations/solidjs/index.js",
83+
"limit": "10 KB",
84+
"gzip": true
85+
},
86+
{
87+
"name": "Preact integration",
88+
"path": "build/integrations/preact/index.js",
89+
"limit": "10 KB",
90+
"gzip": true
91+
},
92+
{
93+
"name": "Lazy evaluation",
94+
"path": "build/core/lazy/filter-lazy.js",
95+
"limit": "6 KB",
96+
"gzip": true
5797
}
5898
]

FIXED_ISSUES.md

Lines changed: 0 additions & 142 deletions
This file was deleted.

0 commit comments

Comments
 (0)