angular-odata 0.128.0 → 0.131.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/README.md +27 -244
- package/fesm2022/angular-odata.mjs +2320 -1118
- package/fesm2022/angular-odata.mjs.map +1 -1
- package/lib/api.d.ts +10 -11
- package/lib/cache/cache.d.ts +2 -2
- package/lib/cache/memory.d.ts +2 -2
- package/lib/cache/storage.d.ts +2 -2
- package/lib/index.d.ts +1 -0
- package/lib/loaders.d.ts +8 -8
- package/lib/metadata/csdl/csdl-annotation.d.ts +62 -26
- package/lib/metadata/csdl/csdl-entity-container.d.ts +8 -3
- package/lib/metadata/csdl/csdl-entity-set.d.ts +7 -2
- package/lib/metadata/csdl/csdl-enum-type.d.ts +11 -3
- package/lib/metadata/csdl/csdl-function-action.d.ts +54 -11
- package/lib/metadata/csdl/csdl-navigation-property-binding.d.ts +4 -0
- package/lib/metadata/csdl/csdl-reference.d.ts +26 -3
- package/lib/metadata/csdl/csdl-schema.d.ts +5 -2
- package/lib/metadata/csdl/csdl-singleton.d.ts +5 -0
- package/lib/metadata/csdl/csdl-structural-property.d.ts +19 -3
- package/lib/metadata/csdl/csdl-structured-type.d.ts +28 -7
- package/lib/metadata/csdl/csdl-type-definition.d.ts +3 -0
- package/lib/metadata/metadata.d.ts +16 -3
- package/lib/models/collection.d.ts +2 -1
- package/lib/models/model.d.ts +6 -5
- package/lib/models/options.d.ts +11 -4
- package/lib/module.d.ts +3 -3
- package/lib/options.d.ts +3 -3
- package/lib/resources/path/segments.d.ts +3 -3
- package/lib/resources/query/builder.d.ts +3 -2
- package/lib/resources/query/expressions/apply.d.ts +1 -1
- package/lib/resources/query/expressions/compute.d.ts +1 -1
- package/lib/resources/query/expressions/count.d.ts +1 -1
- package/lib/resources/query/expressions/expand.d.ts +5 -2
- package/lib/resources/query/expressions/filter.d.ts +2 -1
- package/lib/resources/query/expressions/orderby.d.ts +2 -1
- package/lib/resources/query/expressions/search.d.ts +2 -1
- package/lib/resources/query/expressions/select.d.ts +2 -1
- package/lib/resources/query/expressions/syntax.d.ts +2 -2
- package/lib/resources/query/handlers.d.ts +17 -5
- package/lib/resources/query/options.d.ts +3 -3
- package/lib/resources/resource.d.ts +36 -8
- package/lib/resources/types/action.d.ts +4 -4
- package/lib/resources/types/entity-set.d.ts +15 -8
- package/lib/resources/types/entity.d.ts +5 -1
- package/lib/resources/types/function.d.ts +4 -4
- package/lib/resources/types/navigation-property.d.ts +12 -3
- package/lib/resources/types/property.d.ts +14 -3
- package/lib/resources/types/singleton.d.ts +5 -1
- package/lib/schema/annotation.d.ts +3 -3
- package/lib/schema/callable.d.ts +3 -3
- package/lib/schema/element.d.ts +3 -3
- package/lib/schema/entity-container.d.ts +2 -2
- package/lib/schema/entity-set.d.ts +2 -2
- package/lib/schema/enum-type.d.ts +10 -10
- package/lib/schema/parsers/callable.d.ts +4 -4
- package/lib/schema/parsers/enum-type.d.ts +15 -15
- package/lib/schema/parsers/structured-type.d.ts +8 -5
- package/lib/schema/schema.d.ts +3 -3
- package/lib/schema/singleton.d.ts +2 -2
- package/lib/schema/structured-type.d.ts +7 -4
- package/lib/services/entity-set.d.ts +9 -6
- package/lib/services/entity.d.ts +1 -1
- package/lib/services/singleton.d.ts +1 -1
- package/lib/settings.d.ts +2 -2
- package/lib/types.d.ts +82 -69
- package/lib/utils/enums.d.ts +12 -12
- package/lib/utils/http.d.ts +1 -1
- package/lib/utils/objects.d.ts +1 -1
- package/lib/utils/odata.d.ts +2 -2
- package/lib/utils/strings.d.ts +2 -2
- package/package.json +3 -5
- package/schematics/apigen/angular/api-config.js +7 -1
- package/schematics/apigen/angular/api-config.js.map +1 -1
- package/schematics/apigen/angular/base.d.ts +22 -2
- package/schematics/apigen/angular/base.js +82 -42
- package/schematics/apigen/angular/base.js.map +1 -1
- package/schematics/apigen/angular/entity.js +7 -1
- package/schematics/apigen/angular/entity.js.map +1 -1
- package/schematics/apigen/angular/enum.js +1 -0
- package/schematics/apigen/angular/enum.js.map +1 -1
- package/schematics/apigen/angular/module.js.map +1 -1
- package/schematics/apigen/angular/service.js +3 -2
- package/schematics/apigen/angular/service.js.map +1 -1
- package/schematics/apigen/files/api-config/__fileName__.ts +8 -6
- package/schematics/apigen/files/entity/__fileName__.ts +2 -2
- package/schematics/apigen/files/entitycontainer-service/__fileName__.ts +1 -1
- package/schematics/apigen/files/entityset-service/__fileName__.ts +1 -1
- package/schematics/apigen/files/enum/__fileName__.ts +1 -1
- package/schematics/apigen/files/metadata/metadata.json +1 -0
- package/schematics/apigen/files/singleton-service/__fileName__.ts +1 -1
- package/schematics/apigen/index.js +56 -12
- package/schematics/apigen/index.js.map +1 -1
- package/schematics/apigen/metadata/csdl/csdl-annotation.d.ts +56 -23
- package/schematics/apigen/metadata/csdl/csdl-annotation.js +143 -13
- package/schematics/apigen/metadata/csdl/csdl-annotation.js.map +1 -1
- package/schematics/apigen/metadata/csdl/csdl-entity-container.d.ts +3 -0
- package/schematics/apigen/metadata/csdl/csdl-entity-container.js +19 -0
- package/schematics/apigen/metadata/csdl/csdl-entity-container.js.map +1 -1
- package/schematics/apigen/metadata/csdl/csdl-entity-set.d.ts +3 -0
- package/schematics/apigen/metadata/csdl/csdl-entity-set.js +11 -0
- package/schematics/apigen/metadata/csdl/csdl-entity-set.js.map +1 -1
- package/schematics/apigen/metadata/csdl/csdl-enum-type.d.ts +6 -0
- package/schematics/apigen/metadata/csdl/csdl-enum-type.js +17 -0
- package/schematics/apigen/metadata/csdl/csdl-enum-type.js.map +1 -1
- package/schematics/apigen/metadata/csdl/csdl-function-action.d.ts +37 -0
- package/schematics/apigen/metadata/csdl/csdl-function-action.js +52 -0
- package/schematics/apigen/metadata/csdl/csdl-function-action.js.map +1 -1
- package/schematics/apigen/metadata/csdl/csdl-navigation-property-binding.d.ts +4 -0
- package/schematics/apigen/metadata/csdl/csdl-navigation-property-binding.js +6 -0
- package/schematics/apigen/metadata/csdl/csdl-navigation-property-binding.js.map +1 -1
- package/schematics/apigen/metadata/csdl/csdl-reference.d.ts +15 -3
- package/schematics/apigen/metadata/csdl/csdl-reference.js +26 -2
- package/schematics/apigen/metadata/csdl/csdl-reference.js.map +1 -1
- package/schematics/apigen/metadata/csdl/csdl-schema.d.ts +3 -0
- package/schematics/apigen/metadata/csdl/csdl-schema.js +37 -0
- package/schematics/apigen/metadata/csdl/csdl-schema.js.map +1 -1
- package/schematics/apigen/metadata/csdl/csdl-singleton.d.ts +3 -0
- package/schematics/apigen/metadata/csdl/csdl-singleton.js +8 -0
- package/schematics/apigen/metadata/csdl/csdl-singleton.js.map +1 -1
- package/schematics/apigen/metadata/csdl/csdl-structural-property.d.ts +16 -0
- package/schematics/apigen/metadata/csdl/csdl-structural-property.js +53 -0
- package/schematics/apigen/metadata/csdl/csdl-structural-property.js.map +1 -1
- package/schematics/apigen/metadata/csdl/csdl-structured-type.d.ts +22 -3
- package/schematics/apigen/metadata/csdl/csdl-structured-type.js +47 -2
- package/schematics/apigen/metadata/csdl/csdl-structured-type.js.map +1 -1
- package/schematics/apigen/metadata/csdl/csdl-type-definition.d.ts +3 -0
- package/schematics/apigen/metadata/csdl/csdl-type-definition.js +19 -0
- package/schematics/apigen/metadata/csdl/csdl-type-definition.js.map +1 -1
- package/schematics/apigen/metadata/metadata.d.ts +10 -0
- package/schematics/apigen/metadata/metadata.js +12 -6
- package/schematics/apigen/metadata/metadata.js.map +1 -1
- package/schematics/apigen/metadata/parser.js.map +1 -1
- package/schematics/apigen/schema.d.ts +2 -1
- package/schematics/apigen/schema.json +15 -14
- package/schematics/apigen/utils.d.ts +1 -0
- package/schematics/apigen/utils.js +25 -1
- package/schematics/apigen/utils.js.map +1 -1
- package/schematics/ng-add/index.js +1 -2
- package/schematics/ng-add/index.js.map +1 -1
- package/esm2022/angular-odata.mjs +0 -5
- package/esm2022/lib/annotations.mjs +0 -140
- package/esm2022/lib/api.mjs +0 -419
- package/esm2022/lib/cache/cache.mjs +0 -175
- package/esm2022/lib/cache/index.mjs +0 -4
- package/esm2022/lib/cache/memory.mjs +0 -30
- package/esm2022/lib/cache/storage.mjs +0 -55
- package/esm2022/lib/client.mjs +0 -212
- package/esm2022/lib/constants.mjs +0 -95
- package/esm2022/lib/helper.mjs +0 -280
- package/esm2022/lib/index.mjs +0 -21
- package/esm2022/lib/loaders.mjs +0 -39
- package/esm2022/lib/metadata/csdl/csdl-annotation.mjs +0 -95
- package/esm2022/lib/metadata/csdl/csdl-entity-container.mjs +0 -27
- package/esm2022/lib/metadata/csdl/csdl-entity-set.mjs +0 -24
- package/esm2022/lib/metadata/csdl/csdl-enum-type.mjs +0 -37
- package/esm2022/lib/metadata/csdl/csdl-function-action.mjs +0 -94
- package/esm2022/lib/metadata/csdl/csdl-navigation-property-binding.mjs +0 -7
- package/esm2022/lib/metadata/csdl/csdl-reference.mjs +0 -23
- package/esm2022/lib/metadata/csdl/csdl-schema.mjs +0 -39
- package/esm2022/lib/metadata/csdl/csdl-singleton.mjs +0 -15
- package/esm2022/lib/metadata/csdl/csdl-structural-property.mjs +0 -70
- package/esm2022/lib/metadata/csdl/csdl-structured-type.mjs +0 -92
- package/esm2022/lib/metadata/csdl/csdl-type-definition.mjs +0 -15
- package/esm2022/lib/metadata/index.mjs +0 -3
- package/esm2022/lib/metadata/metadata.mjs +0 -14
- package/esm2022/lib/metadata/parser.mjs +0 -563
- package/esm2022/lib/models/collection.mjs +0 -814
- package/esm2022/lib/models/index.mjs +0 -4
- package/esm2022/lib/models/model.mjs +0 -553
- package/esm2022/lib/models/options.mjs +0 -1179
- package/esm2022/lib/module.mjs +0 -55
- package/esm2022/lib/options.mjs +0 -36
- package/esm2022/lib/resources/index.mjs +0 -7
- package/esm2022/lib/resources/options.mjs +0 -56
- package/esm2022/lib/resources/path/handlers.mjs +0 -79
- package/esm2022/lib/resources/path/index.mjs +0 -3
- package/esm2022/lib/resources/path/segments.mjs +0 -148
- package/esm2022/lib/resources/query/builder.mjs +0 -636
- package/esm2022/lib/resources/query/expressions/apply.mjs +0 -236
- package/esm2022/lib/resources/query/expressions/base.mjs +0 -25
- package/esm2022/lib/resources/query/expressions/compute.mjs +0 -54
- package/esm2022/lib/resources/query/expressions/count.mjs +0 -116
- package/esm2022/lib/resources/query/expressions/expand.mjs +0 -147
- package/esm2022/lib/resources/query/expressions/filter.mjs +0 -178
- package/esm2022/lib/resources/query/expressions/index.mjs +0 -10
- package/esm2022/lib/resources/query/expressions/orderby.mjs +0 -79
- package/esm2022/lib/resources/query/expressions/search.mjs +0 -141
- package/esm2022/lib/resources/query/expressions/select.mjs +0 -47
- package/esm2022/lib/resources/query/expressions/syntax.mjs +0 -751
- package/esm2022/lib/resources/query/handlers.mjs +0 -420
- package/esm2022/lib/resources/query/index.mjs +0 -5
- package/esm2022/lib/resources/query/options.mjs +0 -139
- package/esm2022/lib/resources/request.mjs +0 -196
- package/esm2022/lib/resources/resource.mjs +0 -311
- package/esm2022/lib/resources/response.mjs +0 -174
- package/esm2022/lib/resources/types/action.mjs +0 -116
- package/esm2022/lib/resources/types/batch.mjs +0 -428
- package/esm2022/lib/resources/types/count.mjs +0 -33
- package/esm2022/lib/resources/types/entity-set.mjs +0 -131
- package/esm2022/lib/resources/types/entity.mjs +0 -112
- package/esm2022/lib/resources/types/function.mjs +0 -146
- package/esm2022/lib/resources/types/index.mjs +0 -15
- package/esm2022/lib/resources/types/media.mjs +0 -44
- package/esm2022/lib/resources/types/metadata.mjs +0 -35
- package/esm2022/lib/resources/types/navigation-property.mjs +0 -256
- package/esm2022/lib/resources/types/options.mjs +0 -2
- package/esm2022/lib/resources/types/property.mjs +0 -197
- package/esm2022/lib/resources/types/reference.mjs +0 -87
- package/esm2022/lib/resources/types/singleton.mjs +0 -130
- package/esm2022/lib/resources/types/value.mjs +0 -48
- package/esm2022/lib/schema/annotation.mjs +0 -37
- package/esm2022/lib/schema/callable.mjs +0 -66
- package/esm2022/lib/schema/element.mjs +0 -67
- package/esm2022/lib/schema/entity-container.mjs +0 -11
- package/esm2022/lib/schema/entity-set.mjs +0 -9
- package/esm2022/lib/schema/enum-type.mjs +0 -68
- package/esm2022/lib/schema/index.mjs +0 -9
- package/esm2022/lib/schema/parsers/callable.mjs +0 -110
- package/esm2022/lib/schema/parsers/edm.mjs +0 -101
- package/esm2022/lib/schema/parsers/enum-type.mjs +0 -130
- package/esm2022/lib/schema/parsers/index.mjs +0 -5
- package/esm2022/lib/schema/parsers/structured-type.mjs +0 -514
- package/esm2022/lib/schema/schema.mjs +0 -45
- package/esm2022/lib/schema/singleton.mjs +0 -9
- package/esm2022/lib/schema/structured-type.mjs +0 -213
- package/esm2022/lib/services/base.mjs +0 -29
- package/esm2022/lib/services/entity-set.mjs +0 -155
- package/esm2022/lib/services/entity.mjs +0 -12
- package/esm2022/lib/services/factory.mjs +0 -44
- package/esm2022/lib/services/index.mjs +0 -5
- package/esm2022/lib/services/singleton.mjs +0 -54
- package/esm2022/lib/settings.mjs +0 -112
- package/esm2022/lib/types.mjs +0 -118
- package/esm2022/lib/utils/arraybuffers.mjs +0 -46
- package/esm2022/lib/utils/arrays.mjs +0 -10
- package/esm2022/lib/utils/dates.mjs +0 -18
- package/esm2022/lib/utils/durations.mjs +0 -40
- package/esm2022/lib/utils/enums.mjs +0 -61
- package/esm2022/lib/utils/http.mjs +0 -95
- package/esm2022/lib/utils/index.mjs +0 -10
- package/esm2022/lib/utils/objects.mjs +0 -204
- package/esm2022/lib/utils/odata.mjs +0 -22
- package/esm2022/lib/utils/strings.mjs +0 -20
- package/esm2022/lib/utils/types.mjs +0 -136
- package/esm2022/lib/utils/urls.mjs +0 -24
- package/esm2022/public-api.mjs +0 -5
|
@@ -8,7 +8,7 @@ import { ODataEntityService } from './entity';
|
|
|
8
8
|
*/
|
|
9
9
|
export declare class ODataSingletonService<T> extends ODataEntityService<T> {
|
|
10
10
|
static Model?: typeof ODataModel;
|
|
11
|
-
model(entity?: Partial<T>): ODataModel<T>;
|
|
11
|
+
model(entity?: Partial<T>): ODataModel<T> & import("angular-odata").ModelInterface<T>;
|
|
12
12
|
/**
|
|
13
13
|
* Get the entity resource for this service.
|
|
14
14
|
* @param key The entity key.
|
package/lib/settings.d.ts
CHANGED
|
@@ -3,10 +3,10 @@ import { ODataApi } from './api';
|
|
|
3
3
|
import { ODataCollection, ODataModel } from './models';
|
|
4
4
|
import { ODataRequest } from './resources';
|
|
5
5
|
import { ODataCallable, ODataEntitySet, ODataEnumType, ODataStructuredType } from './schema';
|
|
6
|
-
import {
|
|
6
|
+
import { ODataApiConfig, EdmType, Parser } from './types';
|
|
7
7
|
export declare class ODataSettings {
|
|
8
8
|
apis: ODataApi[];
|
|
9
|
-
constructor(configs:
|
|
9
|
+
constructor(configs: ODataApiConfig[]);
|
|
10
10
|
configure(settings: {
|
|
11
11
|
requester?: (request: ODataRequest<any>) => Observable<any>;
|
|
12
12
|
}): void;
|
package/lib/types.d.ts
CHANGED
|
@@ -77,7 +77,43 @@ export declare enum JsonType {
|
|
|
77
77
|
boolean = "boolean",
|
|
78
78
|
null = "null"
|
|
79
79
|
}
|
|
80
|
-
export interface
|
|
80
|
+
export interface ParserOptions {
|
|
81
|
+
version?: ODataVersion;
|
|
82
|
+
exponentialDecimals?: boolean;
|
|
83
|
+
metadata?: ODataMetadataType;
|
|
84
|
+
ieee754Compatible?: boolean;
|
|
85
|
+
streaming?: boolean;
|
|
86
|
+
stringAsEnum?: boolean;
|
|
87
|
+
deleteRefBy?: 'path' | 'id';
|
|
88
|
+
nonParenthesisForEmptyParameterFunction?: boolean;
|
|
89
|
+
}
|
|
90
|
+
export interface ResponseOptions extends ParserOptions {
|
|
91
|
+
cacheability?: CacheCacheability;
|
|
92
|
+
maxAge?: number;
|
|
93
|
+
}
|
|
94
|
+
export interface StructuredTypeFieldOptions extends ParserOptions {
|
|
95
|
+
field: ODataStructuredTypeFieldConfig;
|
|
96
|
+
}
|
|
97
|
+
export interface Parser<T> {
|
|
98
|
+
deserialize(value: any, options?: ParserOptions | StructuredTypeFieldOptions): T;
|
|
99
|
+
serialize(value: any, options?: ParserOptions | StructuredTypeFieldOptions): any;
|
|
100
|
+
encode(value: any, options?: ParserOptions | StructuredTypeFieldOptions): any;
|
|
101
|
+
}
|
|
102
|
+
export interface FieldParser<T> extends Parser<T> {
|
|
103
|
+
nullable?: boolean;
|
|
104
|
+
default?: any;
|
|
105
|
+
maxLength?: number;
|
|
106
|
+
precision?: number;
|
|
107
|
+
scale?: number | 'variable';
|
|
108
|
+
}
|
|
109
|
+
export declare const NONE_PARSER: Parser<any>;
|
|
110
|
+
export interface ODataCache {
|
|
111
|
+
put<T>(key: string, payload: T, ...opts: any[]): void;
|
|
112
|
+
get<T>(key: string, ...opts: any[]): T | undefined;
|
|
113
|
+
handleRequest(req: any, res$: Observable<any>): Observable<any>;
|
|
114
|
+
flush(): void;
|
|
115
|
+
}
|
|
116
|
+
export interface ODataApiConfigOptions {
|
|
81
117
|
version?: ODataVersion;
|
|
82
118
|
params?: {
|
|
83
119
|
[param: string]: string | string[];
|
|
@@ -111,55 +147,23 @@ export interface ApiOptions {
|
|
|
111
147
|
jsonBatchFormat?: boolean;
|
|
112
148
|
relativeUrls?: boolean;
|
|
113
149
|
}
|
|
114
|
-
export
|
|
115
|
-
version?: ODataVersion;
|
|
116
|
-
exponentialDecimals?: boolean;
|
|
117
|
-
metadata?: ODataMetadataType;
|
|
118
|
-
ieee754Compatible?: boolean;
|
|
119
|
-
streaming?: boolean;
|
|
120
|
-
stringAsEnum?: boolean;
|
|
121
|
-
deleteRefBy?: 'path' | 'id';
|
|
122
|
-
nonParenthesisForEmptyParameterFunction?: boolean;
|
|
123
|
-
}
|
|
124
|
-
export interface ResponseOptions extends ParserOptions {
|
|
125
|
-
cacheability?: CacheCacheability;
|
|
126
|
-
maxAge?: number;
|
|
127
|
-
}
|
|
128
|
-
export interface StructuredTypeFieldOptions extends ParserOptions {
|
|
129
|
-
field: StructuredTypeFieldConfig;
|
|
130
|
-
}
|
|
131
|
-
export interface Parser<T> {
|
|
132
|
-
deserialize(value: any, options?: ParserOptions | StructuredTypeFieldOptions): T;
|
|
133
|
-
serialize(value: any, options?: ParserOptions | StructuredTypeFieldOptions): any;
|
|
134
|
-
encode(value: any, options?: ParserOptions | StructuredTypeFieldOptions): any;
|
|
135
|
-
}
|
|
136
|
-
export interface FieldParser<T> extends Parser<T> {
|
|
137
|
-
nullable?: boolean;
|
|
138
|
-
default?: any;
|
|
139
|
-
maxLength?: number;
|
|
140
|
-
precision?: number;
|
|
141
|
-
scale?: number | 'variable';
|
|
142
|
-
}
|
|
143
|
-
export declare const NONE_PARSER: Parser<any>;
|
|
144
|
-
export interface Cache {
|
|
145
|
-
put<T>(key: string, payload: T, ...opts: any[]): void;
|
|
146
|
-
get<T>(key: string, ...opts: any[]): T | undefined;
|
|
147
|
-
}
|
|
148
|
-
export type ApiConfig = {
|
|
150
|
+
export type ODataApiConfig = {
|
|
149
151
|
serviceRootUrl: string;
|
|
152
|
+
metadataUrl?: string;
|
|
150
153
|
name?: string;
|
|
151
154
|
version?: ODataVersion;
|
|
152
155
|
default?: boolean;
|
|
153
156
|
creation?: Date;
|
|
154
|
-
cache?:
|
|
157
|
+
cache?: ODataCache;
|
|
155
158
|
errorHandler?: (error: any, caught: Observable<any>) => Observable<never>;
|
|
156
|
-
options?:
|
|
159
|
+
options?: ODataApiConfigOptions;
|
|
157
160
|
parsers?: {
|
|
158
161
|
[type: string]: Parser<any>;
|
|
159
162
|
};
|
|
160
|
-
schemas?:
|
|
163
|
+
schemas?: ODataSchemaConfig[];
|
|
164
|
+
references?: ODataReferenceConfig[];
|
|
161
165
|
};
|
|
162
|
-
export type
|
|
166
|
+
export type ODataAnnotationConfig = {
|
|
163
167
|
term: string;
|
|
164
168
|
string?: string;
|
|
165
169
|
bool?: boolean;
|
|
@@ -167,39 +171,48 @@ export type AnnotationConfig = {
|
|
|
167
171
|
permissions?: string[];
|
|
168
172
|
properties?: string[];
|
|
169
173
|
};
|
|
170
|
-
export type
|
|
174
|
+
export type ODataReferenceConfig = {
|
|
175
|
+
uri: string;
|
|
176
|
+
includes?: string;
|
|
177
|
+
annotations?: ODataAnnotationConfig[];
|
|
178
|
+
enums?: ODataEnumTypeConfig[];
|
|
179
|
+
entities?: ODataStructuredTypeConfig[];
|
|
180
|
+
callables?: ODataCallableConfig[];
|
|
181
|
+
containers?: ODataEntityContainerConfig[];
|
|
182
|
+
};
|
|
183
|
+
export type ODataSchemaConfig = {
|
|
171
184
|
namespace: string;
|
|
172
185
|
alias?: string;
|
|
173
|
-
annotations?:
|
|
174
|
-
enums?:
|
|
175
|
-
entities?:
|
|
176
|
-
callables?:
|
|
177
|
-
containers?:
|
|
186
|
+
annotations?: ODataAnnotationConfig[];
|
|
187
|
+
enums?: ODataEnumTypeConfig[];
|
|
188
|
+
entities?: ODataStructuredTypeConfig[];
|
|
189
|
+
callables?: ODataCallableConfig[];
|
|
190
|
+
containers?: ODataEntityContainerConfig[];
|
|
178
191
|
};
|
|
179
|
-
export type
|
|
192
|
+
export type ODataEntityContainerConfig = {
|
|
180
193
|
name: string;
|
|
181
|
-
annotations?:
|
|
182
|
-
entitySets?:
|
|
183
|
-
singletons?:
|
|
194
|
+
annotations?: ODataAnnotationConfig[];
|
|
195
|
+
entitySets?: ODataEntitySetConfig[];
|
|
196
|
+
singletons?: ODataSingletonConfig[];
|
|
184
197
|
};
|
|
185
|
-
export type
|
|
186
|
-
value:
|
|
187
|
-
annotations?:
|
|
198
|
+
export type ODataEnumTypeFieldConfig = {
|
|
199
|
+
value: number;
|
|
200
|
+
annotations?: ODataAnnotationConfig[];
|
|
188
201
|
};
|
|
189
|
-
export type
|
|
202
|
+
export type ODataEnumTypeConfig = {
|
|
190
203
|
name: string;
|
|
191
204
|
flags?: boolean;
|
|
192
|
-
annotations?:
|
|
205
|
+
annotations?: ODataAnnotationConfig[];
|
|
193
206
|
members: {
|
|
194
|
-
[name: string]:
|
|
207
|
+
[name: string]: number;
|
|
195
208
|
} | {
|
|
196
209
|
[value: number]: string;
|
|
197
210
|
};
|
|
198
211
|
fields: {
|
|
199
|
-
[member: string]:
|
|
212
|
+
[member: string]: ODataEnumTypeFieldConfig;
|
|
200
213
|
};
|
|
201
214
|
};
|
|
202
|
-
export type
|
|
215
|
+
export type ODataStructuredTypeFieldConfig = {
|
|
203
216
|
type: string;
|
|
204
217
|
default?: any;
|
|
205
218
|
maxLength?: number;
|
|
@@ -208,7 +221,7 @@ export type StructuredTypeFieldConfig = {
|
|
|
208
221
|
nullable?: boolean;
|
|
209
222
|
navigation?: boolean;
|
|
210
223
|
precision?: number;
|
|
211
|
-
annotations?:
|
|
224
|
+
annotations?: ODataAnnotationConfig[];
|
|
212
225
|
scale?: number | 'variable';
|
|
213
226
|
referentials?: {
|
|
214
227
|
property: string;
|
|
@@ -217,7 +230,7 @@ export type StructuredTypeFieldConfig = {
|
|
|
217
230
|
referential?: string;
|
|
218
231
|
referenced?: string;
|
|
219
232
|
};
|
|
220
|
-
export type
|
|
233
|
+
export type ODataStructuredTypeConfig = {
|
|
221
234
|
name: string;
|
|
222
235
|
base?: string;
|
|
223
236
|
open?: boolean;
|
|
@@ -227,46 +240,46 @@ export type StructuredTypeConfig<T> = {
|
|
|
227
240
|
collection?: {
|
|
228
241
|
new (...params: any[]): any;
|
|
229
242
|
};
|
|
230
|
-
annotations?:
|
|
243
|
+
annotations?: ODataAnnotationConfig[];
|
|
231
244
|
keys?: {
|
|
232
245
|
name: string;
|
|
233
246
|
alias?: string;
|
|
234
247
|
}[];
|
|
235
248
|
fields?: {
|
|
236
|
-
[
|
|
249
|
+
[name: string]: ODataStructuredTypeFieldConfig;
|
|
237
250
|
};
|
|
238
251
|
};
|
|
239
|
-
export type
|
|
252
|
+
export type ODataParameterConfig = {
|
|
240
253
|
type: string;
|
|
241
254
|
nullable?: boolean;
|
|
242
255
|
collection?: boolean;
|
|
243
256
|
};
|
|
244
|
-
export type
|
|
257
|
+
export type ODataCallableConfig = {
|
|
245
258
|
name: string;
|
|
246
259
|
entitySetPath?: string;
|
|
247
260
|
bound?: boolean;
|
|
248
261
|
composable?: boolean;
|
|
249
262
|
parameters?: {
|
|
250
|
-
[name: string]:
|
|
263
|
+
[name: string]: ODataParameterConfig;
|
|
251
264
|
};
|
|
252
265
|
return?: {
|
|
253
266
|
type: string;
|
|
254
267
|
collection?: boolean;
|
|
255
268
|
};
|
|
256
269
|
};
|
|
257
|
-
export type
|
|
270
|
+
export type ODataEntitySetConfig = {
|
|
258
271
|
name: string;
|
|
259
272
|
entityType: string;
|
|
260
273
|
service: {
|
|
261
274
|
new (...params: any[]): any;
|
|
262
275
|
};
|
|
263
|
-
annotations?:
|
|
276
|
+
annotations?: ODataAnnotationConfig[];
|
|
264
277
|
};
|
|
265
|
-
export type
|
|
278
|
+
export type ODataSingletonConfig = {
|
|
266
279
|
name: string;
|
|
267
280
|
type: string;
|
|
268
281
|
service: {
|
|
269
282
|
new (...params: any[]): any;
|
|
270
283
|
};
|
|
271
|
-
annotations?:
|
|
284
|
+
annotations?: ODataAnnotationConfig[];
|
|
272
285
|
};
|
package/lib/utils/enums.d.ts
CHANGED
|
@@ -2,22 +2,22 @@ export declare const Enums: {
|
|
|
2
2
|
names<E extends {
|
|
3
3
|
[name: string]: any;
|
|
4
4
|
}>(enums: E): string[];
|
|
5
|
-
values<
|
|
5
|
+
values<E extends {
|
|
6
6
|
[name: string]: any;
|
|
7
|
-
}>(enums:
|
|
8
|
-
toValue<
|
|
7
|
+
}>(enums: E): number[];
|
|
8
|
+
toValue<E extends {
|
|
9
9
|
[name: string]: any;
|
|
10
|
-
}>(enums:
|
|
11
|
-
toValues<
|
|
10
|
+
}>(enums: E, value: any): number | undefined;
|
|
11
|
+
toValues<E extends {
|
|
12
12
|
[name: string]: any;
|
|
13
|
-
}>(enums:
|
|
14
|
-
toName<
|
|
13
|
+
}>(enums: E, value: any): number[];
|
|
14
|
+
toName<E extends {
|
|
15
15
|
[name: string]: any;
|
|
16
|
-
}>(enums:
|
|
17
|
-
toNames<
|
|
16
|
+
}>(enums: E, value: any): string | undefined;
|
|
17
|
+
toNames<E extends {
|
|
18
18
|
[name: string]: any;
|
|
19
|
-
}>(enums:
|
|
20
|
-
toFlags<
|
|
19
|
+
}>(enums: E, value: any): string[];
|
|
20
|
+
toFlags<E extends {
|
|
21
21
|
[name: string]: any;
|
|
22
|
-
}>(enums:
|
|
22
|
+
}>(enums: E, value: any): string[];
|
|
23
23
|
};
|
package/lib/utils/http.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export declare const Http: {
|
|
|
4
4
|
[header: string]: string | string[];
|
|
5
5
|
})[]): HttpHeaders;
|
|
6
6
|
mergeHttpParams(...values: (HttpParams | {
|
|
7
|
-
[param: string]: string | number | boolean |
|
|
7
|
+
[param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;
|
|
8
8
|
})[]): HttpParams;
|
|
9
9
|
splitHttpParams(params: HttpParams, keys: string[]): [HttpParams, HttpParams];
|
|
10
10
|
withoutHttpParams(params: HttpParams, keys: string[]): HttpParams;
|
package/lib/utils/objects.d.ts
CHANGED
package/lib/utils/odata.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ODataCallableConfig } from '../types';
|
|
2
2
|
export declare const OData: {
|
|
3
|
-
mergeCallableParameters(callables:
|
|
3
|
+
mergeCallableParameters(callables: ODataCallableConfig[]): ODataCallableConfig[];
|
|
4
4
|
};
|
package/lib/utils/strings.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "angular-odata",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.131.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Client side OData typescript library for Angular",
|
|
6
6
|
"repository": {
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"homepage": "https://github.com/diegomvh/angular-odata",
|
|
26
26
|
"private": false,
|
|
27
27
|
"peerDependencies": {
|
|
28
|
-
"@angular/common": ">=
|
|
29
|
-
"@angular/core": ">=
|
|
28
|
+
"@angular/common": ">=16.0.0",
|
|
29
|
+
"@angular/core": ">=16.0.0"
|
|
30
30
|
},
|
|
31
31
|
"schematics": "./schematics/collection.json",
|
|
32
32
|
"ng-add": {
|
|
@@ -44,8 +44,6 @@
|
|
|
44
44
|
},
|
|
45
45
|
".": {
|
|
46
46
|
"types": "./index.d.ts",
|
|
47
|
-
"esm2022": "./esm2022/angular-odata.mjs",
|
|
48
|
-
"esm": "./esm2022/angular-odata.mjs",
|
|
49
47
|
"default": "./fesm2022/angular-odata.mjs"
|
|
50
48
|
}
|
|
51
49
|
}
|
|
@@ -12,7 +12,13 @@ class ApiConfig extends base_1.Base {
|
|
|
12
12
|
return (0, schematics_1.url)('./files/api-config');
|
|
13
13
|
}
|
|
14
14
|
variables() {
|
|
15
|
-
return
|
|
15
|
+
return {
|
|
16
|
+
serviceRootUrl: this.options.serviceRootUrl,
|
|
17
|
+
metadataUrl: this.options.metadata,
|
|
18
|
+
apiConfigName: this.options.name,
|
|
19
|
+
version: this.options.version,
|
|
20
|
+
creation: this.options.creation,
|
|
21
|
+
};
|
|
16
22
|
}
|
|
17
23
|
name() {
|
|
18
24
|
return core_1.strings.classify(this.options.name) + 'Config';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-config.js","sourceRoot":"","sources":["../../../../../projects/angular-odata/schematics/apigen/angular/api-config.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,iCAA8B;AAC9B,2DAAyD;AAGzD,MAAa,SAAU,SAAQ,WAAI;IACjC,YAAY,OAAqB;QAC/B,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IACe,QAAQ;QACtB,OAAO,IAAA,gBAAG,EAAC,oBAAoB,CAAC,CAAC;IACnC,CAAC;IACe,SAAS;QACvB,
|
|
1
|
+
{"version":3,"file":"api-config.js","sourceRoot":"","sources":["../../../../../projects/angular-odata/schematics/apigen/angular/api-config.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,iCAA8B;AAC9B,2DAAyD;AAGzD,MAAa,SAAU,SAAQ,WAAI;IACjC,YAAY,OAAqB;QAC/B,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IACe,QAAQ;QACtB,OAAO,IAAA,gBAAG,EAAC,oBAAoB,CAAC,CAAC;IACnC,CAAC;IACe,SAAS;QACvB,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;YAC3C,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;YAClC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YAChC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;YAC7B,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;SAChC,CAAC;IACJ,CAAC;IACe,IAAI;QAClB,OAAO,cAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;IACxD,CAAC;IACe,QAAQ;QACtB,OAAO,cAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1D,CAAC;IACe,SAAS;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IACe,QAAQ;QACtB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IACe,WAAW;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AA/BD,8BA+BC"}
|
|
@@ -2,13 +2,20 @@ import { Import } from './import';
|
|
|
2
2
|
import { Source } from '@angular-devkit/schematics';
|
|
3
3
|
import { Schema as ApiGenSchema } from '../schema';
|
|
4
4
|
import { CsdlCallable, CsdlParameter } from '../metadata/csdl/csdl-function-action';
|
|
5
|
+
import { ODataMetadata } from '../metadata';
|
|
5
6
|
export declare class Callable {
|
|
6
7
|
protected callable: CsdlCallable;
|
|
8
|
+
callables: CsdlCallable[];
|
|
7
9
|
constructor(callable: CsdlCallable);
|
|
10
|
+
addOverload(callable: CsdlCallable): void;
|
|
8
11
|
name(): string;
|
|
9
|
-
isBound(): boolean
|
|
12
|
+
isBound(): boolean;
|
|
10
13
|
bindingParameter(): CsdlParameter | undefined;
|
|
11
|
-
parameters():
|
|
14
|
+
parameters(): {
|
|
15
|
+
binding: CsdlParameter | undefined;
|
|
16
|
+
required: CsdlParameter[];
|
|
17
|
+
optional: CsdlParameter[];
|
|
18
|
+
};
|
|
12
19
|
returnType(): import("../metadata/csdl/csdl-function-action").CsdlReturnType | undefined;
|
|
13
20
|
fullName(): string;
|
|
14
21
|
resourceFunction(): string;
|
|
@@ -49,3 +56,16 @@ export declare class Index extends Base {
|
|
|
49
56
|
fullName(): string;
|
|
50
57
|
importTypes(): string[];
|
|
51
58
|
}
|
|
59
|
+
export declare class Metadata extends Base {
|
|
60
|
+
private meta;
|
|
61
|
+
constructor(options: ApiGenSchema, meta: ODataMetadata);
|
|
62
|
+
template(): Source;
|
|
63
|
+
variables(): {
|
|
64
|
+
[name: string]: any;
|
|
65
|
+
};
|
|
66
|
+
name(): string;
|
|
67
|
+
fileName(): string;
|
|
68
|
+
directory(): string;
|
|
69
|
+
fullName(): string;
|
|
70
|
+
importTypes(): string[];
|
|
71
|
+
}
|
|
@@ -1,46 +1,53 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Index = exports.Base = exports.Callable = void 0;
|
|
3
|
+
exports.Metadata = exports.Index = exports.Base = exports.Callable = void 0;
|
|
4
4
|
const core_1 = require("@angular-devkit/core");
|
|
5
5
|
const random_1 = require("../../random");
|
|
6
6
|
const import_1 = require("./import");
|
|
7
7
|
const schematics_1 = require("@angular-devkit/schematics");
|
|
8
8
|
const csdl_function_action_1 = require("../metadata/csdl/csdl-function-action");
|
|
9
9
|
const utils_1 = require("../utils");
|
|
10
|
-
const makeRelativePath = (from, to) => {
|
|
11
|
-
if (from === '') {
|
|
12
|
-
return to;
|
|
13
|
-
}
|
|
14
|
-
if (to.startsWith(from)) {
|
|
15
|
-
return to.substring(from.length + 1);
|
|
16
|
-
}
|
|
17
|
-
let shared = from;
|
|
18
|
-
let i = 0;
|
|
19
|
-
while (shared.length > 0 && !to.startsWith(shared)) {
|
|
20
|
-
shared = shared.substring(0, shared.lastIndexOf('/'));
|
|
21
|
-
i++;
|
|
22
|
-
}
|
|
23
|
-
return (Array.from({ length: i }).fill('..').join('/') +
|
|
24
|
-
'/' +
|
|
25
|
-
to.substring(shared.length));
|
|
26
|
-
};
|
|
27
10
|
class Callable {
|
|
28
11
|
constructor(callable) {
|
|
29
12
|
this.callable = callable;
|
|
13
|
+
this.callables = [];
|
|
14
|
+
this.callables.push(callable);
|
|
15
|
+
}
|
|
16
|
+
addOverload(callable) {
|
|
17
|
+
this.callables.push(callable);
|
|
30
18
|
}
|
|
31
19
|
name() {
|
|
32
20
|
return this.callable.Name;
|
|
33
21
|
}
|
|
34
22
|
isBound() {
|
|
35
|
-
|
|
23
|
+
var _a;
|
|
24
|
+
return (_a = this.callable.IsBound) !== null && _a !== void 0 ? _a : false;
|
|
36
25
|
}
|
|
37
26
|
bindingParameter() {
|
|
38
27
|
var _a;
|
|
39
28
|
return (_a = this.callable.Parameter) === null || _a === void 0 ? void 0 : _a.find((p) => p.Name === csdl_function_action_1.BINDING_PARAMETER_NAME);
|
|
40
29
|
}
|
|
41
30
|
parameters() {
|
|
42
|
-
|
|
43
|
-
|
|
31
|
+
const parameters = this.callables.reduce((acc, c) => {
|
|
32
|
+
var _a;
|
|
33
|
+
for (let param of (_a = c.Parameter) !== null && _a !== void 0 ? _a : []) {
|
|
34
|
+
if (acc.some((p) => p.Name === param.Name))
|
|
35
|
+
continue;
|
|
36
|
+
acc.push(param);
|
|
37
|
+
}
|
|
38
|
+
return acc;
|
|
39
|
+
}, []);
|
|
40
|
+
const names = parameters.map((p) => p.Name);
|
|
41
|
+
const binding = parameters.find((p) => p.Name === csdl_function_action_1.BINDING_PARAMETER_NAME);
|
|
42
|
+
const inAllCallables = names.filter((n) => n !== csdl_function_action_1.BINDING_PARAMETER_NAME &&
|
|
43
|
+
this.callables.every((c) => { var _a; return ((_a = c.Parameter) !== null && _a !== void 0 ? _a : []).some((p) => p.Name === n); }));
|
|
44
|
+
const required = parameters.filter((p) => p.Name !== csdl_function_action_1.BINDING_PARAMETER_NAME && inAllCallables.includes(p.Name));
|
|
45
|
+
const optional = parameters.filter((p) => p.Name !== csdl_function_action_1.BINDING_PARAMETER_NAME && !inAllCallables.includes(p.Name));
|
|
46
|
+
return {
|
|
47
|
+
binding,
|
|
48
|
+
required,
|
|
49
|
+
optional,
|
|
50
|
+
};
|
|
44
51
|
}
|
|
45
52
|
returnType() {
|
|
46
53
|
return this.callable.ReturnType;
|
|
@@ -51,30 +58,33 @@ class Callable {
|
|
|
51
58
|
resourceFunction() {
|
|
52
59
|
const isFunction = this.callable instanceof csdl_function_action_1.CsdlFunction;
|
|
53
60
|
const methodName = core_1.strings.camelize(this.callable.Name);
|
|
54
|
-
const
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
: '';
|
|
61
|
+
const { binding, required, optional } = this.parameters();
|
|
62
|
+
const parameters = [...required, ...optional];
|
|
63
|
+
const bindingType = binding !== undefined ? (0, utils_1.toTypescriptType)(binding.Type) : '';
|
|
58
64
|
const returnType = this.returnType();
|
|
59
65
|
const retType = returnType === undefined ? 'null' : (0, utils_1.toTypescriptType)(returnType.Type);
|
|
60
|
-
const bindingMethod = !(
|
|
66
|
+
const bindingMethod = !(binding === null || binding === void 0 ? void 0 : binding.Collection) ? 'entity' : 'entities';
|
|
61
67
|
const baseMethod = isFunction ? 'function' : 'action';
|
|
62
|
-
const keyParameter = !(
|
|
68
|
+
const keyParameter = !(binding === null || binding === void 0 ? void 0 : binding.Collection)
|
|
63
69
|
? `key: EntityKey<${bindingType}>`
|
|
64
70
|
: '';
|
|
65
|
-
const key = !(
|
|
66
|
-
const parameters = this.parameters();
|
|
71
|
+
const key = !(binding === null || binding === void 0 ? void 0 : binding.Collection) ? `key` : '';
|
|
67
72
|
const parametersType = parameters.length === 0
|
|
68
73
|
? 'null'
|
|
69
|
-
: `{${parameters
|
|
74
|
+
: `{${parameters
|
|
75
|
+
.map((p) => {
|
|
76
|
+
const op = optional.includes(p);
|
|
77
|
+
return `${p.Name}${op ? '?' : ''}: ${(0, utils_1.toTypescriptType)(p.Type)}`;
|
|
78
|
+
})
|
|
79
|
+
.join(', ')}}`;
|
|
70
80
|
return `public ${methodName}(${keyParameter}) {
|
|
71
81
|
return this.${bindingMethod}(${key}).${baseMethod}<${parametersType}, ${retType}>('${this.fullName()}');
|
|
72
82
|
}`;
|
|
73
83
|
}
|
|
74
84
|
callableFunction() {
|
|
75
85
|
const isFunction = this.callable instanceof csdl_function_action_1.CsdlFunction;
|
|
76
|
-
const
|
|
77
|
-
const parameters =
|
|
86
|
+
const { binding, required, optional } = this.parameters();
|
|
87
|
+
const parameters = [...required, ...optional];
|
|
78
88
|
const returnType = this.returnType();
|
|
79
89
|
const methodResourceName = core_1.strings.camelize(this.callable.Name);
|
|
80
90
|
const methodName = core_1.strings.classify(this.callable.Name);
|
|
@@ -86,22 +96,24 @@ class Callable {
|
|
|
86
96
|
? 'property'
|
|
87
97
|
: 'entity';
|
|
88
98
|
const retType = returnType === undefined ? 'null' : (0, utils_1.toTypescriptType)(returnType.Type);
|
|
89
|
-
const bindingType =
|
|
90
|
-
? (0, utils_1.toTypescriptType)(bindingParameter.Type)
|
|
91
|
-
: '';
|
|
99
|
+
const bindingType = binding !== undefined ? (0, utils_1.toTypescriptType)(binding.Type) : '';
|
|
92
100
|
const baseMethod = isFunction ? 'callFunction' : 'callAction';
|
|
93
101
|
const parametersCall = parameters.length === 0
|
|
94
102
|
? 'null'
|
|
95
103
|
: `{${parameters.map((p) => p.Name).join(', ')}}`;
|
|
96
104
|
// Method arguments
|
|
97
|
-
let args = !(
|
|
98
|
-
? [`key: EntityKey<${bindingType}>`]
|
|
99
|
-
: [];
|
|
105
|
+
let args = !(binding === null || binding === void 0 ? void 0 : binding.Collection) ? [`key: EntityKey<${bindingType}>`] : [];
|
|
100
106
|
args = [
|
|
101
107
|
...args,
|
|
102
|
-
...(
|
|
108
|
+
...(required.length === 0
|
|
103
109
|
? []
|
|
104
|
-
:
|
|
110
|
+
: required.map((p) => `${p.Name}: ${(0, utils_1.toTypescriptType)(p.Type)}`)),
|
|
111
|
+
];
|
|
112
|
+
args = [
|
|
113
|
+
...args,
|
|
114
|
+
...(optional.length === 0
|
|
115
|
+
? []
|
|
116
|
+
: optional.map((p) => `${p.Name}?: ${(0, utils_1.toTypescriptType)(p.Type)}`)),
|
|
105
117
|
];
|
|
106
118
|
const optionsType = returnType !== undefined && returnType.Type.startsWith('Edm.')
|
|
107
119
|
? isFunction
|
|
@@ -112,7 +124,7 @@ class Callable {
|
|
|
112
124
|
: `ODataActionOptions<${retType}>`;
|
|
113
125
|
args.push(`options?: ${optionsType}`);
|
|
114
126
|
// Key parameter
|
|
115
|
-
const key = !(
|
|
127
|
+
const key = !(binding === null || binding === void 0 ? void 0 : binding.Collection) ? `key` : '';
|
|
116
128
|
// Render
|
|
117
129
|
return `public call${methodName}(${args.join(', ')}) {
|
|
118
130
|
return this.${baseMethod}(${parametersCall}, this.${methodResourceName}(${key}), '${responseType}', options);
|
|
@@ -135,7 +147,7 @@ class Base {
|
|
|
135
147
|
const groups = this.dependencies
|
|
136
148
|
.filter((a) => a[1].path() != this.path())
|
|
137
149
|
.reduce((acc, i) => {
|
|
138
|
-
const path = makeRelativePath(this.directory(), i[1].path());
|
|
150
|
+
const path = (0, utils_1.makeRelativePath)(this.directory(), i[1].path());
|
|
139
151
|
if (acc[path] === undefined) {
|
|
140
152
|
acc[path] = [];
|
|
141
153
|
}
|
|
@@ -197,4 +209,32 @@ class Index extends Base {
|
|
|
197
209
|
}
|
|
198
210
|
}
|
|
199
211
|
exports.Index = Index;
|
|
212
|
+
class Metadata extends Base {
|
|
213
|
+
constructor(options, meta) {
|
|
214
|
+
super(options);
|
|
215
|
+
this.meta = meta;
|
|
216
|
+
}
|
|
217
|
+
template() {
|
|
218
|
+
return (0, schematics_1.url)('./files/metadata');
|
|
219
|
+
}
|
|
220
|
+
variables() {
|
|
221
|
+
return { content: JSON.stringify(this.meta.toJson(), null, 2) };
|
|
222
|
+
}
|
|
223
|
+
name() {
|
|
224
|
+
return '';
|
|
225
|
+
}
|
|
226
|
+
fileName() {
|
|
227
|
+
return 'metadata';
|
|
228
|
+
}
|
|
229
|
+
directory() {
|
|
230
|
+
return '';
|
|
231
|
+
}
|
|
232
|
+
fullName() {
|
|
233
|
+
return this.name();
|
|
234
|
+
}
|
|
235
|
+
importTypes() {
|
|
236
|
+
return [];
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
exports.Metadata = Metadata;
|
|
200
240
|
//# sourceMappingURL=base.js.map
|