quetch 0.1.0 → 0.1.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.
package/README.md CHANGED
@@ -4,16 +4,18 @@
4
4
 
5
5
  ### Features
6
6
 
7
- - Provides a common query object format
8
- - Separates data requests from API configuration
7
+ - Provides a fully typed query object format
8
+ - Queries local data as well as external data (e.g., through `fetch`)
9
+ - Separates resource requests from API configuration
9
10
  - Provides error handlers
10
11
 
11
12
  ## Usage
12
13
 
13
14
  Everything is exported from the main entry-point through an ES6 module:
14
15
 
15
- ```js
16
- import { add } from "quetch";
16
+ ```typescript
17
+ import { fetchLocal, combine } from "quetch";
18
+ import type { Query } from "quetch";
17
19
  ```
18
20
 
19
21
  ## Installation
@@ -138,4 +138,44 @@ test("aggregates items", () => {
138
138
  },
139
139
  })).toBe(1);
140
140
  });
141
+ test("slices items", () => {
142
+ expect(queryItemList({
143
+ type: [
144
+ { a: 1, c: "a" },
145
+ { a: 2, c: "a" },
146
+ { a: 3, c: "b" },
147
+ ],
148
+ method: "get",
149
+ multiple: true,
150
+ limit: 1,
151
+ })).toEqual([{ a: 1, c: "a" }]);
152
+ expect(queryItemList({
153
+ type: [
154
+ { a: 1, c: "a" },
155
+ { a: 2, c: "a" },
156
+ { a: 3, c: "b" },
157
+ ],
158
+ method: "get",
159
+ multiple: true,
160
+ context: {
161
+ c: "a",
162
+ },
163
+ offset: 1,
164
+ })).toEqual([{ a: 2, c: "a" }]);
165
+ expect(queryItemList({
166
+ type: [
167
+ { a: 1, c: "a" },
168
+ { a: 2, c: "a" },
169
+ { a: 3, c: "b" },
170
+ { a: 2, c: "b" },
171
+ ],
172
+ method: "get",
173
+ multiple: true,
174
+ offset: 1,
175
+ limit: 2,
176
+ })).toEqual([
177
+ { a: 2, c: "a" },
178
+ { a: 3, c: "b" },
179
+ ]);
180
+ });
141
181
  //# sourceMappingURL=queryItemList.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"queryItemList.test.js","sourceRoot":"","sources":["../../lib/tools/queryItemList.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queryItemList.test.js","sourceRoot":"","sources":["../../lib/tools/queryItemList.test.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -294,7 +294,7 @@ type Group<T extends object> = keyof T | {
294
294
  /**
295
295
  * Describes a predicate for filtering items.
296
296
  */
297
- export type Filter<T extends object> = FilterList<T> | FilterField<T> | FilterBoolean<T> | FilterString<T> | FilterStringMatch<T> | FilterStringInclude<T> | FilterNumber<T> | FilterArray<T>;
297
+ export type Filter<T extends object> = FilterList<T> | FilterField<T> | FilterBoolean<T> | FilterString<T> | FilterStringMatch<T> | FilterStringIntersect<T> | FilterNumber<T> | FilterArray<T>;
298
298
  export type FilterOperator = Filter<never>["operator"];
299
299
  /**
300
300
  * Joins a list of filters with a specific boolean operator.
@@ -372,7 +372,7 @@ export type FilterStringMatch<T extends object> = {
372
372
  /**
373
373
  * Checks if a given string field has any of the provided values.
374
374
  */
375
- export type FilterStringInclude<T extends object> = {
375
+ export type FilterStringIntersect<T extends object> = {
376
376
  operator: "intersect";
377
377
  field: FilterKeys<T, string>;
378
378
  value: string[];
package/doc/README.md CHANGED
@@ -28,7 +28,7 @@ quetch
28
28
  - [FilterNumber](README.md#filternumber)
29
29
  - [FilterOperator](README.md#filteroperator)
30
30
  - [FilterString](README.md#filterstring)
31
- - [FilterStringInclude](README.md#filterstringinclude)
31
+ - [FilterStringIntersect](README.md#filterstringintersect)
32
32
  - [FilterStringMatch](README.md#filterstringmatch)
33
33
  - [Handler](README.md#handler)
34
34
  - [NextHandler](README.md#nexthandler)
@@ -83,7 +83,7 @@ Aggregation function.
83
83
 
84
84
  #### Defined in
85
85
 
86
- [lib/types.ts:387](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L387)
86
+ [lib/types.ts:387](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L387)
87
87
 
88
88
  ___
89
89
 
@@ -93,7 +93,7 @@ ___
93
93
 
94
94
  #### Defined in
95
95
 
96
- [lib/types.ts:402](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L402)
96
+ [lib/types.ts:402](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L402)
97
97
 
98
98
  ___
99
99
 
@@ -103,7 +103,7 @@ ___
103
103
 
104
104
  #### Defined in
105
105
 
106
- [lib/types.ts:1](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L1)
106
+ [lib/types.ts:1](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L1)
107
107
 
108
108
  ___
109
109
 
@@ -113,7 +113,7 @@ ___
113
113
 
114
114
  #### Defined in
115
115
 
116
- [lib/types.ts:92](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L92)
116
+ [lib/types.ts:92](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L92)
117
117
 
118
118
  ___
119
119
 
@@ -123,7 +123,7 @@ ___
123
123
 
124
124
  #### Defined in
125
125
 
126
- [lib/types.ts:94](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L94)
126
+ [lib/types.ts:94](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L94)
127
127
 
128
128
  ___
129
129
 
@@ -133,7 +133,7 @@ ___
133
133
 
134
134
  #### Defined in
135
135
 
136
- [lib/types.ts:96](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L96)
136
+ [lib/types.ts:96](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L96)
137
137
 
138
138
  ___
139
139
 
@@ -149,7 +149,7 @@ ___
149
149
 
150
150
  #### Defined in
151
151
 
152
- [lib/types.ts:98](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L98)
152
+ [lib/types.ts:98](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L98)
153
153
 
154
154
  ___
155
155
 
@@ -165,7 +165,7 @@ ___
165
165
 
166
166
  #### Defined in
167
167
 
168
- [lib/types.ts:382](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L382)
168
+ [lib/types.ts:382](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L382)
169
169
 
170
170
  ___
171
171
 
@@ -185,7 +185,7 @@ Entity type for a given query.
185
185
 
186
186
  #### Defined in
187
187
 
188
- [lib/types.ts:49](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L49)
188
+ [lib/types.ts:49](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L49)
189
189
 
190
190
  ___
191
191
 
@@ -201,7 +201,7 @@ ___
201
201
 
202
202
  #### Defined in
203
203
 
204
- [lib/types.ts:349](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L349)
204
+ [lib/types.ts:349](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L349)
205
205
 
206
206
  ___
207
207
 
@@ -226,7 +226,7 @@ Applies a custom field transform function.
226
226
 
227
227
  #### Defined in
228
228
 
229
- [lib/types.ts:356](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L356)
229
+ [lib/types.ts:356](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L356)
230
230
 
231
231
  ___
232
232
 
@@ -252,7 +252,7 @@ Formats the date found in a given field, which can be an ISO string date or a ti
252
252
 
253
253
  #### Defined in
254
254
 
255
- [lib/types.ts:364](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L364)
255
+ [lib/types.ts:364](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L364)
256
256
 
257
257
  ___
258
258
 
@@ -264,7 +264,7 @@ Possible field function operators.
264
264
 
265
265
  #### Defined in
266
266
 
267
- [lib/types.ts:373](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L373)
267
+ [lib/types.ts:373](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L373)
268
268
 
269
269
  ___
270
270
 
@@ -282,13 +282,13 @@ Return types of custom field functions.
282
282
 
283
283
  #### Defined in
284
284
 
285
- [lib/types.ts:378](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L378)
285
+ [lib/types.ts:378](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L378)
286
286
 
287
287
  ___
288
288
 
289
289
  ### Filter
290
290
 
291
- Ƭ **Filter**<`T`\>: [`FilterList`](README.md#filterlist)<`T`\> \| [`FilterField`](README.md#filterfield)<`T`\> \| [`FilterBoolean`](README.md#filterboolean)<`T`\> \| [`FilterString`](README.md#filterstring)<`T`\> \| [`FilterStringMatch`](README.md#filterstringmatch)<`T`\> \| [`FilterStringInclude`](README.md#filterstringinclude)<`T`\> \| [`FilterNumber`](README.md#filternumber)<`T`\> \| [`FilterArray`](README.md#filterarray)<`T`\>
291
+ Ƭ **Filter**<`T`\>: [`FilterList`](README.md#filterlist)<`T`\> \| [`FilterField`](README.md#filterfield)<`T`\> \| [`FilterBoolean`](README.md#filterboolean)<`T`\> \| [`FilterString`](README.md#filterstring)<`T`\> \| [`FilterStringMatch`](README.md#filterstringmatch)<`T`\> \| [`FilterStringIntersect`](README.md#filterstringintersect)<`T`\> \| [`FilterNumber`](README.md#filternumber)<`T`\> \| [`FilterArray`](README.md#filterarray)<`T`\>
292
292
 
293
293
  Describes a predicate for filtering items.
294
294
 
@@ -300,7 +300,7 @@ Describes a predicate for filtering items.
300
300
 
301
301
  #### Defined in
302
302
 
303
- [lib/types.ts:422](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L422)
303
+ [lib/types.ts:422](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L422)
304
304
 
305
305
  ___
306
306
 
@@ -327,7 +327,7 @@ Checks if a given array field matches a given array value according to a given o
327
327
 
328
328
  #### Defined in
329
329
 
330
- [lib/types.ts:550](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L550)
330
+ [lib/types.ts:550](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L550)
331
331
 
332
332
  ___
333
333
 
@@ -353,7 +353,7 @@ Checks if a given boolean field is `true` or `false`.
353
353
 
354
354
  #### Defined in
355
355
 
356
- [lib/types.ts:470](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L470)
356
+ [lib/types.ts:470](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L470)
357
357
 
358
358
  ___
359
359
 
@@ -378,7 +378,7 @@ Checks if a given field exists.
378
378
 
379
379
  #### Defined in
380
380
 
381
- [lib/types.ts:462](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L462)
381
+ [lib/types.ts:462](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L462)
382
382
 
383
383
  ___
384
384
 
@@ -396,7 +396,7 @@ Joins a list of filters with a specific boolean operator.
396
396
 
397
397
  #### Defined in
398
398
 
399
- [lib/types.ts:437](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L437)
399
+ [lib/types.ts:437](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L437)
400
400
 
401
401
  ___
402
402
 
@@ -422,7 +422,7 @@ Checks if a given number field matches a given number value according to a given
422
422
 
423
423
  #### Defined in
424
424
 
425
- [lib/types.ts:535](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L535)
425
+ [lib/types.ts:535](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L535)
426
426
 
427
427
  ___
428
428
 
@@ -432,7 +432,7 @@ ___
432
432
 
433
433
  #### Defined in
434
434
 
435
- [lib/types.ts:432](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L432)
435
+ [lib/types.ts:432](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L432)
436
436
 
437
437
  ___
438
438
 
@@ -458,13 +458,13 @@ Checks if a given string field matches a given string value according to a given
458
458
 
459
459
  #### Defined in
460
460
 
461
- [lib/types.ts:479](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L479)
461
+ [lib/types.ts:479](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L479)
462
462
 
463
463
  ___
464
464
 
465
- ### FilterStringInclude
465
+ ### FilterStringIntersect
466
466
 
467
- Ƭ **FilterStringInclude**<`T`\>: `Object`
467
+ Ƭ **FilterStringIntersect**<`T`\>: `Object`
468
468
 
469
469
  Checks if a given string field has any of the provided values.
470
470
 
@@ -484,7 +484,7 @@ Checks if a given string field has any of the provided values.
484
484
 
485
485
  #### Defined in
486
486
 
487
- [lib/types.ts:526](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L526)
487
+ [lib/types.ts:526](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L526)
488
488
 
489
489
  ___
490
490
 
@@ -514,7 +514,7 @@ Checks if a given string field matches a given regular expression.
514
514
 
515
515
  #### Defined in
516
516
 
517
- [lib/types.ts:497](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L497)
517
+ [lib/types.ts:497](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L497)
518
518
 
519
519
  ___
520
520
 
@@ -550,7 +550,7 @@ Handles an `input` query and returns an `output` promise, eventually using the `
550
550
 
551
551
  #### Defined in
552
552
 
553
- [lib/types.ts:23](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L23)
553
+ [lib/types.ts:23](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L23)
554
554
 
555
555
  ___
556
556
 
@@ -583,7 +583,7 @@ Handles an `input` query and returns an `output` promise.
583
583
 
584
584
  #### Defined in
585
585
 
586
- [lib/types.ts:31](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L31)
586
+ [lib/types.ts:31](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L31)
587
587
 
588
588
  ___
589
589
 
@@ -601,7 +601,7 @@ Order item.
601
601
 
602
602
  #### Defined in
603
603
 
604
- [lib/types.ts:338](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L338)
604
+ [lib/types.ts:338](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L338)
605
605
 
606
606
  ___
607
607
 
@@ -620,7 +620,7 @@ Query that fetches or mutates an entity.
620
620
 
621
621
  #### Defined in
622
622
 
623
- [lib/types.ts:80](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L80)
623
+ [lib/types.ts:80](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L80)
624
624
 
625
625
  ___
626
626
 
@@ -638,7 +638,7 @@ Query for computing an aggregated value.
638
638
 
639
639
  #### Defined in
640
640
 
641
- [lib/types.ts:329](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L329)
641
+ [lib/types.ts:329](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L329)
642
642
 
643
643
  ___
644
644
 
@@ -662,7 +662,7 @@ ___
662
662
 
663
663
  #### Defined in
664
664
 
665
- [lib/types.ts:102](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L102)
665
+ [lib/types.ts:102](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L102)
666
666
 
667
667
  ___
668
668
 
@@ -680,7 +680,7 @@ Query for creating an item.
680
680
 
681
681
  #### Defined in
682
682
 
683
- [lib/types.ts:244](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L244)
683
+ [lib/types.ts:244](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L244)
684
684
 
685
685
  ___
686
686
 
@@ -698,7 +698,7 @@ Query for creating multiple items.
698
698
 
699
699
  #### Defined in
700
700
 
701
- [lib/types.ts:252](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L252)
701
+ [lib/types.ts:252](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L252)
702
702
 
703
703
  ___
704
704
 
@@ -716,7 +716,7 @@ Query for deleting an item.
716
716
 
717
717
  #### Defined in
718
718
 
719
- [lib/types.ts:312](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L312)
719
+ [lib/types.ts:312](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L312)
720
720
 
721
721
  ___
722
722
 
@@ -734,7 +734,7 @@ Query for deleting multiple items.
734
734
 
735
735
  #### Defined in
736
736
 
737
- [lib/types.ts:320](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L320)
737
+ [lib/types.ts:320](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L320)
738
738
 
739
739
  ___
740
740
 
@@ -753,7 +753,7 @@ Query for getting a single item.
753
753
 
754
754
  #### Defined in
755
755
 
756
- [lib/types.ts:143](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L143)
756
+ [lib/types.ts:143](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L143)
757
757
 
758
758
  ___
759
759
 
@@ -772,7 +772,7 @@ Query for getting a list of items.
772
772
 
773
773
  #### Defined in
774
774
 
775
- [lib/types.ts:183](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L183)
775
+ [lib/types.ts:183](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L183)
776
776
 
777
777
  ___
778
778
 
@@ -784,7 +784,7 @@ Available query methods.
784
784
 
785
785
  #### Defined in
786
786
 
787
- [lib/types.ts:123](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L123)
787
+ [lib/types.ts:123](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L123)
788
788
 
789
789
  ___
790
790
 
@@ -803,7 +803,7 @@ Query for updating an item.
803
803
 
804
804
  #### Defined in
805
805
 
806
- [lib/types.ts:261](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L261)
806
+ [lib/types.ts:261](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L261)
807
807
 
808
808
  ___
809
809
 
@@ -822,7 +822,7 @@ Query for updating multiple items.
822
822
 
823
823
  #### Defined in
824
824
 
825
- [lib/types.ts:283](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L283)
825
+ [lib/types.ts:283](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L283)
826
826
 
827
827
  ___
828
828
 
@@ -847,7 +847,7 @@ ___
847
847
 
848
848
  #### Defined in
849
849
 
850
- [lib/types.ts:13](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L13)
850
+ [lib/types.ts:13](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L13)
851
851
 
852
852
  ## Functions
853
853
 
@@ -888,7 +888,7 @@ If a query occurs twice, `mergeQuery(query, currentQuery)` is called and the out
888
888
 
889
889
  #### Defined in
890
890
 
891
- [lib/middlewares/aggregate.ts:16](https://github.com/nevoland/quetch/blob/93a058c/lib/middlewares/aggregate.ts#L16)
891
+ [lib/middlewares/aggregate.ts:16](https://github.com/nevoland/quetch/blob/4d845da/lib/middlewares/aggregate.ts#L16)
892
892
 
893
893
  ___
894
894
 
@@ -930,7 +930,7 @@ const customFetch = combine(
930
930
 
931
931
  #### Defined in
932
932
 
933
- [lib/middlewares/branch.ts:21](https://github.com/nevoland/quetch/blob/93a058c/lib/middlewares/branch.ts#L21)
933
+ [lib/middlewares/branch.ts:21](https://github.com/nevoland/quetch/blob/4d845da/lib/middlewares/branch.ts#L21)
934
934
 
935
935
  ___
936
936
 
@@ -959,7 +959,7 @@ ___
959
959
 
960
960
  #### Defined in
961
961
 
962
- [lib/middlewares/cache.ts:39](https://github.com/nevoland/quetch/blob/93a058c/lib/middlewares/cache.ts#L39)
962
+ [lib/middlewares/cache.ts:39](https://github.com/nevoland/quetch/blob/4d845da/lib/middlewares/cache.ts#L39)
963
963
 
964
964
  ___
965
965
 
@@ -1032,7 +1032,7 @@ Handler that combines all provided handlers.
1032
1032
 
1033
1033
  #### Defined in
1034
1034
 
1035
- [lib/middlewares/combine.ts:801](https://github.com/nevoland/quetch/blob/93a058c/lib/middlewares/combine.ts#L801)
1035
+ [lib/middlewares/combine.ts:801](https://github.com/nevoland/quetch/blob/4d845da/lib/middlewares/combine.ts#L801)
1036
1036
 
1037
1037
  ___
1038
1038
 
@@ -1093,7 +1093,7 @@ typeof `query`
1093
1093
 
1094
1094
  #### Defined in
1095
1095
 
1096
- [lib/tools/defineCheckQuery.ts:3](https://github.com/nevoland/quetch/blob/93a058c/lib/tools/defineCheckQuery.ts#L3)
1096
+ [lib/tools/defineCheckQuery.ts:3](https://github.com/nevoland/quetch/blob/4d845da/lib/tools/defineCheckQuery.ts#L3)
1097
1097
 
1098
1098
  ___
1099
1099
 
@@ -1160,7 +1160,7 @@ ___
1160
1160
 
1161
1161
  #### Defined in
1162
1162
 
1163
- [lib/tools/defineCustomFetch.ts:11](https://github.com/nevoland/quetch/blob/93a058c/lib/tools/defineCustomFetch.ts#L11)
1163
+ [lib/tools/defineCustomFetch.ts:11](https://github.com/nevoland/quetch/blob/4d845da/lib/tools/defineCustomFetch.ts#L11)
1164
1164
 
1165
1165
  ___
1166
1166
 
@@ -1184,7 +1184,7 @@ Handler that returns a promise that resolves to the response.
1184
1184
 
1185
1185
  #### Defined in
1186
1186
 
1187
- [lib/middlewares/fetchExternal.ts:12](https://github.com/nevoland/quetch/blob/93a058c/lib/middlewares/fetchExternal.ts#L12)
1187
+ [lib/middlewares/fetchExternal.ts:12](https://github.com/nevoland/quetch/blob/4d845da/lib/middlewares/fetchExternal.ts#L12)
1188
1188
 
1189
1189
  ___
1190
1190
 
@@ -1209,7 +1209,7 @@ Promise that resolves to the response.
1209
1209
 
1210
1210
  #### Defined in
1211
1211
 
1212
- [lib/middlewares/fetchLocal.ts:9](https://github.com/nevoland/quetch/blob/93a058c/lib/middlewares/fetchLocal.ts#L9)
1212
+ [lib/middlewares/fetchLocal.ts:9](https://github.com/nevoland/quetch/blob/4d845da/lib/middlewares/fetchLocal.ts#L9)
1213
1213
 
1214
1214
  ___
1215
1215
 
@@ -1235,7 +1235,7 @@ ___
1235
1235
 
1236
1236
  #### Defined in
1237
1237
 
1238
- lib/tools/filterFromContext.ts:5
1238
+ [lib/tools/filterFromContext.ts:5](https://github.com/nevoland/quetch/blob/4d845da/lib/tools/filterFromContext.ts#L5)
1239
1239
 
1240
1240
  ___
1241
1241
 
@@ -1266,7 +1266,7 @@ Checks wether the provided `value` matches the `filter` or not.
1266
1266
 
1267
1267
  #### Defined in
1268
1268
 
1269
- lib/tools/filterItem.ts:12
1269
+ [lib/tools/filterItem.ts:12](https://github.com/nevoland/quetch/blob/4d845da/lib/tools/filterItem.ts#L12)
1270
1270
 
1271
1271
  ___
1272
1272
 
@@ -1296,7 +1296,7 @@ ___
1296
1296
 
1297
1297
  #### Defined in
1298
1298
 
1299
- [lib/middlewares/identity.ts:3](https://github.com/nevoland/quetch/blob/93a058c/lib/middlewares/identity.ts#L3)
1299
+ [lib/middlewares/identity.ts:3](https://github.com/nevoland/quetch/blob/4d845da/lib/middlewares/identity.ts#L3)
1300
1300
 
1301
1301
  ___
1302
1302
 
@@ -1318,7 +1318,7 @@ Handles an `input` query and returns an `output` promise.
1318
1318
 
1319
1319
  #### Defined in
1320
1320
 
1321
- [lib/types.ts:31](https://github.com/nevoland/quetch/blob/93a058c/lib/types.ts#L31)
1321
+ [lib/types.ts:31](https://github.com/nevoland/quetch/blob/4d845da/lib/types.ts#L31)
1322
1322
 
1323
1323
  ___
1324
1324
 
@@ -1351,7 +1351,7 @@ Query handler
1351
1351
 
1352
1352
  #### Defined in
1353
1353
 
1354
- [lib/middlewares/log.ts:11](https://github.com/nevoland/quetch/blob/93a058c/lib/middlewares/log.ts#L11)
1354
+ [lib/middlewares/log.ts:11](https://github.com/nevoland/quetch/blob/4d845da/lib/middlewares/log.ts#L11)
1355
1355
 
1356
1356
  ___
1357
1357
 
@@ -1382,7 +1382,7 @@ ___
1382
1382
 
1383
1383
  #### Defined in
1384
1384
 
1385
- lib/tools/normalizeOrder.ts:3
1385
+ [lib/tools/normalizeOrder.ts:3](https://github.com/nevoland/quetch/blob/4d845da/lib/tools/normalizeOrder.ts#L3)
1386
1386
 
1387
1387
  ___
1388
1388
 
@@ -1409,7 +1409,7 @@ ___
1409
1409
 
1410
1410
  #### Defined in
1411
1411
 
1412
- lib/tools/queryItemList.ts:41
1412
+ [lib/tools/queryItemList.ts:41](https://github.com/nevoland/quetch/blob/4d845da/lib/tools/queryItemList.ts#L41)
1413
1413
 
1414
1414
  ___
1415
1415
 
@@ -1438,7 +1438,7 @@ Handler
1438
1438
 
1439
1439
  #### Defined in
1440
1440
 
1441
- [lib/middlewares/retry.ts:15](https://github.com/nevoland/quetch/blob/93a058c/lib/middlewares/retry.ts#L15)
1441
+ [lib/middlewares/retry.ts:15](https://github.com/nevoland/quetch/blob/4d845da/lib/middlewares/retry.ts#L15)
1442
1442
 
1443
1443
  ___
1444
1444
 
@@ -1469,4 +1469,4 @@ The same array sorted in place.
1469
1469
 
1470
1470
  #### Defined in
1471
1471
 
1472
- lib/tools/sortItemList.ts:12
1472
+ [lib/tools/sortItemList.ts:12](https://github.com/nevoland/quetch/blob/4d845da/lib/tools/sortItemList.ts#L12)
@@ -167,3 +167,50 @@ test("aggregates items", () => {
167
167
  }),
168
168
  ).toBe(1);
169
169
  });
170
+
171
+ test("slices items", () => {
172
+ expect(
173
+ queryItemList({
174
+ type: [
175
+ { a: 1, c: "a" },
176
+ { a: 2, c: "a" },
177
+ { a: 3, c: "b" },
178
+ ],
179
+ method: "get",
180
+ multiple: true,
181
+ limit: 1,
182
+ }),
183
+ ).toEqual([{ a: 1, c: "a" }]);
184
+ expect(
185
+ queryItemList({
186
+ type: [
187
+ { a: 1, c: "a" },
188
+ { a: 2, c: "a" },
189
+ { a: 3, c: "b" },
190
+ ],
191
+ method: "get",
192
+ multiple: true,
193
+ context: {
194
+ c: "a",
195
+ },
196
+ offset: 1,
197
+ }),
198
+ ).toEqual([{ a: 2, c: "a" }]);
199
+ expect(
200
+ queryItemList({
201
+ type: [
202
+ { a: 1, c: "a" },
203
+ { a: 2, c: "a" },
204
+ { a: 3, c: "b" },
205
+ { a: 2, c: "b" },
206
+ ],
207
+ method: "get",
208
+ multiple: true,
209
+ offset: 1,
210
+ limit: 2,
211
+ }),
212
+ ).toEqual([
213
+ { a: 2, c: "a" },
214
+ { a: 3, c: "b" },
215
+ ]);
216
+ });
package/lib/types.ts CHANGED
@@ -425,7 +425,7 @@ export type Filter<T extends object> =
425
425
  | FilterBoolean<T>
426
426
  | FilterString<T>
427
427
  | FilterStringMatch<T>
428
- | FilterStringInclude<T>
428
+ | FilterStringIntersect<T>
429
429
  | FilterNumber<T>
430
430
  | FilterArray<T>;
431
431
 
@@ -523,7 +523,7 @@ export type FilterStringMatch<T extends object> = {
523
523
  /**
524
524
  * Checks if a given string field has any of the provided values.
525
525
  */
526
- export type FilterStringInclude<T extends object> = {
526
+ export type FilterStringIntersect<T extends object> = {
527
527
  operator: "intersect";
528
528
  field: FilterKeys<T, string>;
529
529
  value: string[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quetch",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "type": "module",
5
5
  "main": "./dist/main.js",
6
6
  "exports": {