@ballistix.digital/odata-query-builder 0.6.0 → 0.7.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.
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* What a nested `$expand` may carry: `$filter`, `$select
|
|
3
|
-
* `$expand`, and nothing else.
|
|
2
|
+
* What a nested `$expand` may carry: `$filter`, `$select`, a further
|
|
3
|
+
* `$expand`, `$top` and `$skip`, and nothing else.
|
|
4
4
|
*
|
|
5
|
-
* `$orderby`, `$
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* `$orderby`, `$count` and `$levels` inside `$expand` are an
|
|
6
|
+
* `UnsupportedFeatureError` from the server, so they are absent from this
|
|
7
|
+
* type — a 400 stays a red squiggle.
|
|
8
8
|
*
|
|
9
9
|
* FILTERED EXPANSIONS
|
|
10
10
|
* -------------------
|
|
@@ -28,4 +28,14 @@ export interface ExpandChain<T> {
|
|
|
28
28
|
* written relative to it, not to the root. Repeated calls AND together.
|
|
29
29
|
*/
|
|
30
30
|
filter(build: (scope: Scope<T>, operators: Operators) => Predicate): ExpandChain<T>;
|
|
31
|
+
/**
|
|
32
|
+
* `$expand=rel($top=…)`. The server applies it per parent row; it needs
|
|
33
|
+
* @ballistix.digital/typeorm-extensions 3.13.0.
|
|
34
|
+
*/
|
|
35
|
+
top(count: number): ExpandChain<T>;
|
|
36
|
+
/**
|
|
37
|
+
* `$expand=rel($skip=…)`. The server applies it per parent row; it needs
|
|
38
|
+
* @ballistix.digital/typeorm-extensions 3.13.0.
|
|
39
|
+
*/
|
|
40
|
+
skip(count: number): ExpandChain<T>;
|
|
31
41
|
}
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
* `Chain<T>`, `ItemChain<T>` and `ExpandChain<T>` are three interfaces over
|
|
15
15
|
* this one class. Only the type that a factory returns differs. `Chain<T>`
|
|
16
16
|
* has every member. `ItemChain<T>` has `select`, `expand`, `toQueryString()`
|
|
17
|
-
* and `toParams()`. `ExpandChain<T>` has `select`, `expand
|
|
18
|
-
*
|
|
19
|
-
* instance has every member.
|
|
17
|
+
* and `toParams()`. `ExpandChain<T>` has `select`, `expand`, `filter`, `top`
|
|
18
|
+
* and `skip`, the options that the server accepts inside `$expand`. At
|
|
19
|
+
* runtime, every instance has every member.
|
|
20
20
|
*/
|
|
21
21
|
import type { Chain, QueryParams } from '../domain/chain/chain.model';
|
|
22
22
|
import type { ItemChain } from '../domain/chain/itemChain.model';
|
|
@@ -16,6 +16,10 @@ const nestedParts = (queryState) => {
|
|
|
16
16
|
parts.push(`$select=${queryState.select.join(',')}`);
|
|
17
17
|
if (queryState.expand.length)
|
|
18
18
|
parts.push(`$expand=${expandList(queryState)}`);
|
|
19
|
+
if (queryState.top !== undefined)
|
|
20
|
+
parts.push(`$top=${queryState.top}`);
|
|
21
|
+
if (queryState.skip !== undefined)
|
|
22
|
+
parts.push(`$skip=${queryState.skip}`);
|
|
19
23
|
return parts;
|
|
20
24
|
};
|
|
21
25
|
/** `a($select=x),b` — a relation with no options of its own prints bare. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryParts.util.js","sourceRoot":"","sources":["../../../../../src/module/query/util/emit/queryParts.util.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"queryParts.util.js","sourceRoot":"","sources":["../../../../../src/module/query/util/emit/queryParts.util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED