angular-odata 0.122.0 → 0.124.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.
- package/esm2022/lib/api.mjs +373 -0
- package/esm2022/lib/cache/cache.mjs +175 -0
- package/{esm2020 → esm2022}/lib/cache/storage.mjs +1 -1
- package/esm2022/lib/client.mjs +252 -0
- package/{esm2020 → esm2022}/lib/helper.mjs +1 -1
- package/{esm2020 → esm2022}/lib/loaders.mjs +1 -1
- package/esm2022/lib/models/collection.mjs +865 -0
- package/esm2022/lib/models/model.mjs +535 -0
- package/esm2022/lib/models/options.mjs +1117 -0
- package/{esm2020 → esm2022}/lib/module.mjs +5 -5
- package/esm2022/lib/resources/path/segments.mjs +124 -0
- package/esm2022/lib/resources/query/builder.mjs +624 -0
- package/esm2022/lib/resources/query/expressions/base.mjs +20 -0
- package/esm2022/lib/resources/query/expressions/compute.mjs +39 -0
- package/esm2022/lib/resources/query/expressions/count.mjs +99 -0
- package/esm2022/lib/resources/query/expressions/expand.mjs +125 -0
- package/esm2022/lib/resources/query/expressions/filter.mjs +161 -0
- package/esm2022/lib/resources/query/expressions/orderby.mjs +56 -0
- package/esm2022/lib/resources/query/expressions/search.mjs +122 -0
- package/esm2022/lib/resources/query/expressions/select.mjs +31 -0
- package/esm2022/lib/resources/query/expressions/syntax.mjs +444 -0
- package/{esm2020 → esm2022}/lib/resources/query/handlers.mjs +1 -1
- package/esm2022/lib/resources/query/options.mjs +115 -0
- package/{esm2020 → esm2022}/lib/resources/request.mjs +1 -1
- package/esm2022/lib/resources/resource.mjs +257 -0
- package/{esm2020 → esm2022}/lib/resources/responses/annotations.mjs +1 -1
- package/esm2022/lib/resources/responses/csdl/csdl-annotation.mjs +33 -0
- package/{esm2020 → esm2022}/lib/resources/responses/csdl/csdl-entity-container.mjs +1 -1
- package/{esm2020 → esm2022}/lib/resources/responses/csdl/csdl-entity-set.mjs +1 -1
- package/{esm2020 → esm2022}/lib/resources/responses/csdl/csdl-enum-type.mjs +1 -1
- package/{esm2020 → esm2022}/lib/resources/responses/csdl/csdl-function-action.mjs +1 -1
- package/{esm2020 → esm2022}/lib/resources/responses/csdl/csdl-navigation-property-binding.mjs +1 -1
- package/{esm2020 → esm2022}/lib/resources/responses/csdl/csdl-reference.mjs +1 -1
- package/{esm2020 → esm2022}/lib/resources/responses/csdl/csdl-schema.mjs +1 -1
- package/{esm2020 → esm2022}/lib/resources/responses/csdl/csdl-singleton.mjs +1 -1
- package/{esm2020 → esm2022}/lib/resources/responses/csdl/csdl-structural-property.mjs +1 -1
- package/{esm2020 → esm2022}/lib/resources/responses/csdl/csdl-structured-type.mjs +1 -1
- package/{esm2020 → esm2022}/lib/resources/responses/csdl/csdl-type-definition.mjs +1 -1
- package/esm2022/lib/resources/responses/metadata.mjs +547 -0
- package/{esm2020 → esm2022}/lib/resources/responses/response.mjs +1 -1
- package/{esm2020 → esm2022}/lib/resources/types/action.mjs +1 -1
- package/{esm2020 → esm2022}/lib/resources/types/batch.mjs +1 -1
- package/{esm2020 → esm2022}/lib/resources/types/count.mjs +1 -1
- package/{esm2020 → esm2022}/lib/resources/types/entity-set.mjs +1 -1
- package/{esm2020 → esm2022}/lib/resources/types/entity.mjs +1 -1
- package/{esm2020 → esm2022}/lib/resources/types/function.mjs +1 -1
- package/{esm2020 → esm2022}/lib/resources/types/media.mjs +1 -1
- package/{esm2020 → esm2022}/lib/resources/types/navigation-property.mjs +1 -1
- package/{esm2020 → esm2022}/lib/resources/types/property.mjs +1 -1
- package/{esm2020 → esm2022}/lib/resources/types/reference.mjs +1 -1
- package/{esm2020 → esm2022}/lib/resources/types/singleton.mjs +1 -1
- package/{esm2020 → esm2022}/lib/resources/types/value.mjs +1 -1
- package/{esm2020 → esm2022}/lib/schema/annotation.mjs +1 -1
- package/{esm2020 → esm2022}/lib/schema/callable.mjs +1 -1
- package/{esm2020 → esm2022}/lib/schema/element.mjs +1 -1
- package/{esm2020 → esm2022}/lib/schema/entity-container.mjs +1 -1
- package/{esm2020 → esm2022}/lib/schema/enum-type.mjs +1 -1
- package/{esm2020 → esm2022}/lib/schema/parsers/callable.mjs +1 -1
- package/esm2022/lib/schema/parsers/edm.mjs +99 -0
- package/{esm2020 → esm2022}/lib/schema/parsers/enum-type.mjs +2 -2
- package/esm2022/lib/schema/parsers/structured-type.mjs +502 -0
- package/{esm2020 → esm2022}/lib/schema/schema.mjs +1 -1
- package/esm2022/lib/schema/structured-type.mjs +207 -0
- package/esm2022/lib/services/base.mjs +29 -0
- package/{esm2020 → esm2022}/lib/services/entity-set.mjs +1 -1
- package/{esm2020 → esm2022}/lib/services/factory.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/singleton.mjs +1 -1
- package/{esm2020 → esm2022}/lib/settings.mjs +1 -1
- package/{esm2020 → esm2022}/lib/types.mjs +1 -1
- package/{esm2020 → esm2022}/lib/utils/arrays.mjs +1 -1
- package/{esm2020 → esm2022}/lib/utils/durations.mjs +1 -1
- package/esm2022/lib/utils/enums.mjs +61 -0
- package/{esm2020 → esm2022}/lib/utils/http.mjs +1 -1
- package/{esm2020 → esm2022}/lib/utils/objects.mjs +1 -1
- package/{esm2020 → esm2022}/lib/utils/odata.mjs +1 -1
- package/esm2022/lib/utils/types.mjs +136 -0
- package/{fesm2020 → fesm2022}/angular-odata.mjs +544 -373
- package/fesm2022/angular-odata.mjs.map +1 -0
- package/lib/helper.d.ts +1 -1
- package/lib/models/model.d.ts +4 -2
- package/lib/models/options.d.ts +7 -8
- package/lib/resources/path/segments.d.ts +15 -6
- package/lib/resources/query/builder.d.ts +21 -20
- package/lib/resources/query/expressions/base.d.ts +6 -4
- package/lib/resources/query/expressions/compute.d.ts +10 -8
- package/lib/resources/query/expressions/count.d.ts +14 -11
- package/lib/resources/query/expressions/expand.d.ts +23 -19
- package/lib/resources/query/expressions/filter.d.ts +22 -20
- package/lib/resources/query/expressions/orderby.d.ts +12 -9
- package/lib/resources/query/expressions/search.d.ts +12 -9
- package/lib/resources/query/expressions/select.d.ts +9 -7
- package/lib/resources/query/expressions/syntax.d.ts +75 -71
- package/lib/resources/query/handlers.d.ts +2 -2
- package/lib/resources/query/options.d.ts +15 -6
- package/lib/resources/resource.d.ts +2 -2
- package/lib/resources/responses/types.d.ts +3 -3
- package/lib/resources/types/options.d.ts +7 -7
- package/lib/schema/parsers/structured-type.d.ts +8 -5
- package/lib/schema/structured-type.d.ts +2 -1
- package/lib/types.d.ts +15 -15
- package/lib/utils/durations.d.ts +1 -1
- package/lib/utils/enums.d.ts +3 -0
- package/lib/utils/types.d.ts +1 -0
- package/package.json +9 -15
- package/esm2020/lib/api.mjs +0 -373
- package/esm2020/lib/cache/cache.mjs +0 -173
- package/esm2020/lib/client.mjs +0 -252
- package/esm2020/lib/models/collection.mjs +0 -861
- package/esm2020/lib/models/model.mjs +0 -507
- package/esm2020/lib/models/options.mjs +0 -1110
- package/esm2020/lib/resources/path/segments.mjs +0 -124
- package/esm2020/lib/resources/query/builder.mjs +0 -588
- package/esm2020/lib/resources/query/expressions/base.mjs +0 -20
- package/esm2020/lib/resources/query/expressions/compute.mjs +0 -39
- package/esm2020/lib/resources/query/expressions/count.mjs +0 -89
- package/esm2020/lib/resources/query/expressions/expand.mjs +0 -115
- package/esm2020/lib/resources/query/expressions/filter.mjs +0 -161
- package/esm2020/lib/resources/query/expressions/orderby.mjs +0 -56
- package/esm2020/lib/resources/query/expressions/search.mjs +0 -122
- package/esm2020/lib/resources/query/expressions/select.mjs +0 -31
- package/esm2020/lib/resources/query/expressions/syntax.mjs +0 -409
- package/esm2020/lib/resources/query/options.mjs +0 -115
- package/esm2020/lib/resources/resource.mjs +0 -251
- package/esm2020/lib/resources/responses/csdl/csdl-annotation.mjs +0 -33
- package/esm2020/lib/resources/responses/metadata.mjs +0 -547
- package/esm2020/lib/schema/parsers/edm.mjs +0 -104
- package/esm2020/lib/schema/parsers/structured-type.mjs +0 -490
- package/esm2020/lib/schema/structured-type.mjs +0 -202
- package/esm2020/lib/services/base.mjs +0 -29
- package/esm2020/lib/utils/enums.mjs +0 -45
- package/esm2020/lib/utils/types.mjs +0 -133
- package/fesm2015/angular-odata.mjs +0 -11811
- package/fesm2015/angular-odata.mjs.map +0 -1
- package/fesm2020/angular-odata.mjs.map +0 -1
- /package/{esm2020 → esm2022}/angular-odata.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/cache/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/cache/memory.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/constants.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/options.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/resources/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/resources/path/handlers.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/resources/path/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/resources/query/expressions/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/resources/query/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/resources/responses/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/resources/responses/options.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/resources/responses/types.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/resources/types/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/resources/types/metadata.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/resources/types/options.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/schema/entity-set.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/schema/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/schema/parsers/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/entity.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/arraybuffers.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/dates.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/strings.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/urls.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
package/lib/helper.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { ODataMetadataType } from './types';
|
|
|
2
2
|
export declare const COLLECTION: RegExp;
|
|
3
3
|
export declare const PROPERTY: RegExp;
|
|
4
4
|
export declare const EXPAND: RegExp;
|
|
5
|
-
export
|
|
5
|
+
export type ODataContext = {
|
|
6
6
|
serviceRootUrl?: string;
|
|
7
7
|
metadataUrl?: string;
|
|
8
8
|
entitySet?: string;
|
package/lib/models/model.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { EntityKey, ODataActionOptions, ODataEntityAnnotations, ODataEntityResou
|
|
|
4
4
|
import { ODataStructuredType } from '../schema';
|
|
5
5
|
import { ODataCollection } from './collection';
|
|
6
6
|
import { ModelOptions, ODataModelEvent, ODataModelField, ODataModelOptions, ODataModelAttribute } from './options';
|
|
7
|
+
import { ParserOptions } from '../types';
|
|
7
8
|
export declare class ODataModel<T> {
|
|
8
9
|
static options: ModelOptions;
|
|
9
10
|
static meta: ODataModelOptions<any>;
|
|
@@ -24,7 +25,7 @@ export declare class ODataModel<T> {
|
|
|
24
25
|
resource: ODataResource<T> | null;
|
|
25
26
|
}[];
|
|
26
27
|
_attributes: Map<string, ODataModelAttribute<any>>;
|
|
27
|
-
_annotations: ODataEntityAnnotations<T
|
|
28
|
+
_annotations: ODataEntityAnnotations<T>;
|
|
28
29
|
_reset: boolean;
|
|
29
30
|
_reparent: boolean;
|
|
30
31
|
_silent: boolean;
|
|
@@ -148,6 +149,7 @@ export declare class ODataModel<T> {
|
|
|
148
149
|
hasChanged({ include_navigation, }?: {
|
|
149
150
|
include_navigation?: boolean;
|
|
150
151
|
}): boolean;
|
|
152
|
+
encode<E>(name: keyof T, options?: ParserOptions): any;
|
|
151
153
|
isNew(): boolean;
|
|
152
154
|
withResource<R>(resource: any, ctx: (model: this) => R): R;
|
|
153
155
|
/**
|
|
@@ -163,8 +165,8 @@ export declare class ODataModel<T> {
|
|
|
163
165
|
getValue<P>(name: keyof T | string, options?: ODataOptions): Observable<P | ODataModel<P> | ODataCollection<P, ODataModel<P>> | null>;
|
|
164
166
|
setReference<N>(name: keyof T | string, model: ODataModel<N> | ODataCollection<N, ODataModel<N>> | null, options?: ODataOptions): Observable<this>;
|
|
165
167
|
getReference<P>(name: keyof T | string): ODataModel<P> | ODataCollection<P, ODataModel<P>> | null;
|
|
166
|
-
equals(other: ODataModel<T>): boolean;
|
|
167
168
|
get [Symbol.toStringTag](): string;
|
|
169
|
+
equals(other: ODataModel<T>): boolean;
|
|
168
170
|
collection(): ODataCollection<T, ODataModel<T>> | undefined;
|
|
169
171
|
next(): ODataModel<T> | undefined;
|
|
170
172
|
prev(): ODataModel<T> | undefined;
|
package/lib/models/options.d.ts
CHANGED
|
@@ -62,13 +62,11 @@ export declare enum ODataModelState {
|
|
|
62
62
|
Removed = 1,
|
|
63
63
|
Unchanged = 2
|
|
64
64
|
}
|
|
65
|
-
export
|
|
65
|
+
export type ModelOptions = {
|
|
66
66
|
cid?: string;
|
|
67
|
-
fields:
|
|
68
|
-
[name: string]: ModelFieldOptions;
|
|
69
|
-
};
|
|
67
|
+
fields: Map<string, ModelFieldOptions>;
|
|
70
68
|
};
|
|
71
|
-
export
|
|
69
|
+
export type ModelFieldOptions = {
|
|
72
70
|
field?: string;
|
|
73
71
|
parser?: ODataStructuredTypeFieldParser<any>;
|
|
74
72
|
default?: any;
|
|
@@ -86,7 +84,7 @@ export declare function Model({ cid }?: {
|
|
|
86
84
|
export declare function ModelField({ name, ...options }?: {
|
|
87
85
|
name?: string;
|
|
88
86
|
} & ModelFieldOptions): (target: any, key: string) => void;
|
|
89
|
-
export
|
|
87
|
+
export type ODataModelFieldOptions<F> = ModelFieldOptions & {
|
|
90
88
|
name: string;
|
|
91
89
|
field: string;
|
|
92
90
|
parser: ODataStructuredTypeFieldParser<F>;
|
|
@@ -175,7 +173,7 @@ export declare class ODataModelAttribute<T> {
|
|
|
175
173
|
private link;
|
|
176
174
|
private unlink;
|
|
177
175
|
}
|
|
178
|
-
export
|
|
176
|
+
export type ODataModelEntry<T, M extends ODataModel<T>> = {
|
|
179
177
|
state: ODataModelState;
|
|
180
178
|
model: M;
|
|
181
179
|
key?: EntityKey<T> | {
|
|
@@ -187,7 +185,6 @@ export declare class ODataModelOptions<T> {
|
|
|
187
185
|
name: string;
|
|
188
186
|
cid: string;
|
|
189
187
|
base?: string;
|
|
190
|
-
open?: boolean;
|
|
191
188
|
private _fields;
|
|
192
189
|
schema: ODataStructuredType<T>;
|
|
193
190
|
entitySet?: ODataEntitySet;
|
|
@@ -202,6 +199,8 @@ export declare class ODataModelOptions<T> {
|
|
|
202
199
|
alias?: boolean;
|
|
203
200
|
}): string;
|
|
204
201
|
isOpenType(): boolean;
|
|
202
|
+
isEntityType(): boolean;
|
|
203
|
+
isComplexType(): boolean;
|
|
205
204
|
isTypeOf(type: string): boolean;
|
|
206
205
|
isModelFor(entity: T | {
|
|
207
206
|
[name: string]: any;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { PathSegment } from '../../types';
|
|
1
|
+
import { Parser, PathSegment } from '../../types';
|
|
2
2
|
import { EntityKey } from '../resource';
|
|
3
3
|
import { SegmentHandler } from './handlers';
|
|
4
|
-
export
|
|
4
|
+
export type ODataSegment = {
|
|
5
5
|
name: PathSegment;
|
|
6
6
|
path: string;
|
|
7
7
|
type?: string;
|
|
@@ -11,14 +11,23 @@ export declare type ODataSegment = {
|
|
|
11
11
|
export declare class ODataPathSegments {
|
|
12
12
|
private _segments;
|
|
13
13
|
constructor(segments?: ODataSegment[]);
|
|
14
|
-
pathAndParams(escape
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
pathAndParams({ escape, parser, }?: {
|
|
15
|
+
escape?: boolean;
|
|
16
|
+
parser?: Parser<any>;
|
|
17
|
+
}): [
|
|
18
|
+
string,
|
|
19
|
+
{
|
|
20
|
+
[name: string]: any;
|
|
21
|
+
}
|
|
22
|
+
];
|
|
17
23
|
types({ key }?: {
|
|
18
24
|
key?: boolean;
|
|
19
25
|
}): string[];
|
|
20
26
|
keys(values?: (EntityKey<any> | undefined)[]): (EntityKey<any> | undefined)[];
|
|
21
|
-
toString(
|
|
27
|
+
toString({ escape, parser, }?: {
|
|
28
|
+
escape?: boolean;
|
|
29
|
+
parser?: Parser<any>;
|
|
30
|
+
}): string;
|
|
22
31
|
toJSON(): any[];
|
|
23
32
|
clone(): ODataPathSegments;
|
|
24
33
|
find(predicate: (segment: ODataSegment) => boolean): ODataSegment | undefined;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
1
|
+
export type Unpacked<T> = T extends (infer U)[] ? U : T;
|
|
2
|
+
export type Select<T> = SelectType<T> | SelectType<T>[];
|
|
3
|
+
export type SelectType<T> = string | keyof T;
|
|
4
|
+
export type Filter<T> = FilterType | FilterType[];
|
|
5
|
+
export type FilterType = string | {
|
|
6
6
|
[name: string]: any;
|
|
7
7
|
};
|
|
8
8
|
export declare enum StandardAggregateMethods {
|
|
@@ -12,25 +12,25 @@ export declare enum StandardAggregateMethods {
|
|
|
12
12
|
average = "average",
|
|
13
13
|
countdistinct = "countdistinct"
|
|
14
14
|
}
|
|
15
|
-
export
|
|
15
|
+
export type Aggregate = string | {
|
|
16
16
|
[propertyName: string]: {
|
|
17
17
|
with: StandardAggregateMethods;
|
|
18
18
|
as: string;
|
|
19
19
|
};
|
|
20
20
|
};
|
|
21
|
-
export
|
|
22
|
-
export
|
|
23
|
-
export
|
|
24
|
-
export
|
|
21
|
+
export type OrderBy<T> = OrderByType<T> | OrderByType<T>[];
|
|
22
|
+
export type OrderByType<T> = string | OrderByObject<T>;
|
|
23
|
+
export type OrderByObject<T> = keyof T | [keyof T | string, 'asc' | 'desc'] | NestedOrderBy<T>;
|
|
24
|
+
export type NestedOrderBy<T> = {
|
|
25
25
|
[P in keyof T]?: T[P] extends Array<infer E> ? OrderBy<E> : OrderBy<T[P]>;
|
|
26
26
|
};
|
|
27
|
-
export
|
|
28
|
-
export
|
|
29
|
-
export
|
|
30
|
-
export
|
|
27
|
+
export type Expand<T> = ExpandType<T> | ExpandType<T>[];
|
|
28
|
+
export type ExpandType<T> = string | ExpandObject<T>;
|
|
29
|
+
export type ExpandObject<T> = keyof T | NestedExpandOptions<T>;
|
|
30
|
+
export type NestedExpandOptions<T> = {
|
|
31
31
|
[P in keyof T]?: ExpandOptions<Unpacked<T[P]>>;
|
|
32
32
|
};
|
|
33
|
-
export
|
|
33
|
+
export type ExpandOptions<T> = {
|
|
34
34
|
select?: Select<T>;
|
|
35
35
|
filter?: Filter<T>;
|
|
36
36
|
orderBy?: OrderBy<T>;
|
|
@@ -40,12 +40,12 @@ export declare type ExpandOptions<T> = {
|
|
|
40
40
|
count?: boolean | Filter<T>;
|
|
41
41
|
expand?: Expand<T>;
|
|
42
42
|
};
|
|
43
|
-
export
|
|
43
|
+
export type Transform<T> = {
|
|
44
44
|
aggregate?: Aggregate | Array<Aggregate>;
|
|
45
45
|
filter?: Filter<T>;
|
|
46
46
|
groupBy?: GroupBy<T>;
|
|
47
47
|
};
|
|
48
|
-
export
|
|
48
|
+
export type GroupBy<T> = {
|
|
49
49
|
properties: Array<keyof T>;
|
|
50
50
|
transform?: Transform<T>;
|
|
51
51
|
};
|
|
@@ -55,18 +55,19 @@ export declare enum QueryCustomTypes {
|
|
|
55
55
|
Duration = 2,
|
|
56
56
|
Binary = 3
|
|
57
57
|
}
|
|
58
|
-
export
|
|
58
|
+
export type QueryCustomType = {
|
|
59
59
|
type: QueryCustomTypes;
|
|
60
60
|
value: any;
|
|
61
61
|
name?: string;
|
|
62
62
|
};
|
|
63
|
-
export
|
|
63
|
+
export type Value = string | Date | number | boolean | QueryCustomType;
|
|
64
64
|
export declare const raw: (value: string) => QueryCustomType;
|
|
65
65
|
export declare const alias: (value: any, name?: string) => QueryCustomType;
|
|
66
66
|
export declare const duration: (value: string) => QueryCustomType;
|
|
67
67
|
export declare const binary: (value: string) => QueryCustomType;
|
|
68
68
|
export declare const isQueryCustomType: (value: any) => boolean;
|
|
69
|
-
export declare
|
|
69
|
+
export declare const isRawType: (value: any) => boolean;
|
|
70
|
+
export type QueryOptions<T> = ExpandOptions<T> & {
|
|
70
71
|
search: string;
|
|
71
72
|
transform: {
|
|
72
73
|
[name: string]: any;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Parser } from '../../../types';
|
|
1
2
|
import type { QueryCustomType } from '../builder';
|
|
2
3
|
import { Renderable } from './syntax';
|
|
3
4
|
export declare abstract class Expression<T> implements Renderable {
|
|
@@ -6,10 +7,11 @@ export declare abstract class Expression<T> implements Renderable {
|
|
|
6
7
|
children?: Renderable[];
|
|
7
8
|
});
|
|
8
9
|
get [Symbol.toStringTag](): string;
|
|
9
|
-
abstract render({ aliases, escape, prefix, }: {
|
|
10
|
-
aliases?: QueryCustomType[]
|
|
11
|
-
escape?: boolean
|
|
12
|
-
prefix?: string
|
|
10
|
+
abstract render({ aliases, escape, prefix, parser, }: {
|
|
11
|
+
aliases?: QueryCustomType[];
|
|
12
|
+
escape?: boolean;
|
|
13
|
+
prefix?: string;
|
|
14
|
+
parser?: Parser<T>;
|
|
13
15
|
}): string;
|
|
14
16
|
abstract clone(): Expression<T>;
|
|
15
17
|
children(): Renderable[];
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { Parser } from '../../../types';
|
|
1
2
|
import type { QueryCustomType } from '../builder';
|
|
2
3
|
import { Expression } from './base';
|
|
3
4
|
import { ODataFunctions, ODataOperators, Renderable } from './syntax';
|
|
4
|
-
export
|
|
5
|
+
export type ComputeExpressionBuilder<T> = {
|
|
5
6
|
t: Required<Readonly<T>>;
|
|
6
7
|
e: () => ComputeExpression<T>;
|
|
7
8
|
};
|
|
@@ -11,15 +12,16 @@ export declare class ComputeExpression<T> extends Expression<T> {
|
|
|
11
12
|
children?: Renderable[];
|
|
12
13
|
names?: string[];
|
|
13
14
|
});
|
|
14
|
-
static compute<T
|
|
15
|
-
render({ aliases, escape, prefix, }?: {
|
|
16
|
-
aliases?: QueryCustomType[]
|
|
17
|
-
escape?: boolean
|
|
18
|
-
prefix?: string
|
|
15
|
+
static compute<T>(opts: (builder: ComputeExpressionBuilder<T>, current?: ComputeExpression<T>) => ComputeExpression<T>, current?: ComputeExpression<T>): ComputeExpression<T>;
|
|
16
|
+
render({ aliases, escape, prefix, parser, }?: {
|
|
17
|
+
aliases?: QueryCustomType[];
|
|
18
|
+
escape?: boolean;
|
|
19
|
+
prefix?: string;
|
|
20
|
+
parser?: Parser<T>;
|
|
19
21
|
}): string;
|
|
20
|
-
clone(): ComputeExpression<
|
|
22
|
+
clone(): ComputeExpression<T>;
|
|
21
23
|
private _add;
|
|
22
|
-
field<T
|
|
24
|
+
field<T>(name: string, opts: (e: {
|
|
23
25
|
o: ODataOperators<T>;
|
|
24
26
|
f: ODataFunctions<T>;
|
|
25
27
|
}) => Renderable): ComputeExpression<T>;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { Parser } from '../../../types';
|
|
1
2
|
import type { QueryCustomType } from '../builder';
|
|
2
3
|
import { Expression } from './base';
|
|
3
4
|
import { FilterExpression, FilterExpressionBuilder } from './filter';
|
|
4
5
|
import { Renderable } from './syntax';
|
|
5
|
-
export declare class CountField<T
|
|
6
|
+
export declare class CountField<T> implements Renderable {
|
|
6
7
|
protected field: any;
|
|
7
8
|
private values;
|
|
8
9
|
constructor(field: any, values?: {
|
|
@@ -12,16 +13,17 @@ export declare class CountField<T extends object> implements Renderable {
|
|
|
12
13
|
toJSON(): {
|
|
13
14
|
field: any;
|
|
14
15
|
};
|
|
15
|
-
render({ aliases, escape, prefix, }: {
|
|
16
|
+
render({ aliases, escape, prefix, parser, }: {
|
|
16
17
|
aliases?: QueryCustomType[];
|
|
17
18
|
escape?: boolean;
|
|
18
19
|
prefix?: string;
|
|
20
|
+
parser?: Parser<T>;
|
|
19
21
|
}): string;
|
|
20
22
|
filter(opts: (builder: FilterExpressionBuilder<T>, current?: FilterExpression<T>) => FilterExpression<T>): any;
|
|
21
|
-
clone(): CountField<
|
|
23
|
+
clone(): CountField<T>;
|
|
22
24
|
private option;
|
|
23
25
|
}
|
|
24
|
-
export
|
|
26
|
+
export type CountExpressionBuilder<T> = {
|
|
25
27
|
t: Readonly<Required<T>>;
|
|
26
28
|
e: () => CountExpression<T>;
|
|
27
29
|
};
|
|
@@ -29,15 +31,16 @@ export declare class CountExpression<T> extends Expression<T> {
|
|
|
29
31
|
constructor({ children, }?: {
|
|
30
32
|
children?: Renderable[];
|
|
31
33
|
});
|
|
32
|
-
static count<T
|
|
34
|
+
static count<T>(opts: (builder: CountExpressionBuilder<T>, current?: CountExpression<T>) => CountExpression<T>, current?: CountExpression<T>): CountExpression<T>;
|
|
33
35
|
private _add;
|
|
34
|
-
render({ aliases, escape, prefix, }?: {
|
|
35
|
-
aliases?: QueryCustomType[]
|
|
36
|
-
escape?: boolean
|
|
37
|
-
prefix?: string
|
|
36
|
+
render({ aliases, escape, prefix, parser, }?: {
|
|
37
|
+
aliases?: QueryCustomType[];
|
|
38
|
+
escape?: boolean;
|
|
39
|
+
prefix?: string;
|
|
40
|
+
parser?: Parser<T>;
|
|
38
41
|
}): string;
|
|
39
|
-
clone(): CountExpression<
|
|
40
|
-
field<F
|
|
42
|
+
clone(): CountExpression<T>;
|
|
43
|
+
field<F>(field: F[], opts?: (e: {
|
|
41
44
|
t: F;
|
|
42
45
|
f: CountField<F>;
|
|
43
46
|
}) => CountExpression<F>): CountExpression<F>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Parser } from '../../../types';
|
|
2
|
+
import type { QueryCustomType, Unpacked } from '../builder';
|
|
2
3
|
import { Expression } from './base';
|
|
3
4
|
import { FilterExpression, FilterExpressionBuilder } from './filter';
|
|
4
5
|
import { OrderByExpression, OrderByExpressionBuilder } from './orderby';
|
|
@@ -15,23 +16,25 @@ export declare class ExpandField<T> implements Renderable {
|
|
|
15
16
|
toJSON(): {
|
|
16
17
|
field: any;
|
|
17
18
|
};
|
|
18
|
-
render({ aliases, escape, prefix, }: {
|
|
19
|
+
render({ aliases, escape, prefix, parser, }: {
|
|
19
20
|
aliases?: QueryCustomType[];
|
|
20
21
|
escape?: boolean;
|
|
21
22
|
prefix?: string;
|
|
23
|
+
parser?: Parser<T>;
|
|
22
24
|
}): string;
|
|
23
|
-
clone(): ExpandField<
|
|
24
|
-
select<T
|
|
25
|
-
expand<T
|
|
26
|
-
filter<T
|
|
27
|
-
search<T
|
|
28
|
-
orderBy<T
|
|
29
|
-
skip(n: number):
|
|
30
|
-
top(n: number):
|
|
31
|
-
levels(n: number | 'max'):
|
|
25
|
+
clone(): ExpandField<T>;
|
|
26
|
+
select<T>(opts: (builder: SelectExpressionBuilder<T>, current?: SelectExpression<T>) => SelectExpression<T>): SelectExpression<T>;
|
|
27
|
+
expand<T>(opts: (builder: ExpandExpressionBuilder<T>, current?: ExpandExpression<T>) => ExpandExpression<T>): ExpandExpression<T>;
|
|
28
|
+
filter<T>(opts: (builder: FilterExpressionBuilder<T>, current?: FilterExpression<T>) => FilterExpression<T>): FilterExpression<T>;
|
|
29
|
+
search<T>(opts: (builder: SearchExpressionBuilder<T>) => SearchExpression<T>): SearchExpression<T>;
|
|
30
|
+
orderBy<T>(opts: (builder: OrderByExpressionBuilder<T>, current?: OrderByExpression<T>) => OrderByExpression<T>): OrderByExpression<T>;
|
|
31
|
+
skip(n: number): number;
|
|
32
|
+
top(n: number): number;
|
|
33
|
+
levels(n: number | 'max'): number | "max";
|
|
34
|
+
count(): boolean;
|
|
32
35
|
private option;
|
|
33
36
|
}
|
|
34
|
-
export
|
|
37
|
+
export type ExpandExpressionBuilder<T> = {
|
|
35
38
|
t: Readonly<Required<T>>;
|
|
36
39
|
e: () => ExpandExpression<T>;
|
|
37
40
|
};
|
|
@@ -39,13 +42,14 @@ export declare class ExpandExpression<T> extends Expression<T> {
|
|
|
39
42
|
constructor({ children, }?: {
|
|
40
43
|
children?: Renderable[];
|
|
41
44
|
});
|
|
42
|
-
static expand<T
|
|
43
|
-
render({ aliases, escape, prefix, }?: {
|
|
44
|
-
aliases?: QueryCustomType[]
|
|
45
|
-
escape?: boolean
|
|
46
|
-
prefix?: string
|
|
45
|
+
static expand<T>(opts: (builder: ExpandExpressionBuilder<T>, current?: ExpandExpression<T>) => ExpandExpression<T>, current?: ExpandExpression<T>): ExpandExpression<T>;
|
|
46
|
+
render({ aliases, escape, prefix, parser, }?: {
|
|
47
|
+
aliases?: QueryCustomType[];
|
|
48
|
+
escape?: boolean;
|
|
49
|
+
prefix?: string;
|
|
50
|
+
parser?: Parser<T>;
|
|
47
51
|
}): string;
|
|
48
|
-
clone(): ExpandExpression<
|
|
52
|
+
clone(): ExpandExpression<T>;
|
|
49
53
|
private _add;
|
|
50
|
-
field<F>(field: F, opts?: (e: ExpandField<F
|
|
54
|
+
field<F>(field: F, opts?: (e: ExpandField<Unpacked<F>>) => void): ExpandExpression<T>;
|
|
51
55
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { Parser } from '../../../types';
|
|
1
2
|
import type { QueryCustomType } from '../builder';
|
|
2
3
|
import { Expression } from './base';
|
|
3
4
|
import { CountExpression, CountField } from './count';
|
|
4
|
-
import { ODataFunctions, ODataOperators, Renderable } from './syntax';
|
|
5
|
-
export
|
|
6
|
-
export
|
|
5
|
+
import { Normalize, ODataFunctions, ODataOperators, Renderable } from './syntax';
|
|
6
|
+
export type FilterConnector = 'and' | 'or';
|
|
7
|
+
export type FilterExpressionBuilder<T> = {
|
|
7
8
|
t: Readonly<Required<T>>;
|
|
8
9
|
e: (connector?: FilterConnector) => FilterExpression<T>;
|
|
9
10
|
o: ODataOperators<T>;
|
|
@@ -17,7 +18,7 @@ export declare class FilterExpression<F> extends Expression<F> {
|
|
|
17
18
|
connector?: FilterConnector;
|
|
18
19
|
negated?: boolean;
|
|
19
20
|
});
|
|
20
|
-
static filter<T
|
|
21
|
+
static filter<T>(opts: (builder: FilterExpressionBuilder<T>, current?: FilterExpression<T>) => FilterExpression<T>, current?: FilterExpression<T>): FilterExpression<T>;
|
|
21
22
|
toJSON(): {
|
|
22
23
|
children: any[];
|
|
23
24
|
connector: FilterConnector;
|
|
@@ -25,36 +26,37 @@ export declare class FilterExpression<F> extends Expression<F> {
|
|
|
25
26
|
};
|
|
26
27
|
connector(): FilterConnector;
|
|
27
28
|
negated(): boolean;
|
|
28
|
-
render({ aliases, escape, prefix, }?: {
|
|
29
|
+
render({ aliases, escape, prefix, parser, }?: {
|
|
29
30
|
aliases?: QueryCustomType[];
|
|
30
31
|
escape?: boolean;
|
|
31
32
|
prefix?: string;
|
|
33
|
+
parser?: Parser<any>;
|
|
32
34
|
}): string;
|
|
33
|
-
clone(): FilterExpression<
|
|
35
|
+
clone(): FilterExpression<F>;
|
|
34
36
|
private _add;
|
|
35
37
|
or(exp: FilterExpression<F>): FilterExpression<F>;
|
|
36
38
|
and(exp: FilterExpression<F>): FilterExpression<F>;
|
|
37
39
|
not(exp: FilterExpression<F>): FilterExpression<F>;
|
|
38
|
-
eq(left: any, right: any, normalize?:
|
|
39
|
-
ne(left: any, right: any, normalize?:
|
|
40
|
-
gt(left: any, right: any, normalize?:
|
|
41
|
-
ge(left: any, right: any, normalize?:
|
|
42
|
-
lt(left: any, right: any, normalize?:
|
|
43
|
-
le(left: any, right: any, normalize?:
|
|
44
|
-
has(left: any, right: any, normalize?:
|
|
45
|
-
in(left: any, right: any, normalize?:
|
|
46
|
-
contains(left: any, right: any, normalize?:
|
|
47
|
-
startsWith(left: any, right: any, normalize?:
|
|
48
|
-
endsWith(left: any, right: any, normalize?:
|
|
49
|
-
any<N
|
|
40
|
+
eq(left: any, right: any, normalize?: Normalize): FilterExpression<F>;
|
|
41
|
+
ne(left: any, right: any, normalize?: Normalize): FilterExpression<F>;
|
|
42
|
+
gt(left: any, right: any, normalize?: Normalize): FilterExpression<F>;
|
|
43
|
+
ge(left: any, right: any, normalize?: Normalize): FilterExpression<F>;
|
|
44
|
+
lt(left: any, right: any, normalize?: Normalize): FilterExpression<F>;
|
|
45
|
+
le(left: any, right: any, normalize?: Normalize): FilterExpression<F>;
|
|
46
|
+
has(left: any, right: any, normalize?: Normalize): FilterExpression<F>;
|
|
47
|
+
in(left: any, right: any, normalize?: Normalize): FilterExpression<F>;
|
|
48
|
+
contains(left: any, right: any, normalize?: Normalize): FilterExpression<F>;
|
|
49
|
+
startsWith(left: any, right: any, normalize?: Normalize): FilterExpression<F>;
|
|
50
|
+
endsWith(left: any, right: any, normalize?: Normalize): FilterExpression<F>;
|
|
51
|
+
any<N>(left: N[], opts?: (e: {
|
|
50
52
|
e: (connector?: FilterConnector) => FilterExpression<N>;
|
|
51
53
|
t: N;
|
|
52
54
|
}) => FilterExpression<N>, alias?: string): FilterExpression<F>;
|
|
53
|
-
all<N
|
|
55
|
+
all<N>(left: N[], opts: (e: {
|
|
54
56
|
t: N;
|
|
55
57
|
e: (connector?: FilterConnector) => FilterExpression<N>;
|
|
56
58
|
}) => FilterExpression<N>, alias?: string): FilterExpression<F>;
|
|
57
|
-
count<N
|
|
59
|
+
count<N>(left: N[], opts?: (e: {
|
|
58
60
|
t: N;
|
|
59
61
|
f: CountField<N>;
|
|
60
62
|
}) => CountExpression<N>): FilterExpression<F>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Parser } from '../../../types';
|
|
1
2
|
import type { QueryCustomType } from '../builder';
|
|
2
3
|
import { Expression } from './base';
|
|
3
4
|
import { Renderable } from './syntax';
|
|
@@ -8,16 +9,17 @@ export declare class OrderByField implements Renderable {
|
|
|
8
9
|
get [Symbol.toStringTag](): string;
|
|
9
10
|
toJSON(): {
|
|
10
11
|
field: any;
|
|
11
|
-
order: "
|
|
12
|
+
order: "asc" | "desc";
|
|
12
13
|
};
|
|
13
|
-
render({ aliases, escape, prefix, }: {
|
|
14
|
+
render({ aliases, escape, prefix, parser, }: {
|
|
14
15
|
aliases?: QueryCustomType[];
|
|
15
16
|
escape?: boolean;
|
|
16
17
|
prefix?: string;
|
|
18
|
+
parser?: Parser<any>;
|
|
17
19
|
}): string;
|
|
18
20
|
clone(): OrderByField;
|
|
19
21
|
}
|
|
20
|
-
export
|
|
22
|
+
export type OrderByExpressionBuilder<T> = {
|
|
21
23
|
t: Readonly<Required<T>>;
|
|
22
24
|
e: () => OrderByExpression<T>;
|
|
23
25
|
};
|
|
@@ -25,14 +27,15 @@ export declare class OrderByExpression<T> extends Expression<T> {
|
|
|
25
27
|
constructor({ children, }?: {
|
|
26
28
|
children?: Renderable[];
|
|
27
29
|
});
|
|
28
|
-
static orderBy<T
|
|
30
|
+
static orderBy<T>(opts: (builder: OrderByExpressionBuilder<T>, current?: OrderByExpression<T>) => OrderByExpression<T>, current?: OrderByExpression<T>): OrderByExpression<T>;
|
|
29
31
|
private _add;
|
|
30
|
-
render({ aliases, escape, prefix, }?: {
|
|
31
|
-
aliases?: QueryCustomType[]
|
|
32
|
-
escape?: boolean
|
|
33
|
-
prefix?: string
|
|
32
|
+
render({ aliases, escape, prefix, parser, }?: {
|
|
33
|
+
aliases?: QueryCustomType[];
|
|
34
|
+
escape?: boolean;
|
|
35
|
+
prefix?: string;
|
|
36
|
+
parser?: Parser<T>;
|
|
34
37
|
}): string;
|
|
35
|
-
clone(): OrderByExpression<
|
|
38
|
+
clone(): OrderByExpression<T>;
|
|
36
39
|
ascending(field: any): OrderByExpression<T>;
|
|
37
40
|
descending(field: any): OrderByExpression<T>;
|
|
38
41
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { Parser } from '../../../types';
|
|
1
2
|
import type { QueryCustomType } from '../builder';
|
|
2
3
|
import { Expression } from './base';
|
|
3
4
|
import { Renderable } from './syntax';
|
|
4
|
-
export
|
|
5
|
+
export type SearchConnector = 'AND' | 'OR';
|
|
5
6
|
export declare class SearchTerm implements Renderable {
|
|
6
7
|
protected value: string;
|
|
7
8
|
constructor(value: string);
|
|
@@ -10,14 +11,15 @@ export declare class SearchTerm implements Renderable {
|
|
|
10
11
|
$type: string;
|
|
11
12
|
value: string;
|
|
12
13
|
};
|
|
13
|
-
render({ aliases, escape, prefix, }: {
|
|
14
|
+
render({ aliases, escape, prefix, parser, }: {
|
|
14
15
|
aliases?: QueryCustomType[];
|
|
15
16
|
escape?: boolean;
|
|
16
17
|
prefix?: string;
|
|
18
|
+
parser?: Parser<any>;
|
|
17
19
|
}): string;
|
|
18
20
|
clone(): SearchTerm;
|
|
19
21
|
}
|
|
20
|
-
export
|
|
22
|
+
export type SearchExpressionBuilder<T> = {
|
|
21
23
|
e: (connector?: SearchConnector) => SearchExpression<T>;
|
|
22
24
|
};
|
|
23
25
|
export declare class SearchExpression<T> extends Expression<T> {
|
|
@@ -28,14 +30,15 @@ export declare class SearchExpression<T> extends Expression<T> {
|
|
|
28
30
|
connector?: SearchConnector;
|
|
29
31
|
negated?: boolean;
|
|
30
32
|
});
|
|
31
|
-
static search<T
|
|
33
|
+
static search<T>(opts: (builder: SearchExpressionBuilder<T>, current?: SearchExpression<T>) => SearchExpression<T>, current?: SearchExpression<T>): SearchExpression<T>;
|
|
32
34
|
private _add;
|
|
33
|
-
render({ aliases, escape, prefix, }?: {
|
|
34
|
-
aliases?: QueryCustomType[]
|
|
35
|
-
escape?: boolean
|
|
36
|
-
prefix?: string
|
|
35
|
+
render({ aliases, escape, prefix, parser, }?: {
|
|
36
|
+
aliases?: QueryCustomType[];
|
|
37
|
+
escape?: boolean;
|
|
38
|
+
prefix?: string;
|
|
39
|
+
parser?: Parser<T>;
|
|
37
40
|
}): string;
|
|
38
|
-
clone(): SearchExpression<
|
|
41
|
+
clone(): SearchExpression<T>;
|
|
39
42
|
toJSON(): {
|
|
40
43
|
children: any[];
|
|
41
44
|
connector: SearchConnector;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { Parser } from '../../../types';
|
|
1
2
|
import type { QueryCustomType } from '../builder';
|
|
2
3
|
import { Expression } from './base';
|
|
3
4
|
import { Renderable } from './syntax';
|
|
4
|
-
export
|
|
5
|
+
export type SelectExpressionBuilder<T> = {
|
|
5
6
|
t: Readonly<Required<T>>;
|
|
6
7
|
e: () => SelectExpression<T>;
|
|
7
8
|
};
|
|
@@ -9,13 +10,14 @@ export declare class SelectExpression<T> extends Expression<T> {
|
|
|
9
10
|
constructor({ children, }?: {
|
|
10
11
|
children?: Renderable[];
|
|
11
12
|
});
|
|
12
|
-
static select<T
|
|
13
|
-
render({ aliases, escape, prefix, }?: {
|
|
14
|
-
aliases?: QueryCustomType[]
|
|
15
|
-
escape?: boolean
|
|
16
|
-
prefix?: string
|
|
13
|
+
static select<T>(opts: (builder: SelectExpressionBuilder<T>, current?: SelectExpression<T>) => SelectExpression<T>, current?: SelectExpression<T>): SelectExpression<T>;
|
|
14
|
+
render({ aliases, escape, prefix, parser, }?: {
|
|
15
|
+
aliases?: QueryCustomType[];
|
|
16
|
+
escape?: boolean;
|
|
17
|
+
prefix?: string;
|
|
18
|
+
parser?: Parser<T>;
|
|
17
19
|
}): string;
|
|
18
|
-
clone(): SelectExpression<
|
|
20
|
+
clone(): SelectExpression<T>;
|
|
19
21
|
private _add;
|
|
20
22
|
field(field: any): SelectExpression<T>;
|
|
21
23
|
}
|