quetch 0.6.4 → 0.6.5

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.
@@ -24,14 +24,14 @@ export function aggregate({ queryGroupId = ({ type, method = "get" }) => {
24
24
  }
25
25
  return `${context.id}`;
26
26
  }, mergeQuery = (query, _currentQuery) => query, delay = 200, queryForGroup = (queryList, _) => ({
27
- type: queryList[0].type,
28
- method: "read",
29
- multiple: true,
30
27
  filter: {
31
- operator: "include",
32
28
  field: "id",
29
+ operator: "include",
33
30
  value: queryList.map((query) => query.context.id),
34
31
  },
32
+ method: "read",
33
+ multiple: true,
34
+ type: queryList[0].type,
35
35
  }), resultForQuery = (resultList, query) => {
36
36
  const result = resultList.find((result) => result.id === query.context.id);
37
37
  if (result === undefined) {
@@ -59,8 +59,8 @@ export function aggregate({ queryGroupId = ({ type, method = "get" }) => {
59
59
  ? next(queryMap.values().next().value)
60
60
  : next(queryForGroup([...queryMap.values()], groupId));
61
61
  })(),
62
- requestMap: new Map(),
63
62
  queryMap,
63
+ requestMap: new Map(),
64
64
  });
65
65
  }
66
66
  const { groupRequest, requestMap, queryMap } = queryGroupMap.get(groupId);
@@ -1 +1 @@
1
- {"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../lib/middlewares/aggregate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../lib/middlewares/aggregate.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  function combine(...handlerList) {
2
+ // eslint-disable-next-line func-names
2
3
  return function (input, next) {
3
4
  function dispatch(input, index) {
4
5
  const handler = handlerList[index];
5
6
  if (!handler) {
6
7
  return next(input);
7
8
  }
9
+ // eslint-disable-next-line func-names, prefer-arrow-callback
8
10
  const result = handler(input, function (input) {
9
11
  return dispatch(input, index + 1);
10
12
  });
@@ -1 +1 @@
1
- {"version":3,"file":"combine.js","sourceRoot":"","sources":["../../lib/middlewares/combine.ts"],"names":[],"mappings":"AAs2BA,SAAS,OAAO,CA8Cd,GAAG,WAsBF;IAED,OAAO,UAAU,KAAK,EAAE,IAAI;QAC1B,SAAS,QAAQ,CAAC,KAAU,EAAE,KAAa;YACzC,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,CAAC,OAAO,EAAE;gBACZ,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;aACpB;YACD,MAAM,MAAM,GAAQ,OAAO,CAAC,KAAK,EAAE,UAAU,KAAK;gBAChD,OAAO,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;YACH,IAAI,MAAM,KAAK,SAAS,EAAE;gBACxB,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,4BAA4B,CAAC,CAAC;aACxE;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"combine.js","sourceRoot":"","sources":["../../lib/middlewares/combine.ts"],"names":[],"mappings":"AAs2BA,SAAS,OAAO,CA8Cd,GAAG,WAsBF;IAED,sCAAsC;IACtC,OAAO,UAAU,KAAK,EAAE,IAAI;QAC1B,SAAS,QAAQ,CAAC,KAAU,EAAE,KAAa;YACzC,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,CAAC,OAAO,EAAE;gBACZ,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;aACpB;YACD,6DAA6D;YAC7D,MAAM,MAAM,GAAQ,OAAO,CAAC,KAAK,EAAE,UAAU,KAAK;gBAChD,OAAO,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;YACH,IAAI,MAAM,KAAK,SAAS,EAAE;gBACxB,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,4BAA4B,CAAC,CAAC;aACxE;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -1,3 +1,4 @@
1
+ /* global process, console */
1
2
  import { identity } from "./identity.js";
2
3
  /**
3
4
  * Logs the outgoing query and the incoming result or the error.
@@ -1 +1 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../../lib/middlewares/log.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,UAAU,GAAG,CAAe,KAAK,GAAG,OAAO;IAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;QACzC,OAAO,QAAQ,CAAC;KACjB;IACD,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3B,+BAA+B;QAC/B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC7B,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAsB,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC9B,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,MAAsB,CAAC;SAC/B;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,KAAK,CAAC;SACb;QACD,8BAA8B;IAChC,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../lib/middlewares/log.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAI7B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,UAAU,GAAG,CAAe,KAAK,GAAG,OAAO;IAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;QACzC,OAAO,QAAQ,CAAC;KACjB;IACD,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3B,+BAA+B;QAC/B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC7B,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAsB,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC9B,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,MAAsB,CAAC;SAC/B;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,KAAK,CAAC;SACb;QACD,8BAA8B;IAChC,CAAC,CAAC;AACJ,CAAC"}
@@ -3,8 +3,8 @@ export function filterFromContext(context) {
3
3
  return {
4
4
  operator: "all",
5
5
  value: entries(context).map(([field, value]) => ({
6
- operator: "equal",
7
6
  field,
7
+ operator: "equal",
8
8
  value,
9
9
  })),
10
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"filterFromContext.js","sourceRoot":"","sources":["../../lib/tools/filterFromContext.ts"],"names":[],"mappings":"AAEA,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;AAE3B,MAAM,UAAU,iBAAiB,CAC/B,OAAmB;IAEnB,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/C,QAAQ,EAAE,OAAO;YACjB,KAAK;YACL,KAAK;SACN,CAAC,CAAgB;KACnB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"filterFromContext.js","sourceRoot":"","sources":["../../lib/tools/filterFromContext.ts"],"names":[],"mappings":"AAEA,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;AAE3B,MAAM,UAAU,iBAAiB,CAC/B,OAAmB;IAEnB,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/C,KAAK;YACL,QAAQ,EAAE,OAAO;YACjB,KAAK;SACN,CAAC,CAAgB;KACnB,CAAC;AACJ,CAAC"}
@@ -3,8 +3,8 @@ export function normalizeOrder(order) {
3
3
  return order;
4
4
  }
5
5
  return {
6
- field: order,
7
6
  descending: false,
7
+ field: order,
8
8
  };
9
9
  }
10
10
  //# sourceMappingURL=normalizeOrder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"normalizeOrder.js","sourceRoot":"","sources":["../../lib/tools/normalizeOrder.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,cAAc,CAC5B,KAAe;IAEf,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,KAAK,CAAC;KACd;IACD,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,KAAK;KAClB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"normalizeOrder.js","sourceRoot":"","sources":["../../lib/tools/normalizeOrder.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,cAAc,CAC5B,KAAe;IAEf,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,KAAK,CAAC;KACd;IACD,OAAO;QACL,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,KAAK;KACb,CAAC;AACJ,CAAC"}
@@ -32,14 +32,14 @@ export function aggregate<I extends QueryAny, O, In extends QueryAny, On>({
32
32
  mergeQuery = (query, _currentQuery) => query,
33
33
  delay = 200,
34
34
  queryForGroup = (queryList, _): QueryAny => ({
35
- type: queryList[0].type,
36
- method: "read",
37
- multiple: true,
38
35
  filter: {
39
- operator: "include",
40
36
  field: "id",
37
+ operator: "include",
41
38
  value: queryList.map((query) => query.context!.id),
42
39
  },
40
+ method: "read",
41
+ multiple: true,
42
+ type: queryList[0].type,
43
43
  }),
44
44
  resultForQuery = (resultList, query) => {
45
45
  const result = resultList.find(
@@ -87,8 +87,8 @@ export function aggregate<I extends QueryAny, O, In extends QueryAny, On>({
87
87
  queryForGroup([...queryMap.values()], groupId) as unknown as In,
88
88
  );
89
89
  })(),
90
- requestMap: new Map(),
91
90
  queryMap,
91
+ requestMap: new Map(),
92
92
  });
93
93
  }
94
94
  const { groupRequest, requestMap, queryMap } = queryGroupMap.get(groupId)!;
@@ -938,12 +938,14 @@ function combine<
938
938
  Handler<I20, O20, I21, O21>?,
939
939
  ]
940
940
  ): Handler<I0, O0, I21, O21> {
941
+ // eslint-disable-next-line func-names
941
942
  return function (input, next) {
942
943
  function dispatch(input: any, index: number) {
943
944
  const handler = handlerList[index];
944
945
  if (!handler) {
945
946
  return next(input);
946
947
  }
948
+ // eslint-disable-next-line func-names, prefer-arrow-callback
947
949
  const result: any = handler(input, function (input) {
948
950
  return dispatch(input, index + 1);
949
951
  });
@@ -1,3 +1,5 @@
1
+ /* global process, console */
2
+
1
3
  import type { Handler } from "../types";
2
4
 
3
5
  import { identity } from "./identity.js";
@@ -8,8 +8,8 @@ export function filterFromContext<T extends object>(
8
8
  return {
9
9
  operator: "all",
10
10
  value: entries(context).map(([field, value]) => ({
11
- operator: "equal",
12
11
  field,
12
+ operator: "equal",
13
13
  value,
14
14
  })) as Filter<T>[],
15
15
  };
@@ -8,8 +8,8 @@ test("tests filter lists", () => {
8
8
  {
9
9
  operator: "all",
10
10
  value: [
11
- { operator: "equal", field: "a", value: "foo" },
12
- { operator: "equal", field: "b", value: "bar" },
11
+ { field: "a", operator: "equal", value: "foo" },
12
+ { field: "b", operator: "equal", value: "bar" },
13
13
  ],
14
14
  },
15
15
  { a: "foo", b: "bar" },
@@ -20,8 +20,8 @@ test("tests filter lists", () => {
20
20
  {
21
21
  operator: "all",
22
22
  value: [
23
- { operator: "equal", field: "a", value: "foo" },
24
- { operator: "equal", field: "b", value: "baz" },
23
+ { field: "a", operator: "equal", value: "foo" },
24
+ { field: "b", operator: "equal", value: "baz" },
25
25
  ],
26
26
  },
27
27
  { a: "foo", b: "bar" },
@@ -57,8 +57,8 @@ test("tests filter lists", () => {
57
57
  {
58
58
  operator: "any",
59
59
  value: [
60
- { operator: "equal", field: "a", value: "foo" },
61
- { operator: "equal", field: "b", value: "baz" },
60
+ { field: "a", operator: "equal", value: "foo" },
61
+ { field: "b", operator: "equal", value: "baz" },
62
62
  ],
63
63
  },
64
64
  { a: "foo", b: "bar" },
@@ -69,8 +69,8 @@ test("tests filter lists", () => {
69
69
  {
70
70
  operator: "none",
71
71
  value: [
72
- { operator: "equal", field: "a", value: "a" },
73
- { operator: "equal", field: "b", value: "b" },
72
+ { field: "a", operator: "equal", value: "a" },
73
+ { field: "b", operator: "equal", value: "b" },
74
74
  ],
75
75
  },
76
76
  { a: "foo", b: "bar" },
@@ -81,8 +81,8 @@ test("tests filter lists", () => {
81
81
  {
82
82
  operator: "none",
83
83
  value: [
84
- { operator: "equal", field: "a", value: "a" },
85
- { operator: "equal", field: "b", value: "b" },
84
+ { field: "a", operator: "equal", value: "a" },
85
+ { field: "b", operator: "equal", value: "b" },
86
86
  ],
87
87
  },
88
88
  { a: "foo", b: "bar" },
@@ -92,42 +92,42 @@ test("tests filter lists", () => {
92
92
 
93
93
  test("tests filter on string values", () => {
94
94
  expect(
95
- filterItem({ operator: "equal", field: "a", value: "foo" }, { a: "foo" }),
95
+ filterItem({ field: "a", operator: "equal", value: "foo" }, { a: "foo" }),
96
96
  ).toBeTruthy();
97
97
  expect(
98
- filterItem({ operator: "equal", field: "a", value: "bar" }, { a: "foo" }),
98
+ filterItem({ field: "a", operator: "equal", value: "bar" }, { a: "foo" }),
99
99
  ).toBeFalsy();
100
100
  expect(
101
101
  filterItem(
102
- { operator: "notEqual", field: "a", value: "bar" },
102
+ { field: "a", operator: "notEqual", value: "bar" },
103
103
  { a: "foo" },
104
104
  ),
105
105
  ).toBeTruthy();
106
106
  expect(
107
107
  filterItem(
108
- { operator: "include", field: "a", value: "bar" },
108
+ { field: "a", operator: "include", value: "bar" },
109
109
  { a: "foobar" },
110
110
  ),
111
111
  ).toBeTruthy();
112
112
  expect(
113
113
  filterItem(
114
- { operator: "intersect", field: "a", value: ["foo", "bar", "foobar"] },
114
+ { field: "a", operator: "intersect", value: ["foo", "bar", "foobar"] },
115
115
  { a: "foobar" },
116
116
  ),
117
117
  ).toBeTruthy();
118
118
  expect(
119
119
  filterItem(
120
- { operator: "intersect", field: "a", value: ["foo", "bar"] },
120
+ { field: "a", operator: "intersect", value: ["foo", "bar"] },
121
121
  { a: "foobar" },
122
122
  ),
123
123
  ).toBeFalsy();
124
124
  expect(
125
125
  filterItem(
126
126
  {
127
- operator: "match",
128
127
  field: "a",
129
- value: "^FOO",
128
+ operator: "match",
130
129
  options: { ignoreCase: true },
130
+ value: "^FOO",
131
131
  },
132
132
  { a: "foobar" },
133
133
  ),
@@ -135,10 +135,10 @@ test("tests filter on string values", () => {
135
135
  expect(
136
136
  filterItem(
137
137
  {
138
- operator: "match",
139
138
  field: "a",
140
- value: "FOO$",
139
+ operator: "match",
141
140
  options: { ignoreCase: true },
141
+ value: "FOO$",
142
142
  },
143
143
  { a: "foobar" },
144
144
  ),
@@ -147,26 +147,26 @@ test("tests filter on string values", () => {
147
147
 
148
148
  test("tests filter on number values", () => {
149
149
  expect(
150
- filterItem({ operator: "equal", field: "a", value: 1 }, { a: 1 }),
150
+ filterItem({ field: "a", operator: "equal", value: 1 }, { a: 1 }),
151
151
  ).toBeTruthy();
152
152
  expect(
153
- filterItem({ operator: "notEqual", field: "a", value: 2 }, { a: 1 }),
153
+ filterItem({ field: "a", operator: "notEqual", value: 2 }, { a: 1 }),
154
154
  ).toBeTruthy();
155
155
  expect(
156
- filterItem({ operator: "greaterThan", field: "a", value: 0 }, { a: 1 }),
156
+ filterItem({ field: "a", operator: "greaterThan", value: 0 }, { a: 1 }),
157
157
  ).toBeTruthy();
158
158
  expect(
159
159
  filterItem(
160
- { operator: "greaterThanOrEqual", field: "a", value: 1 },
160
+ { field: "a", operator: "greaterThanOrEqual", value: 1 },
161
161
  { a: 1 },
162
162
  ),
163
163
  ).toBeTruthy();
164
164
  expect(
165
- filterItem({ operator: "lowerThan", field: "a", value: 2 }, { a: 1 }),
165
+ filterItem({ field: "a", operator: "lowerThan", value: 2 }, { a: 1 }),
166
166
  ).toBeTruthy();
167
167
  expect(
168
168
  filterItem(
169
- { operator: "lowerThanOrEqual", field: "a", value: 1 },
169
+ { field: "a", operator: "lowerThanOrEqual", value: 1 },
170
170
  { a: 1 },
171
171
  ),
172
172
  ).toBeTruthy();
@@ -174,29 +174,29 @@ test("tests filter on number values", () => {
174
174
 
175
175
  test("tests filter on array values", () => {
176
176
  expect(
177
- filterItem({ operator: "equal", field: "a", value: [2, 1] }, { a: [1, 2] }),
177
+ filterItem({ field: "a", operator: "equal", value: [2, 1] }, { a: [1, 2] }),
178
178
  ).toBeTruthy();
179
179
  expect(
180
- filterItem({ operator: "equal", field: "a", value: [2] }, { a: [1, 2] }),
180
+ filterItem({ field: "a", operator: "equal", value: [2] }, { a: [1, 2] }),
181
181
  ).toBeFalsy();
182
182
  expect(
183
- filterItem({ operator: "include", field: "a", value: [1] }, { a: [1, 2] }),
183
+ filterItem({ field: "a", operator: "include", value: [1] }, { a: [1, 2] }),
184
184
  ).toBeTruthy();
185
185
  expect(
186
186
  filterItem(
187
- { operator: "include", field: "a", value: [2, 3] },
187
+ { field: "a", operator: "include", value: [2, 3] },
188
188
  { a: [1, 2] },
189
189
  ),
190
190
  ).toBeFalsy();
191
191
  expect(
192
192
  filterItem(
193
- { operator: "intersect", field: "a", value: [2, 3] },
193
+ { field: "a", operator: "intersect", value: [2, 3] },
194
194
  { a: [1, 2] },
195
195
  ),
196
196
  ).toBeTruthy();
197
197
  expect(
198
198
  filterItem(
199
- { operator: "intersect", field: "a", value: [3, 4] },
199
+ { field: "a", operator: "intersect", value: [3, 4] },
200
200
  { a: [1, 2] },
201
201
  ),
202
202
  ).toBeFalsy();
@@ -7,7 +7,7 @@ export function normalizeOrder<T extends object>(
7
7
  return order;
8
8
  }
9
9
  return {
10
- field: order,
11
10
  descending: false,
11
+ field: order,
12
12
  };
13
13
  }
@@ -10,30 +10,30 @@ test("queries a single item", () => {
10
10
  ).toEqual({ a: 1 });
11
11
  expect(() =>
12
12
  queryItemList({
13
- type: [{ a: 1 }, { a: 2 }, { a: 3 }],
14
13
  context: {
15
14
  a: 4,
16
15
  },
16
+ type: [{ a: 1 }, { a: 2 }, { a: 3 }],
17
17
  }),
18
18
  ).toThrow("Not found");
19
19
  expect(
20
20
  queryItemList({
21
- type: [{ a: 1 }, { a: 2 }, { a: 3 }],
22
21
  filter: {
23
22
  field: "a",
24
23
  operator: "greaterThan",
25
24
  value: 1,
26
25
  },
26
+ type: [{ a: 1 }, { a: 2 }, { a: 3 }],
27
27
  }),
28
28
  ).toEqual({ a: 2 });
29
29
  expect(() =>
30
30
  queryItemList({
31
- type: [{ a: 1 }, { a: 2 }, { a: 3 }],
32
31
  filter: {
33
32
  field: "a",
34
33
  operator: "greaterThanOrEqual",
35
34
  value: 4,
36
35
  },
36
+ type: [{ a: 1 }, { a: 2 }, { a: 3 }],
37
37
  }),
38
38
  ).toThrow("Not found");
39
39
  });
@@ -41,30 +41,23 @@ test("queries a single item", () => {
41
41
  test("queries lists of items", () => {
42
42
  expect(
43
43
  queryItemList({
44
- type: [{ a: 1 }, { a: 2 }, { a: 3 }],
45
44
  multiple: true,
45
+ type: [{ a: 1 }, { a: 2 }, { a: 3 }],
46
46
  }),
47
47
  ).toEqual([{ a: 1 }, { a: 2 }, { a: 3 }]);
48
48
  expect(
49
49
  queryItemList({
50
- type: [{ a: 1 }, { a: 2 }, { a: 3 }],
51
- multiple: true,
52
50
  filter: {
53
51
  field: "a",
54
52
  operator: "greaterThan",
55
53
  value: 1,
56
54
  },
55
+ multiple: true,
56
+ type: [{ a: 1 }, { a: 2 }, { a: 3 }],
57
57
  }),
58
58
  ).toEqual([{ a: 2 }, { a: 3 }]);
59
59
  expect(
60
60
  queryItemList({
61
- type: [
62
- { a: 1, c: "a" },
63
- { a: 2, c: "a" },
64
- { a: 3, c: "b" },
65
- ],
66
- method: "read",
67
- multiple: true,
68
61
  context: {
69
62
  c: "a",
70
63
  },
@@ -73,17 +66,24 @@ test("queries lists of items", () => {
73
66
  operator: "greaterThan",
74
67
  value: 1,
75
68
  },
69
+ method: "read",
70
+ multiple: true,
71
+ type: [
72
+ { a: 1, c: "a" },
73
+ { a: 2, c: "a" },
74
+ { a: 3, c: "b" },
75
+ ],
76
76
  }),
77
77
  ).toEqual([{ a: 2, c: "a" }]);
78
78
  expect(
79
79
  queryItemList({
80
- type: [{ a: 1 }, { a: 2 }, { a: 3 }],
81
- multiple: true,
82
80
  filter: {
83
81
  field: "a",
84
82
  operator: "greaterThanOrEqual",
85
83
  value: 4,
86
84
  },
85
+ multiple: true,
86
+ type: [{ a: 1 }, { a: 2 }, { a: 3 }],
87
87
  }),
88
88
  ).toEqual([]);
89
89
  });
@@ -91,6 +91,8 @@ test("queries lists of items", () => {
91
91
  test("sorts items", () => {
92
92
  expect(
93
93
  queryItemList({
94
+ multiple: true,
95
+ order: ["a", "c"],
94
96
  type: [
95
97
  { a: 1, c: "a" },
96
98
  { a: 2, c: "a" },
@@ -98,8 +100,6 @@ test("sorts items", () => {
98
100
  { a: 2, c: "b" },
99
101
  { a: 1, c: "b" },
100
102
  ],
101
- multiple: true,
102
- order: ["a", "c"],
103
103
  }),
104
104
  ).toEqual([
105
105
  { a: 1, c: "a" },
@@ -110,6 +110,11 @@ test("sorts items", () => {
110
110
  ]);
111
111
  expect(
112
112
  queryItemList({
113
+ multiple: true,
114
+ order: [
115
+ { descending: true, field: "a" },
116
+ { descending: true, field: "c" },
117
+ ],
113
118
  type: [
114
119
  { a: 1, c: "a" },
115
120
  { a: 2, c: "a" },
@@ -117,11 +122,6 @@ test("sorts items", () => {
117
122
  { a: 2, c: "b" },
118
123
  { a: 1, c: "b" },
119
124
  ],
120
- multiple: true,
121
- order: [
122
- { field: "a", descending: true },
123
- { field: "c", descending: true },
124
- ],
125
125
  }),
126
126
  ).toEqual([
127
127
  { a: 3, c: "b" },
@@ -135,26 +135,20 @@ test("sorts items", () => {
135
135
  test("aggregates items", () => {
136
136
  expect(
137
137
  queryItemList({
138
- type: [
139
- { a: 1, c: "a" },
140
- { a: 2, c: "a" },
141
- { a: 3, c: "b" },
142
- ],
143
- method: "aggregate",
144
138
  aggregator: "length",
145
139
  context: {
146
140
  c: "a",
147
141
  },
148
- }),
149
- ).toBe(2);
150
- expect(
151
- queryItemList({
142
+ method: "aggregate",
152
143
  type: [
153
144
  { a: 1, c: "a" },
154
145
  { a: 2, c: "a" },
155
146
  { a: 3, c: "b" },
156
147
  ],
157
- method: "aggregate",
148
+ }),
149
+ ).toBe(2);
150
+ expect(
151
+ queryItemList({
158
152
  aggregator: "length",
159
153
  context: {
160
154
  c: "a",
@@ -164,6 +158,12 @@ test("aggregates items", () => {
164
158
  operator: "greaterThan",
165
159
  value: 1,
166
160
  },
161
+ method: "aggregate",
162
+ type: [
163
+ { a: 1, c: "a" },
164
+ { a: 2, c: "a" },
165
+ { a: 3, c: "b" },
166
+ ],
167
167
  }),
168
168
  ).toBe(1);
169
169
  });
@@ -171,43 +171,43 @@ test("aggregates items", () => {
171
171
  test("slices items", () => {
172
172
  expect(
173
173
  queryItemList({
174
+ limit: 1,
175
+ method: "read",
176
+ multiple: true,
174
177
  type: [
175
178
  { a: 1, c: "a" },
176
179
  { a: 2, c: "a" },
177
180
  { a: 3, c: "b" },
178
181
  ],
179
- method: "read",
180
- multiple: true,
181
- limit: 1,
182
182
  }),
183
183
  ).toEqual([{ a: 1, c: "a" }]);
184
184
  expect(
185
185
  queryItemList({
186
+ context: {
187
+ c: "a",
188
+ },
189
+ method: "read",
190
+ multiple: true,
191
+ offset: 1,
186
192
  type: [
187
193
  { a: 1, c: "a" },
188
194
  { a: 2, c: "a" },
189
195
  { a: 3, c: "b" },
190
196
  ],
191
- method: "read",
192
- multiple: true,
193
- context: {
194
- c: "a",
195
- },
196
- offset: 1,
197
197
  }),
198
198
  ).toEqual([{ a: 2, c: "a" }]);
199
199
  expect(
200
200
  queryItemList({
201
+ limit: 2,
202
+ method: "read",
203
+ multiple: true,
204
+ offset: 1,
201
205
  type: [
202
206
  { a: 1, c: "a" },
203
207
  { a: 2, c: "a" },
204
208
  { a: 3, c: "b" },
205
209
  { a: 2, c: "b" },
206
210
  ],
207
- method: "read",
208
- multiple: true,
209
- offset: 1,
210
- limit: 2,
211
211
  }),
212
212
  ).toEqual([
213
213
  { a: 2, c: "a" },
@@ -24,8 +24,8 @@ test("sorts items", () => {
24
24
  expect(
25
25
  sortItemList(
26
26
  [
27
- { field: "a", descending: true },
28
- { field: "c", descending: true },
27
+ { descending: true, field: "a" },
28
+ { descending: true, field: "c" },
29
29
  ],
30
30
  [
31
31
  { a: 1, c: "a" },
@@ -44,7 +44,7 @@ test("sorts items", () => {
44
44
  ]);
45
45
  expect(
46
46
  sortItemList(
47
- ["a", { field: "c", descending: true }],
47
+ ["a", { descending: true, field: "c" }],
48
48
  [
49
49
  { a: 1, c: "a" },
50
50
  { a: 2, c: "a" },
package/package.json CHANGED
@@ -1,12 +1,18 @@
1
1
  {
2
2
  "name": "quetch",
3
- "version": "0.6.4",
3
+ "version": "0.6.5",
4
4
  "type": "module",
5
5
  "main": "./dist/main.js",
6
6
  "exports": {
7
7
  "types": "./dist/main.d.ts",
8
8
  "import": "./dist/main.js"
9
9
  },
10
+ "author": "David Bonnet <david@bonnet.cc>",
11
+ "license": "MIT",
12
+ "repository": {
13
+ "type": "git",
14
+ "url": "https://github.com/nevoland/quetch.git"
15
+ },
10
16
  "files": [
11
17
  "dist",
12
18
  "lib",
@@ -40,7 +46,9 @@
40
46
  "release:beta": "npm version prerelease --preid=beta && git push origin --follow-tags && npm publish --tag=next"
41
47
  },
42
48
  "devDependencies": {
49
+ "@eslint/js": "^8.53.0",
43
50
  "@preact/preset-vite": "^2.5.0",
51
+ "@types/eslint": "^8.44.6",
44
52
  "@types/node": "^20.8.3",
45
53
  "@typescript-eslint/parser": "^6.7.4",
46
54
  "autoprefixer": "^10.4.16",
@@ -50,6 +58,7 @@
50
58
  "eslint-config-prettier": "^9.0.0",
51
59
  "eslint-plugin-import": "^2.28.1",
52
60
  "eslint-plugin-inferno": "^7.32.2",
61
+ "eslint-plugin-sort-keys": "^2.3.5",
53
62
  "eslint-plugin-tailwindcss": "^3.13.0",
54
63
  "eslint-plugin-vitest": "^0.3.2",
55
64
  "postcss": "^8.4.31",
@@ -67,6 +76,6 @@
67
76
  },
68
77
  "dependencies": {
69
78
  "@davidbonnet/get-global": "^2.0.1",
70
- "futurise": "^1.2.1"
79
+ "futurise": "^1.2.3"
71
80
  }
72
81
  }