angular-odata 0.130.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/fesm2022/angular-odata.mjs +2298 -2162
- 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/loaders.d.ts +8 -8
- package/lib/metadata/csdl/csdl-annotation.d.ts +3 -3
- package/lib/metadata/csdl/csdl-entity-container.d.ts +2 -2
- package/lib/metadata/csdl/csdl-entity-set.d.ts +2 -2
- package/lib/metadata/csdl/csdl-enum-type.d.ts +3 -3
- package/lib/metadata/csdl/csdl-function-action.d.ts +4 -4
- package/lib/metadata/csdl/csdl-reference.d.ts +2 -2
- package/lib/metadata/csdl/csdl-schema.d.ts +2 -2
- package/lib/metadata/csdl/csdl-structural-property.d.ts +3 -3
- package/lib/metadata/csdl/csdl-structured-type.d.ts +3 -3
- package/lib/metadata/metadata.d.ts +2 -2
- package/lib/models/options.d.ts +2 -2
- package/lib/module.d.ts +3 -3
- package/lib/options.d.ts +3 -3
- 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 +4 -3
- 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/handlers.d.ts +17 -5
- package/lib/resources/resource.d.ts +5 -5
- package/lib/resources/types/action.d.ts +2 -2
- package/lib/resources/types/entity-set.d.ts +2 -2
- package/lib/resources/types/navigation-property.d.ts +2 -2
- package/lib/resources/types/property.d.ts +2 -2
- 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 +2 -2
- package/lib/schema/parsers/callable.d.ts +4 -4
- package/lib/schema/parsers/enum-type.d.ts +3 -3
- package/lib/schema/parsers/structured-type.d.ts +4 -4
- package/lib/schema/schema.d.ts +3 -3
- package/lib/schema/singleton.d.ts +2 -2
- package/lib/schema/structured-type.d.ts +3 -3
- package/lib/services/entity.d.ts +1 -1
- package/lib/settings.d.ts +2 -2
- package/lib/types.d.ts +76 -74
- package/lib/utils/odata.d.ts +2 -2
- package/package.json +3 -5
- package/schematics/apigen/files/api-config/__fileName__.ts +4 -4
- package/esm2022/angular-odata.mjs +0 -5
- package/esm2022/lib/annotations.mjs +0 -146
- package/esm2022/lib/api.mjs +0 -439
- package/esm2022/lib/cache/cache.mjs +0 -177
- package/esm2022/lib/cache/index.mjs +0 -4
- package/esm2022/lib/cache/memory.mjs +0 -30
- package/esm2022/lib/cache/storage.mjs +0 -57
- package/esm2022/lib/client.mjs +0 -215
- package/esm2022/lib/constants.mjs +0 -95
- package/esm2022/lib/helper.mjs +0 -288
- package/esm2022/lib/index.mjs +0 -22
- package/esm2022/lib/loaders.mjs +0 -43
- package/esm2022/lib/metadata/csdl/csdl-annotation.mjs +0 -273
- package/esm2022/lib/metadata/csdl/csdl-entity-container.mjs +0 -59
- package/esm2022/lib/metadata/csdl/csdl-entity-set.mjs +0 -50
- package/esm2022/lib/metadata/csdl/csdl-enum-type.mjs +0 -74
- package/esm2022/lib/metadata/csdl/csdl-function-action.mjs +0 -204
- package/esm2022/lib/metadata/csdl/csdl-navigation-property-binding.mjs +0 -15
- package/esm2022/lib/metadata/csdl/csdl-reference.mjs +0 -76
- package/esm2022/lib/metadata/csdl/csdl-schema.mjs +0 -87
- package/esm2022/lib/metadata/csdl/csdl-singleton.mjs +0 -37
- package/esm2022/lib/metadata/csdl/csdl-structural-property.mjs +0 -145
- package/esm2022/lib/metadata/csdl/csdl-structured-type.mjs +0 -159
- package/esm2022/lib/metadata/csdl/csdl-type-definition.mjs +0 -46
- package/esm2022/lib/metadata/index.mjs +0 -3
- package/esm2022/lib/metadata/metadata.mjs +0 -41
- package/esm2022/lib/metadata/parser.mjs +0 -564
- package/esm2022/lib/models/collection.mjs +0 -816
- package/esm2022/lib/models/index.mjs +0 -4
- package/esm2022/lib/models/model.mjs +0 -577
- package/esm2022/lib/models/options.mjs +0 -1227
- package/esm2022/lib/module.mjs +0 -55
- package/esm2022/lib/options.mjs +0 -91
- package/esm2022/lib/resources/index.mjs +0 -7
- package/esm2022/lib/resources/options.mjs +0 -66
- package/esm2022/lib/resources/path/handlers.mjs +0 -81
- package/esm2022/lib/resources/path/index.mjs +0 -3
- package/esm2022/lib/resources/path/segments.mjs +0 -149
- package/esm2022/lib/resources/query/builder.mjs +0 -645
- package/esm2022/lib/resources/query/expressions/apply.mjs +0 -238
- package/esm2022/lib/resources/query/expressions/base.mjs +0 -26
- package/esm2022/lib/resources/query/expressions/compute.mjs +0 -55
- package/esm2022/lib/resources/query/expressions/count.mjs +0 -118
- package/esm2022/lib/resources/query/expressions/expand.mjs +0 -154
- package/esm2022/lib/resources/query/expressions/filter.mjs +0 -180
- package/esm2022/lib/resources/query/expressions/index.mjs +0 -10
- package/esm2022/lib/resources/query/expressions/orderby.mjs +0 -81
- package/esm2022/lib/resources/query/expressions/search.mjs +0 -144
- package/esm2022/lib/resources/query/expressions/select.mjs +0 -49
- package/esm2022/lib/resources/query/expressions/syntax.mjs +0 -770
- package/esm2022/lib/resources/query/handlers.mjs +0 -423
- package/esm2022/lib/resources/query/index.mjs +0 -5
- package/esm2022/lib/resources/query/options.mjs +0 -140
- package/esm2022/lib/resources/request.mjs +0 -210
- package/esm2022/lib/resources/resource.mjs +0 -316
- package/esm2022/lib/resources/response.mjs +0 -180
- package/esm2022/lib/resources/types/action.mjs +0 -118
- 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 -149
- 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 -246
- package/esm2022/lib/resources/types/options.mjs +0 -2
- package/esm2022/lib/resources/types/property.mjs +0 -187
- package/esm2022/lib/resources/types/reference.mjs +0 -87
- package/esm2022/lib/resources/types/singleton.mjs +0 -125
- package/esm2022/lib/resources/types/value.mjs +0 -48
- package/esm2022/lib/schema/annotation.mjs +0 -44
- package/esm2022/lib/schema/callable.mjs +0 -69
- package/esm2022/lib/schema/element.mjs +0 -70
- package/esm2022/lib/schema/entity-container.mjs +0 -13
- package/esm2022/lib/schema/entity-set.mjs +0 -11
- package/esm2022/lib/schema/enum-type.mjs +0 -69
- package/esm2022/lib/schema/index.mjs +0 -9
- package/esm2022/lib/schema/parsers/callable.mjs +0 -123
- package/esm2022/lib/schema/parsers/edm.mjs +0 -101
- package/esm2022/lib/schema/parsers/enum-type.mjs +0 -148
- package/esm2022/lib/schema/parsers/index.mjs +0 -5
- package/esm2022/lib/schema/parsers/structured-type.mjs +0 -548
- package/esm2022/lib/schema/schema.mjs +0 -52
- package/esm2022/lib/schema/singleton.mjs +0 -11
- package/esm2022/lib/schema/structured-type.mjs +0 -220
- package/esm2022/lib/services/base.mjs +0 -32
- package/esm2022/lib/services/entity-set.mjs +0 -161
- package/esm2022/lib/services/entity.mjs +0 -12
- package/esm2022/lib/services/factory.mjs +0 -39
- package/esm2022/lib/services/index.mjs +0 -5
- package/esm2022/lib/services/singleton.mjs +0 -55
- package/esm2022/lib/settings.mjs +0 -113
- 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
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
import { CsdlAnnotable } from './csdl-annotation';
|
|
2
|
-
export const BINDING_PARAMETER_NAME = 'bindingParameter';
|
|
3
|
-
export class CsdlCallable {
|
|
4
|
-
schema;
|
|
5
|
-
Name;
|
|
6
|
-
ReturnType;
|
|
7
|
-
IsBound;
|
|
8
|
-
EntitySetPath;
|
|
9
|
-
Parameter;
|
|
10
|
-
constructor(schema, { Name, ReturnType, IsBound, EntitySetPath, Parameter, }) {
|
|
11
|
-
this.schema = schema;
|
|
12
|
-
this.Name = Name;
|
|
13
|
-
this.ReturnType = ReturnType ? new CsdlReturnType(ReturnType) : undefined;
|
|
14
|
-
this.IsBound = IsBound;
|
|
15
|
-
this.EntitySetPath = EntitySetPath;
|
|
16
|
-
this.Parameter = Parameter?.map((p) => new CsdlParameter(p));
|
|
17
|
-
}
|
|
18
|
-
toJson() {
|
|
19
|
-
const json = {
|
|
20
|
-
Name: this.Name,
|
|
21
|
-
};
|
|
22
|
-
if (this.ReturnType !== undefined) {
|
|
23
|
-
json['ReturnType'] = this.ReturnType.toJson();
|
|
24
|
-
}
|
|
25
|
-
if (this.IsBound !== undefined) {
|
|
26
|
-
json['IsBound'] = this.IsBound;
|
|
27
|
-
}
|
|
28
|
-
if (this.EntitySetPath !== undefined) {
|
|
29
|
-
json['EntitySetPath'] = this.EntitySetPath;
|
|
30
|
-
}
|
|
31
|
-
if (Array.isArray(this.Parameter) && this.Parameter.length > 0) {
|
|
32
|
-
json['Parameter'] = this.Parameter.map((p) => p.toJson());
|
|
33
|
-
}
|
|
34
|
-
return json;
|
|
35
|
-
}
|
|
36
|
-
name() {
|
|
37
|
-
return `${this.Name}`;
|
|
38
|
-
}
|
|
39
|
-
namespace() {
|
|
40
|
-
return `${this.schema.Namespace}`;
|
|
41
|
-
}
|
|
42
|
-
fullName() {
|
|
43
|
-
return `${this.namespace()}.${this.Name}`;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
export class CsdlFunction extends CsdlCallable {
|
|
47
|
-
IsComposable;
|
|
48
|
-
constructor(schema, { Name, ReturnType, IsBound, EntitySetPath, IsComposable, Parameter, }) {
|
|
49
|
-
super(schema, { Name, ReturnType, IsBound, EntitySetPath, Parameter });
|
|
50
|
-
this.IsComposable = IsComposable;
|
|
51
|
-
}
|
|
52
|
-
toJson() {
|
|
53
|
-
return {
|
|
54
|
-
...super.toJson(),
|
|
55
|
-
IsComposable: this.IsComposable,
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
toConfig(base) {
|
|
59
|
-
return {
|
|
60
|
-
name: this.Name,
|
|
61
|
-
entitySetPath: this.EntitySetPath,
|
|
62
|
-
bound: this.IsBound,
|
|
63
|
-
composable: this.IsComposable,
|
|
64
|
-
parameters: this.Parameter?.map((p) => p.toConfig()),
|
|
65
|
-
return: this.ReturnType?.toConfig(),
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
export class CsdlAction extends CsdlCallable {
|
|
70
|
-
constructor(schema, { Name, ReturnType, IsBound, EntitySetPath, Parameter, }) {
|
|
71
|
-
super(schema, { Name, ReturnType, IsBound, EntitySetPath, Parameter });
|
|
72
|
-
}
|
|
73
|
-
toJson() {
|
|
74
|
-
return {
|
|
75
|
-
...super.toJson(),
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
toConfig(base) {
|
|
79
|
-
return {
|
|
80
|
-
name: this.Name,
|
|
81
|
-
entitySetPath: this.EntitySetPath,
|
|
82
|
-
bound: this.IsBound,
|
|
83
|
-
parameters: this.Parameter?.map((p) => p.toConfig()),
|
|
84
|
-
return: this.ReturnType?.toConfig(),
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
export class CsdlFunctionImport {
|
|
89
|
-
container;
|
|
90
|
-
Name;
|
|
91
|
-
FunctionName;
|
|
92
|
-
EntitySet;
|
|
93
|
-
IncludeInServiceDocument;
|
|
94
|
-
constructor(container, { Name, FunctionName, EntitySet, IncludeInServiceDocument, }) {
|
|
95
|
-
this.container = container;
|
|
96
|
-
this.Name = Name;
|
|
97
|
-
this.FunctionName = FunctionName;
|
|
98
|
-
this.EntitySet = EntitySet;
|
|
99
|
-
this.IncludeInServiceDocument = IncludeInServiceDocument;
|
|
100
|
-
}
|
|
101
|
-
toJson() {
|
|
102
|
-
return {
|
|
103
|
-
Name: this.Name,
|
|
104
|
-
FunctionName: this.FunctionName,
|
|
105
|
-
EntitySet: this.EntitySet,
|
|
106
|
-
IncludeInServiceDocument: this.IncludeInServiceDocument,
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
export class CsdlActionImport {
|
|
111
|
-
container;
|
|
112
|
-
Name;
|
|
113
|
-
Action;
|
|
114
|
-
EntitySet;
|
|
115
|
-
constructor(container, { Name, Action, EntitySet, }) {
|
|
116
|
-
this.container = container;
|
|
117
|
-
this.Name = Name;
|
|
118
|
-
this.Action = Action;
|
|
119
|
-
this.EntitySet = EntitySet;
|
|
120
|
-
}
|
|
121
|
-
toJson() {
|
|
122
|
-
return {
|
|
123
|
-
Name: this.Name,
|
|
124
|
-
Action: this.Action,
|
|
125
|
-
EntitySet: this.EntitySet,
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
export class CsdlParameter extends CsdlAnnotable {
|
|
130
|
-
Name;
|
|
131
|
-
Type;
|
|
132
|
-
Collection;
|
|
133
|
-
Nullable;
|
|
134
|
-
MaxLength;
|
|
135
|
-
Precision;
|
|
136
|
-
Scale;
|
|
137
|
-
SRID;
|
|
138
|
-
constructor({ Name, Type, Nullable, MaxLength, Precision, Scale, SRID, Annotation, }) {
|
|
139
|
-
super({ Annotation });
|
|
140
|
-
this.Name = Name;
|
|
141
|
-
this.Collection = Type.startsWith('Collection(');
|
|
142
|
-
this.Type = this.Collection ? Type.substring(11, Type.length - 1) : Type;
|
|
143
|
-
this.Nullable = Nullable;
|
|
144
|
-
this.MaxLength = MaxLength;
|
|
145
|
-
this.Precision = Precision;
|
|
146
|
-
this.Scale = Scale;
|
|
147
|
-
this.SRID = SRID;
|
|
148
|
-
}
|
|
149
|
-
toJson() {
|
|
150
|
-
return {
|
|
151
|
-
...super.toJson(),
|
|
152
|
-
Name: this.Name,
|
|
153
|
-
Type: this.Collection ? `Collection(${this.Type})` : this.Type,
|
|
154
|
-
Nullable: this.Nullable,
|
|
155
|
-
MaxLength: this.MaxLength,
|
|
156
|
-
Precision: this.Precision,
|
|
157
|
-
Scale: this.Scale,
|
|
158
|
-
SRID: this.SRID,
|
|
159
|
-
};
|
|
160
|
-
}
|
|
161
|
-
toConfig() {
|
|
162
|
-
return {
|
|
163
|
-
...super.toConfig(),
|
|
164
|
-
type: this.Type,
|
|
165
|
-
nullable: this.Nullable,
|
|
166
|
-
collection: false,
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
export class CsdlReturnType {
|
|
171
|
-
Type;
|
|
172
|
-
Collection;
|
|
173
|
-
Nullable;
|
|
174
|
-
MaxLength;
|
|
175
|
-
Precision;
|
|
176
|
-
Scale;
|
|
177
|
-
SRID;
|
|
178
|
-
constructor({ Type, Nullable, MaxLength, Precision, Scale, SRID, }) {
|
|
179
|
-
this.Collection = Type.startsWith('Collection(');
|
|
180
|
-
this.Type = this.Collection ? Type.substring(11, Type.length - 1) : Type;
|
|
181
|
-
this.Nullable = Nullable;
|
|
182
|
-
this.MaxLength = MaxLength;
|
|
183
|
-
this.Precision = Precision;
|
|
184
|
-
this.Scale = Scale;
|
|
185
|
-
this.SRID = SRID;
|
|
186
|
-
}
|
|
187
|
-
toJson() {
|
|
188
|
-
return {
|
|
189
|
-
Type: this.Collection ? `Collection(${this.Type})` : this.Type,
|
|
190
|
-
Nullable: this.Nullable,
|
|
191
|
-
MaxLength: this.MaxLength,
|
|
192
|
-
Precision: this.Precision,
|
|
193
|
-
Scale: this.Scale,
|
|
194
|
-
SRID: this.SRID,
|
|
195
|
-
};
|
|
196
|
-
}
|
|
197
|
-
toConfig() {
|
|
198
|
-
return {
|
|
199
|
-
type: this.Type,
|
|
200
|
-
collection: false,
|
|
201
|
-
};
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NkbC1mdW5jdGlvbi1hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvbWV0YWRhdGEvY3NkbC9jc2RsLWZ1bmN0aW9uLWFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJbEQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQVcsa0JBQWtCLENBQUM7QUFFakUsTUFBTSxPQUFPLFlBQVk7SUFRYjtJQVBWLElBQUksQ0FBUztJQUNiLFVBQVUsQ0FBa0I7SUFDNUIsT0FBTyxDQUFXO0lBQ2xCLGFBQWEsQ0FBVTtJQUN2QixTQUFTLENBQW1CO0lBRTVCLFlBQ1UsTUFBa0IsRUFDMUIsRUFDRSxJQUFJLEVBQ0osVUFBVSxFQUNWLE9BQU8sRUFDUCxhQUFhLEVBQ2IsU0FBUyxHQU9WO1FBYk8sV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQWUxQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUMxRSxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELE1BQU07UUFDSixNQUFNLElBQUksR0FBMkI7WUFDbkMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1NBQ2hCLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxVQUFV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QUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3pFLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxjQUFjLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUk7WUFDOUQsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNoQixDQUFDO0lBQ0osQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsVUFBVSxFQUFFLEtBQUs7U0FDbEIsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhbGxhYmxlQ29uZmlnLCBQYXJhbWV0ZXJDb25maWcgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBDc2RsQW5ub3RhYmxlIH0gZnJvbSAnLi9jc2RsLWFubm90YXRpb24nO1xuaW1wb3J0IHR5cGUgeyBDc2RsRW50aXR5Q29udGFpbmVyIH0gZnJvbSAnLi9jc2RsLWVudGl0eS1jb250YWluZXInO1xuaW1wb3J0IHR5cGUgeyBDc2RsU2NoZW1hIH0gZnJvbSAnLi9jc2RsLXNjaGVtYSc7XG5cbmV4cG9ydCBjb25zdCBCSU5ESU5HX1BBUkFNRVRFUl9OQU1FOiBzdHJpbmcgPSAnYmluZGluZ1BhcmFtZXRlcic7XG5cbmV4cG9ydCBjbGFzcyBDc2RsQ2FsbGFibGUge1xuICBOYW1lOiBzdHJpbmc7XG4gIFJldHVyblR5cGU/OiBDc2RsUmV0dXJuVHlwZTtcbiAgSXNCb3VuZD86IGJvb2xlYW47XG4gIEVudGl0eVNldFBhdGg/OiBzdHJpbmc7XG4gIFBhcmFtZXRlcj86IENzZGxQYXJhbWV0ZXJbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNjaGVtYTogQ3NkbFNjaGVtYSxcbiAgICB7XG4gICAgICBOYW1lLFxuICAgICAgUmV0dXJuVHlwZSxcbiAgICAgIElzQm91bmQsXG4gICAgICBFbnRpdHlTZXRQYXRoLFxuICAgICAgUGFyYW1ldGVyLFxuICAgIH06IHtcbiAgICAgIE5hbWU6IHN0cmluZztcbiAgICAgIFJldHVyblR5cGU/OiBhbnk7XG4gICAgICBJc0JvdW5kPzogYm9vbGVhbjtcbiAgICAgIEVudGl0eVNldFBhdGg/OiBzdHJpbmc7XG4gICAgICBQYXJhbWV0ZXI/OiBhbnlbXTtcbiAgICB9LFxuICApIHtcbiAgICB0aGlzLk5hbWUgPSBOYW1lO1xuICAgIHRoaXMuUmV0dXJuVHlwZSA9IFJldHVyblR5cGUgPyBuZXcgQ3NkbFJldHVyblR5cGUoUmV0dXJuVHlwZSkgOiB1bmRlZmluZWQ7XG4gICAgdGhpcy5Jc0JvdW5kID0gSXNCb3VuZDtcbiAgICB0aGlzLkVudGl0eVNldFBhdGggPSBFbnRpdHlTZXRQYXRoO1xuICAgIHRoaXMuUGFyYW1ldGVyID0gUGFyYW1ldGVyPy5tYXAoKHApID0+IG5ldyBDc2RsUGFyYW1ldGVyKHApKTtcbiAgfVxuXG4gIHRvSnNvbigpIHtcbiAgICBjb25zdCBqc29uOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge1xuICAgICAgTmFtZTogdGhpcy5OYW1lLFxuICAgIH07XG4gICAgaWYgKHRoaXMuUmV0dXJuVHlwZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBqc29uWydSZXR1cm5UeXBlJ10gPSB0aGlzLlJldHVyblR5cGUudG9Kc29uKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLklzQm91bmQgIT09IHVuZGVmaW5lZCkge1xuICAgICAganNvblsnSXNCb3VuZCddID0gdGhpcy5Jc0JvdW5kO1xuICAgIH1cbiAgICBpZiAodGhpcy5FbnRpdHlTZXRQYXRoICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGpzb25bJ0VudGl0eVNldFBhdGgnXSA9IHRoaXMuRW50aXR5U2V0UGF0aDtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5QYXJhbWV0ZXIpICYmIHRoaXMuUGFyYW1ldGVyLmxlbmd0aCA+IDApIHtcbiAgICAgIGpzb25bJ1BhcmFtZXRlciddID0gdGhpcy5QYXJhbWV0ZXIubWFwKChwKSA9PiBwLnRvSnNvbigpKTtcbiAgICB9XG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBuYW1lKCkge1xuICAgIHJldHVybiBgJHt0aGlzLk5hbWV9YDtcbiAgfVxuICBuYW1lc3BhY2UoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuc2NoZW1hLk5hbWVzcGFjZX1gO1xuICB9XG4gIGZ1bGxOYW1lKCkge1xuICAgIHJldHVybiBgJHt0aGlzLm5hbWVzcGFjZSgpfS4ke3RoaXMuTmFtZX1gO1xuICB9XG59XG5leHBvcnQgY2xhc3MgQ3NkbEZ1bmN0aW9uIGV4dGVuZHMgQ3NkbENhbGxhYmxlIHtcbiAgSXNDb21wb3NhYmxlPzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY2hlbWE6IENzZGxTY2hlbWEsXG4gICAge1xuICAgICAgTmFtZSxcbiAgICAgIFJldHVyblR5cGUsXG4gICAgICBJc0JvdW5kLFxuICAgICAgRW50aXR5U2V0UGF0aCxcbiAgICAgIElzQ29tcG9zYWJsZSxcbiAgICAgIFBhcmFtZXRlcixcbiAgICB9OiB7XG4gICAgICBOYW1lOiBzdHJpbmc7XG4gICAgICBSZXR1cm5UeXBlOiBhbnk7XG4gICAgICBJc0JvdW5kPzogYm9vbGVhbjtcbiAgICAgIEVudGl0eVNldFBhdGg/OiBzdHJpbmc7XG4gICAgICBJc0NvbXBvc2FibGU/OiBib29sZWFuO1xuICAgICAgUGFyYW1ldGVyPzogYW55W107XG4gICAgfSxcbiAgKSB7XG4gICAgc3VwZXIoc2NoZW1hLCB7IE5hbWUsIFJldHVyblR5cGUsIElzQm91bmQsIEVudGl0eVNldFBhdGgsIFBhcmFtZXRlciB9KTtcbiAgICB0aGlzLklzQ29tcG9zYWJsZSA9IElzQ29tcG9zYWJsZTtcbiAgfVxuXG4gIG92ZXJyaWRlIHRvSnNvbigpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3VwZXIudG9Kc29uKCksXG4gICAgICBJc0NvbXBvc2FibGU6IHRoaXMuSXNDb21wb3NhYmxlLFxuICAgIH07XG4gIH1cblxuICB0b0NvbmZpZyhiYXNlPzogUGFydGlhbDxDYWxsYWJsZUNvbmZpZz4pOiBDYWxsYWJsZUNvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IHRoaXMuTmFtZSxcbiAgICAgIGVudGl0eVNldFBhdGg6IHRoaXMuRW50aXR5U2V0UGF0aCxcbiAgICAgIGJvdW5kOiB0aGlzLklzQm91bmQsXG4gICAgICBjb21wb3NhYmxlOiB0aGlzLklzQ29tcG9zYWJsZSxcbiAgICAgIHBhcmFtZXRlcnM6IHRoaXMuUGFyYW1ldGVyPy5tYXAoKHApID0+IHAudG9Db25maWcoKSksXG4gICAgICByZXR1cm46IHRoaXMuUmV0dXJuVHlwZT8udG9Db25maWcoKSxcbiAgICB9IGFzIENhbGxhYmxlQ29uZmlnO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDc2RsQWN0aW9uIGV4dGVuZHMgQ3NkbENhbGxhYmxlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgc2NoZW1hOiBDc2RsU2NoZW1hLFxuICAgIHtcbiAgICAgIE5hbWUsXG4gICAgICBSZXR1cm5UeXBlLFxuICAgICAgSXNCb3VuZCxcbiAgICAgIEVudGl0eVNldFBhdGgsXG4gICAgICBQYXJhbWV0ZXIsXG4gICAgfToge1xuICAgICAgTmFtZTogc3RyaW5nO1xuICAgICAgUmV0dXJuVHlwZT86IGFueTtcbiAgICAgIElzQm91bmQ/OiBib29sZWFuO1xuICAgICAgRW50aXR5U2V0UGF0aD86IHN0cmluZztcbiAgICAgIFBhcmFtZXRlcj86IGFueVtdO1xuICAgIH0sXG4gICkge1xuICAgIHN1cGVyKHNjaGVtYSwgeyBOYW1lLCBSZXR1cm5UeXBlLCBJc0JvdW5kLCBFbnRpdHlTZXRQYXRoLCBQYXJhbWV0ZXIgfSk7XG4gIH1cblxuICBvdmVycmlkZSB0b0pzb24oKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN1cGVyLnRvSnNvbigpLFxuICAgIH07XG4gIH1cblxuICB0b0NvbmZpZyhiYXNlPzogUGFydGlhbDxDYWxsYWJsZUNvbmZpZz4pOiBDYWxsYWJsZUNvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IHRoaXMuTmFtZSxcbiAgICAgIGVudGl0eVNldFBhdGg6IHRoaXMuRW50aXR5U2V0UGF0aCxcbiAgICAgIGJvdW5kOiB0aGlzLklzQm91bmQsXG4gICAgICBwYXJhbWV0ZXJzOiB0aGlzLlBhcmFtZXRlcj8ubWFwKChwKSA9PiBwLnRvQ29uZmlnKCkpLFxuICAgICAgcmV0dXJuOiB0aGlzLlJldHVyblR5cGU/LnRvQ29uZmlnKCksXG4gICAgfSBhcyBDYWxsYWJsZUNvbmZpZztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ3NkbEZ1bmN0aW9uSW1wb3J0IHtcbiAgTmFtZTogc3RyaW5nO1xuICBGdW5jdGlvbk5hbWU6IHN0cmluZztcbiAgRW50aXR5U2V0Pzogc3RyaW5nO1xuICBJbmNsdWRlSW5TZXJ2aWNlRG9jdW1lbnQ/OiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29udGFpbmVyOiBDc2RsRW50aXR5Q29udGFpbmVyLFxuICAgIHtcbiAgICAgIE5hbWUsXG4gICAgICBGdW5jdGlvbk5hbWUsXG4gICAgICBFbnRpdHlTZXQsXG4gICAgICBJbmNsdWRlSW5TZXJ2aWNlRG9jdW1lbnQsXG4gICAgfToge1xuICAgICAgTmFtZTogc3RyaW5nO1xuICAgICAgRnVuY3Rpb25OYW1lOiBzdHJpbmc7XG4gICAgICBFbnRpdHlTZXQ/OiBzdHJpbmc7XG4gICAgICBJbmNsdWRlSW5TZXJ2aWNlRG9jdW1lbnQ/OiBib29sZWFuO1xuICAgIH0sXG4gICkge1xuICAgIHRoaXMuTmFtZSA9IE5hbWU7XG4gICAgdGhpcy5GdW5jdGlvbk5hbWUgPSBGdW5jdGlvbk5hbWU7XG4gICAgdGhpcy5FbnRpdHlTZXQgPSBFbnRpdHlTZXQ7XG4gICAgdGhpcy5JbmNsdWRlSW5TZXJ2aWNlRG9jdW1lbnQgPSBJbmNsdWRlSW5TZXJ2aWNlRG9jdW1lbnQ7XG4gIH1cblxuICB0b0pzb24oKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIE5hbWU6IHRoaXMuTmFtZSxcbiAgICAgIEZ1bmN0aW9uTmFtZTogdGhpcy5GdW5jdGlvbk5hbWUsXG4gICAgICBFbnRpdHlTZXQ6IHRoaXMuRW50aXR5U2V0LFxuICAgICAgSW5jbHVkZUluU2VydmljZURvY3VtZW50OiB0aGlzLkluY2x1ZGVJblNlcnZpY2VEb2N1bWVudCxcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDc2RsQWN0aW9uSW1wb3J0IHtcbiAgTmFtZTogc3RyaW5nO1xuICBBY3Rpb246IHN0cmluZztcbiAgRW50aXR5U2V0Pzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29udGFpbmVyOiBDc2RsRW50aXR5Q29udGFpbmVyLFxuICAgIHtcbiAgICAgIE5hbWUsXG4gICAgICBBY3Rpb24sXG4gICAgICBFbnRpdHlTZXQsXG4gICAgfToge1xuICAgICAgTmFtZTogc3RyaW5nO1xuICAgICAgQWN0aW9uOiBzdHJpbmc7XG4gICAgICBFbnRpdHlTZXQ/OiBzdHJpbmc7XG4gICAgfSxcbiAgKSB7XG4gICAgdGhpcy5OYW1lID0gTmFtZTtcbiAgICB0aGlzLkFjdGlvbiA9IEFjdGlvbjtcbiAgICB0aGlzLkVudGl0eVNldCA9IEVudGl0eVNldDtcbiAgfVxuXG4gIHRvSnNvbigpIHtcbiAgICByZXR1cm4ge1xuICAgICAgTmFtZTogdGhpcy5OYW1lLFxuICAgICAgQWN0aW9uOiB0aGlzLkFjdGlvbixcbiAgICAgIEVudGl0eVNldDogdGhpcy5FbnRpdHlTZXQsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ3NkbFBhcmFtZXRlciBleHRlbmRzIENzZGxBbm5vdGFibGUge1xuICBOYW1lOiBzdHJpbmc7XG4gIFR5cGU6IHN0cmluZztcbiAgQ29sbGVjdGlvbjogYm9vbGVhbjtcbiAgTnVsbGFibGU/OiBib29sZWFuO1xuICBNYXhMZW5ndGg/OiBudW1iZXI7XG4gIFByZWNpc2lvbj86IG51bWJlcjtcbiAgU2NhbGU/OiBudW1iZXI7XG4gIFNSSUQ/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioe1xuICAgIE5hbWUsXG4gICAgVHlwZSxcbiAgICBOdWxsYWJsZSxcbiAgICBNYXhMZW5ndGgsXG4gICAgUHJlY2lzaW9uLFxuICAgIFNjYWxlLFxuICAgIFNSSUQsXG4gICAgQW5ub3RhdGlvbixcbiAgfToge1xuICAgIE5hbWU6IHN0cmluZztcbiAgICBUeXBlOiBzdHJpbmc7XG4gICAgTnVsbGFibGU/OiBib29sZWFuO1xuICAgIE1heExlbmd0aD86IG51bWJlcjtcbiAgICBQcmVjaXNpb24/OiBudW1iZXI7XG4gICAgU2NhbGU/OiBudW1iZXI7XG4gICAgU1JJRD86IHN0cmluZztcbiAgICBBbm5vdGF0aW9uPzogYW55W107XG4gIH0pIHtcbiAgICBzdXBlcih7IEFubm90YXRpb24gfSk7XG4gICAgdGhpcy5OYW1lID0gTmFtZTtcbiAgICB0aGlzLkNvbGxlY3Rpb24gPSBUeXBlLnN0YXJ0c1dpdGgoJ0NvbGxlY3Rpb24oJyk7XG4gICAgdGhpcy5UeXBlID0gdGhpcy5Db2xsZWN0aW9uID8gVHlwZS5zdWJzdHJpbmcoMTEsIFR5cGUubGVuZ3RoIC0gMSkgOiBUeXBlO1xuICAgIHRoaXMuTnVsbGFibGUgPSBOdWxsYWJsZTtcbiAgICB0aGlzLk1heExlbmd0aCA9IE1heExlbmd0aDtcbiAgICB0aGlzLlByZWNpc2lvbiA9IFByZWNpc2lvbjtcbiAgICB0aGlzLlNjYWxlID0gU2NhbGU7XG4gICAgdGhpcy5TUklEID0gU1JJRDtcbiAgfVxuXG4gIG92ZXJyaWRlIHRvSnNvbigpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3VwZXIudG9Kc29uKCksXG4gICAgICBOYW1lOiB0aGlzLk5hbWUsXG4gICAgICBUeXBlOiB0aGlzLkNvbGxlY3Rpb24gPyBgQ29sbGVjdGlvbigke3RoaXMuVHlwZX0pYCA6IHRoaXMuVHlwZSxcbiAgICAgIE51bGxhYmxlOiB0aGlzLk51bGxhYmxlLFxuICAgICAgTWF4TGVuZ3RoOiB0aGlzLk1heExlbmd0aCxcbiAgICAgIFByZWNpc2lvbjogdGhpcy5QcmVjaXNpb24sXG4gICAgICBTY2FsZTogdGhpcy5TY2FsZSxcbiAgICAgIFNSSUQ6IHRoaXMuU1JJRCxcbiAgICB9O1xuICB9XG5cbiAgb3ZlcnJpZGUgdG9Db25maWcoKTogUGFyYW1ldGVyQ29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3VwZXIudG9Db25maWcoKSxcbiAgICAgIHR5cGU6IHRoaXMuVHlwZSxcbiAgICAgIG51bGxhYmxlOiB0aGlzLk51bGxhYmxlLFxuICAgICAgY29sbGVjdGlvbjogZmFsc2UsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ3NkbFJldHVyblR5cGUge1xuICBUeXBlOiBzdHJpbmc7XG4gIENvbGxlY3Rpb246IGJvb2xlYW47XG4gIE51bGxhYmxlPzogYm9vbGVhbjtcbiAgTWF4TGVuZ3RoPzogbnVtYmVyO1xuICBQcmVjaXNpb24/OiBudW1iZXI7XG4gIFNjYWxlPzogbnVtYmVyO1xuICBTUklEPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHtcbiAgICBUeXBlLFxuICAgIE51bGxhYmxlLFxuICAgIE1heExlbmd0aCxcbiAgICBQcmVjaXNpb24sXG4gICAgU2NhbGUsXG4gICAgU1JJRCxcbiAgfToge1xuICAgIFR5cGU6IHN0cmluZztcbiAgICBOdWxsYWJsZT86IGJvb2xlYW47XG4gICAgTWF4TGVuZ3RoPzogbnVtYmVyO1xuICAgIFByZWNpc2lvbj86IG51bWJlcjtcbiAgICBTY2FsZT86IG51bWJlcjtcbiAgICBTUklEPzogc3RyaW5nO1xuICB9KSB7XG4gICAgdGhpcy5Db2xsZWN0aW9uID0gVHlwZS5zdGFydHNXaXRoKCdDb2xsZWN0aW9uKCcpO1xuICAgIHRoaXMuVHlwZSA9IHRoaXMuQ29sbGVjdGlvbiA/IFR5cGUuc3Vic3RyaW5nKDExLCBUeXBlLmxlbmd0aCAtIDEpIDogVHlwZTtcbiAgICB0aGlzLk51bGxhYmxlID0gTnVsbGFibGU7XG4gICAgdGhpcy5NYXhMZW5ndGggPSBNYXhMZW5ndGg7XG4gICAgdGhpcy5QcmVjaXNpb24gPSBQcmVjaXNpb247XG4gICAgdGhpcy5TY2FsZSA9IFNjYWxlO1xuICAgIHRoaXMuU1JJRCA9IFNSSUQ7XG4gIH1cblxuICB0b0pzb24oKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIFR5cGU6IHRoaXMuQ29sbGVjdGlvbiA/IGBDb2xsZWN0aW9uKCR7dGhpcy5UeXBlfSlgIDogdGhpcy5UeXBlLFxuICAgICAgTnVsbGFibGU6IHRoaXMuTnVsbGFibGUsXG4gICAgICBNYXhMZW5ndGg6IHRoaXMuTWF4TGVuZ3RoLFxuICAgICAgUHJlY2lzaW9uOiB0aGlzLlByZWNpc2lvbixcbiAgICAgIFNjYWxlOiB0aGlzLlNjYWxlLFxuICAgICAgU1JJRDogdGhpcy5TUklELFxuICAgIH07XG4gIH1cblxuICB0b0NvbmZpZygpOiB7IHR5cGU6IHN0cmluZzsgY29sbGVjdGlvbj86IGJvb2xlYW4gfCB1bmRlZmluZWQgfSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IHRoaXMuVHlwZSxcbiAgICAgIGNvbGxlY3Rpb246IGZhbHNlLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export class CsdlNavigationPropertyBinding {
|
|
2
|
-
Path;
|
|
3
|
-
Target;
|
|
4
|
-
constructor({ Path, Target }) {
|
|
5
|
-
this.Path = Path;
|
|
6
|
-
this.Target = Target;
|
|
7
|
-
}
|
|
8
|
-
toJson() {
|
|
9
|
-
return {
|
|
10
|
-
Path: this.Path,
|
|
11
|
-
Target: this.Target,
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NkbC1uYXZpZ2F0aW9uLXByb3BlcnR5LWJpbmRpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvbWV0YWRhdGEvY3NkbC9jc2RsLW5hdmlnYXRpb24tcHJvcGVydHktYmluZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sNkJBQTZCO0lBQ3hDLElBQUksQ0FBUztJQUNiLE1BQU0sQ0FBUztJQUVmLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFvQztRQUM1RCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBDc2RsTmF2aWdhdGlvblByb3BlcnR5QmluZGluZyB7XG4gIFBhdGg6IHN0cmluZztcbiAgVGFyZ2V0OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoeyBQYXRoLCBUYXJnZXQgfTogeyBQYXRoOiBzdHJpbmc7IFRhcmdldDogc3RyaW5nIH0pIHtcbiAgICB0aGlzLlBhdGggPSBQYXRoO1xuICAgIHRoaXMuVGFyZ2V0ID0gVGFyZ2V0O1xuICB9XG5cbiAgdG9Kc29uKCkge1xuICAgIHJldHVybiB7XG4gICAgICBQYXRoOiB0aGlzLlBhdGgsXG4gICAgICBUYXJnZXQ6IHRoaXMuVGFyZ2V0LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { CsdlAnnotable } from './csdl-annotation';
|
|
2
|
-
export class CsdlReference extends CsdlAnnotable {
|
|
3
|
-
Uri;
|
|
4
|
-
Include;
|
|
5
|
-
IncludeAnnotations;
|
|
6
|
-
constructor({ Uri, Include, IncludeAnnotations, Annotation, }) {
|
|
7
|
-
super({ Annotation });
|
|
8
|
-
this.Uri = Uri;
|
|
9
|
-
this.Include = Include?.map((i) => new CsdlInclude(i));
|
|
10
|
-
this.IncludeAnnotations = IncludeAnnotations?.map((i) => new CsdlIncludeAnnotations(i));
|
|
11
|
-
}
|
|
12
|
-
toJson() {
|
|
13
|
-
const json = { ...super.toJson(), Uri: this.Uri };
|
|
14
|
-
if (Array.isArray(this.Include) && this.Include.length > 0) {
|
|
15
|
-
json['Include'] = this.Include.map((i) => i.toJson());
|
|
16
|
-
}
|
|
17
|
-
if (Array.isArray(this.IncludeAnnotations) &&
|
|
18
|
-
this.IncludeAnnotations.length > 0) {
|
|
19
|
-
json['IncludeAnnotations'] = this.IncludeAnnotations.map((i) => i.toJson());
|
|
20
|
-
}
|
|
21
|
-
return json;
|
|
22
|
-
}
|
|
23
|
-
toConfig(base) {
|
|
24
|
-
return {
|
|
25
|
-
...super.toConfig(),
|
|
26
|
-
uri: this.Uri,
|
|
27
|
-
includes: this.Include?.map((i) => i.toConfig()),
|
|
28
|
-
includeAnnotations: this.IncludeAnnotations?.map((i) => i.toConfig()),
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
export class CsdlInclude {
|
|
33
|
-
Namespace;
|
|
34
|
-
Alias;
|
|
35
|
-
constructor({ Namespace, Alias }) {
|
|
36
|
-
this.Namespace = Namespace;
|
|
37
|
-
this.Alias = Alias;
|
|
38
|
-
}
|
|
39
|
-
toJson() {
|
|
40
|
-
return {
|
|
41
|
-
Namespace: this.Namespace,
|
|
42
|
-
Alias: this.Alias,
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
toConfig() {
|
|
46
|
-
return {
|
|
47
|
-
namespace: this.Namespace,
|
|
48
|
-
alias: this.Alias,
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
export class CsdlIncludeAnnotations {
|
|
53
|
-
TermNamespace;
|
|
54
|
-
Qualifier;
|
|
55
|
-
TargetNamespace;
|
|
56
|
-
constructor({ TermNamespace, Qualifier, TargetNamespace, }) {
|
|
57
|
-
this.TermNamespace = TermNamespace;
|
|
58
|
-
this.Qualifier = Qualifier;
|
|
59
|
-
this.TargetNamespace = TargetNamespace;
|
|
60
|
-
}
|
|
61
|
-
toJson() {
|
|
62
|
-
return {
|
|
63
|
-
TermNamespace: this.TermNamespace,
|
|
64
|
-
Qualifier: this.Qualifier,
|
|
65
|
-
TargetNamespace: this.TargetNamespace,
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
toConfig() {
|
|
69
|
-
return {
|
|
70
|
-
termNamespace: this.TermNamespace,
|
|
71
|
-
qualifier: this.Qualifier,
|
|
72
|
-
targetNamespace: this.TargetNamespace,
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NkbC1yZWZlcmVuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvbWV0YWRhdGEvY3NkbC9jc2RsLXJlZmVyZW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsTUFBTSxPQUFPLGFBQWMsU0FBUSxhQUFhO0lBQzlDLEdBQUcsQ0FBUztJQUNaLE9BQU8sQ0FBaUI7SUFDeEIsa0JBQWtCLENBQTRCO0lBQzlDLFlBQVksRUFDVixHQUFHLEVBQ0gsT0FBTyxFQUNQLGtCQUFrQixFQUNsQixVQUFVLEdBTVg7UUFDQyxLQUFLLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsRUFBRSxHQUFHLENBQy9DLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUNyQyxDQUFDO0lBQ0osQ0FBQztJQUVRLE1BQU07UUFDYixNQUFNLElBQUksR0FBMkIsRUFBRSxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzFFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDM0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBQ0QsSUFDRSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztZQUN0QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFDbEMsQ0FBQztZQUNELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUM3RCxDQUFDLENBQUMsTUFBTSxFQUFFLENBQ1gsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFUSxRQUFRLENBQUMsSUFBK0I7UUFDL0MsT0FBTztZQUNMLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUNuQixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDYixRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoRCxrQkFBa0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDbkQsQ0FBQztJQUN2QixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sV0FBVztJQUN0QixTQUFTLENBQVM7SUFDbEIsS0FBSyxDQUFVO0lBQ2YsWUFBWSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXlDO1FBQ3JFLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTztZQUNMLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7U0FDbEIsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTztZQUNMLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7U0FDbEIsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsYUFBYSxDQUFTO0lBQ3RCLFNBQVMsQ0FBVTtJQUNuQixlQUFlLENBQVU7SUFDekIsWUFBWSxFQUNWLGFBQWEsRUFDYixTQUFTLEVBQ1QsZUFBZSxHQUtoQjtRQUNDLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTztZQUNMLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsZUFBZSxFQUFFLElBQUksQ0FBQyxlQUFlO1NBQ3RDLENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU87WUFDTCxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDakMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZTtTQUN0QyxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVmZXJlbmNlQ29uZmlnIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQ3NkbEFubm90YWJsZSB9IGZyb20gJy4vY3NkbC1hbm5vdGF0aW9uJztcblxuZXhwb3J0IGNsYXNzIENzZGxSZWZlcmVuY2UgZXh0ZW5kcyBDc2RsQW5ub3RhYmxlIHtcbiAgVXJpOiBzdHJpbmc7XG4gIEluY2x1ZGU/OiBDc2RsSW5jbHVkZVtdO1xuICBJbmNsdWRlQW5ub3RhdGlvbnM/OiBDc2RsSW5jbHVkZUFubm90YXRpb25zW107XG4gIGNvbnN0cnVjdG9yKHtcbiAgICBVcmksXG4gICAgSW5jbHVkZSxcbiAgICBJbmNsdWRlQW5ub3RhdGlvbnMsXG4gICAgQW5ub3RhdGlvbixcbiAgfToge1xuICAgIFVyaTogc3RyaW5nO1xuICAgIEluY2x1ZGU/OiBhbnlbXTtcbiAgICBJbmNsdWRlQW5ub3RhdGlvbnM/OiBhbnlbXTtcbiAgICBBbm5vdGF0aW9uPzogYW55W107XG4gIH0pIHtcbiAgICBzdXBlcih7IEFubm90YXRpb24gfSk7XG4gICAgdGhpcy5VcmkgPSBVcmk7XG4gICAgdGhpcy5JbmNsdWRlID0gSW5jbHVkZT8ubWFwKChpKSA9PiBuZXcgQ3NkbEluY2x1ZGUoaSkpO1xuICAgIHRoaXMuSW5jbHVkZUFubm90YXRpb25zID0gSW5jbHVkZUFubm90YXRpb25zPy5tYXAoXG4gICAgICAoaSkgPT4gbmV3IENzZGxJbmNsdWRlQW5ub3RhdGlvbnMoaSksXG4gICAgKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHRvSnNvbigpIHtcbiAgICBjb25zdCBqc29uOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0geyAuLi5zdXBlci50b0pzb24oKSwgVXJpOiB0aGlzLlVyaSB9O1xuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuSW5jbHVkZSkgJiYgdGhpcy5JbmNsdWRlLmxlbmd0aCA+IDApIHtcbiAgICAgIGpzb25bJ0luY2x1ZGUnXSA9IHRoaXMuSW5jbHVkZS5tYXAoKGkpID0+IGkudG9Kc29uKCkpO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBBcnJheS5pc0FycmF5KHRoaXMuSW5jbHVkZUFubm90YXRpb25zKSAmJlxuICAgICAgdGhpcy5JbmNsdWRlQW5ub3RhdGlvbnMubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAganNvblsnSW5jbHVkZUFubm90YXRpb25zJ10gPSB0aGlzLkluY2x1ZGVBbm5vdGF0aW9ucy5tYXAoKGkpID0+XG4gICAgICAgIGkudG9Kc29uKCksXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIG92ZXJyaWRlIHRvQ29uZmlnKGJhc2U/OiBQYXJ0aWFsPFJlZmVyZW5jZUNvbmZpZz4pIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3VwZXIudG9Db25maWcoKSxcbiAgICAgIHVyaTogdGhpcy5VcmksXG4gICAgICBpbmNsdWRlczogdGhpcy5JbmNsdWRlPy5tYXAoKGkpID0+IGkudG9Db25maWcoKSksXG4gICAgICBpbmNsdWRlQW5ub3RhdGlvbnM6IHRoaXMuSW5jbHVkZUFubm90YXRpb25zPy5tYXAoKGkpID0+IGkudG9Db25maWcoKSksXG4gICAgfSBhcyBSZWZlcmVuY2VDb25maWc7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIENzZGxJbmNsdWRlIHtcbiAgTmFtZXNwYWNlOiBzdHJpbmc7XG4gIEFsaWFzPzogc3RyaW5nO1xuICBjb25zdHJ1Y3Rvcih7IE5hbWVzcGFjZSwgQWxpYXMgfTogeyBOYW1lc3BhY2U6IHN0cmluZzsgQWxpYXM/OiBzdHJpbmcgfSkge1xuICAgIHRoaXMuTmFtZXNwYWNlID0gTmFtZXNwYWNlO1xuICAgIHRoaXMuQWxpYXMgPSBBbGlhcztcbiAgfVxuXG4gIHRvSnNvbigpIHtcbiAgICByZXR1cm4ge1xuICAgICAgTmFtZXNwYWNlOiB0aGlzLk5hbWVzcGFjZSxcbiAgICAgIEFsaWFzOiB0aGlzLkFsaWFzLFxuICAgIH07XG4gIH1cblxuICB0b0NvbmZpZygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiB0aGlzLk5hbWVzcGFjZSxcbiAgICAgIGFsaWFzOiB0aGlzLkFsaWFzLFxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIENzZGxJbmNsdWRlQW5ub3RhdGlvbnMge1xuICBUZXJtTmFtZXNwYWNlOiBzdHJpbmc7XG4gIFF1YWxpZmllcj86IHN0cmluZztcbiAgVGFyZ2V0TmFtZXNwYWNlPzogc3RyaW5nO1xuICBjb25zdHJ1Y3Rvcih7XG4gICAgVGVybU5hbWVzcGFjZSxcbiAgICBRdWFsaWZpZXIsXG4gICAgVGFyZ2V0TmFtZXNwYWNlLFxuICB9OiB7XG4gICAgVGVybU5hbWVzcGFjZTogc3RyaW5nO1xuICAgIFF1YWxpZmllcj86IHN0cmluZztcbiAgICBUYXJnZXROYW1lc3BhY2U/OiBzdHJpbmc7XG4gIH0pIHtcbiAgICB0aGlzLlRlcm1OYW1lc3BhY2UgPSBUZXJtTmFtZXNwYWNlO1xuICAgIHRoaXMuUXVhbGlmaWVyID0gUXVhbGlmaWVyO1xuICAgIHRoaXMuVGFyZ2V0TmFtZXNwYWNlID0gVGFyZ2V0TmFtZXNwYWNlO1xuICB9XG5cbiAgdG9Kc29uKCkge1xuICAgIHJldHVybiB7XG4gICAgICBUZXJtTmFtZXNwYWNlOiB0aGlzLlRlcm1OYW1lc3BhY2UsXG4gICAgICBRdWFsaWZpZXI6IHRoaXMuUXVhbGlmaWVyLFxuICAgICAgVGFyZ2V0TmFtZXNwYWNlOiB0aGlzLlRhcmdldE5hbWVzcGFjZSxcbiAgICB9O1xuICB9XG5cbiAgdG9Db25maWcoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRlcm1OYW1lc3BhY2U6IHRoaXMuVGVybU5hbWVzcGFjZSxcbiAgICAgIHF1YWxpZmllcjogdGhpcy5RdWFsaWZpZXIsXG4gICAgICB0YXJnZXROYW1lc3BhY2U6IHRoaXMuVGFyZ2V0TmFtZXNwYWNlLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { CsdlTerm, CsdlAnnotations } from './csdl-annotation';
|
|
2
|
-
import { CsdlTypeDefinition } from './csdl-type-definition';
|
|
3
|
-
import { CsdlEnumType } from './csdl-enum-type';
|
|
4
|
-
import { CsdlEntityType, CsdlComplexType } from './csdl-structured-type';
|
|
5
|
-
import { CsdlFunction, CsdlAction } from './csdl-function-action';
|
|
6
|
-
import { CsdlEntityContainer } from './csdl-entity-container';
|
|
7
|
-
export class CsdlSchema {
|
|
8
|
-
Namespace;
|
|
9
|
-
Alias;
|
|
10
|
-
EnumType;
|
|
11
|
-
ComplexType;
|
|
12
|
-
EntityType;
|
|
13
|
-
Function;
|
|
14
|
-
Action;
|
|
15
|
-
EntityContainer;
|
|
16
|
-
TypeDefinition;
|
|
17
|
-
Term;
|
|
18
|
-
Annotations;
|
|
19
|
-
constructor({ Namespace, Alias, EnumType, ComplexType, EntityType, Function, Action, EntityContainer, TypeDefinition, Term, Annotations, }) {
|
|
20
|
-
this.Namespace = Namespace;
|
|
21
|
-
this.Alias = Alias;
|
|
22
|
-
this.EnumType = EnumType?.map((e) => new CsdlEnumType(this, e));
|
|
23
|
-
this.ComplexType = ComplexType?.map((c) => new CsdlComplexType(this, c));
|
|
24
|
-
this.EntityType = EntityType?.map((e) => new CsdlEntityType(this, e));
|
|
25
|
-
this.Function = Function?.map((f) => new CsdlFunction(this, f));
|
|
26
|
-
this.Action = Action?.map((a) => new CsdlAction(this, a));
|
|
27
|
-
this.EntityContainer = EntityContainer?.map((e) => new CsdlEntityContainer(this, e));
|
|
28
|
-
this.TypeDefinition = TypeDefinition?.map((t) => new CsdlTypeDefinition(this, t));
|
|
29
|
-
this.Term = Term?.map((t) => new CsdlTerm(this, t));
|
|
30
|
-
this.Annotations = Annotations?.map((a) => new CsdlAnnotations(this, a));
|
|
31
|
-
}
|
|
32
|
-
toJson() {
|
|
33
|
-
const json = {
|
|
34
|
-
Namespace: this.Namespace,
|
|
35
|
-
};
|
|
36
|
-
if (this.Alias !== undefined) {
|
|
37
|
-
json['Alias'] = this.Alias;
|
|
38
|
-
}
|
|
39
|
-
if (Array.isArray(this.EntityContainer) &&
|
|
40
|
-
this.EntityContainer.length > 0) {
|
|
41
|
-
json['EntityContainer'] = this.EntityContainer.map((a) => a.toJson());
|
|
42
|
-
}
|
|
43
|
-
if (Array.isArray(this.EntityType) && this.EntityType.length > 0) {
|
|
44
|
-
json['EntityType'] = this.EntityType.map((a) => a.toJson());
|
|
45
|
-
}
|
|
46
|
-
if (Array.isArray(this.ComplexType) && this.ComplexType.length > 0) {
|
|
47
|
-
json['ComplexType'] = this.ComplexType.map((a) => a.toJson());
|
|
48
|
-
}
|
|
49
|
-
if (Array.isArray(this.EnumType) && this.EnumType.length > 0) {
|
|
50
|
-
json['EnumType'] = this.EnumType.map((a) => a.toJson());
|
|
51
|
-
}
|
|
52
|
-
if (Array.isArray(this.TypeDefinition) && this.TypeDefinition.length > 0) {
|
|
53
|
-
json['TypeDefinition'] = this.TypeDefinition.map((a) => a.toJson());
|
|
54
|
-
}
|
|
55
|
-
if (Array.isArray(this.Term) && this.Term.length > 0) {
|
|
56
|
-
json['Term'] = this.Term.map((a) => a.toJson());
|
|
57
|
-
}
|
|
58
|
-
if (Array.isArray(this.Annotations) && this.Annotations.length > 0) {
|
|
59
|
-
json['Annotations'] = this.Annotations.map((a) => a.toJson());
|
|
60
|
-
}
|
|
61
|
-
if (Array.isArray(this.Action) && this.Action.length > 0) {
|
|
62
|
-
json['Action'] = this.Action.map((a) => a.toJson());
|
|
63
|
-
}
|
|
64
|
-
if (Array.isArray(this.Function) && this.Function.length > 0) {
|
|
65
|
-
json['Function'] = this.Function.map((a) => a.toJson());
|
|
66
|
-
}
|
|
67
|
-
return json;
|
|
68
|
-
}
|
|
69
|
-
toConfig(base) {
|
|
70
|
-
return {
|
|
71
|
-
namespace: this.Namespace,
|
|
72
|
-
alias: base?.alias ?? this.Alias,
|
|
73
|
-
annotations: this.Annotations?.map((t) => t.toConfig()),
|
|
74
|
-
enums: this.EnumType?.map((t) => t.toConfig(base?.enums?.find((cs) => cs.name === t.Name))),
|
|
75
|
-
entities: [
|
|
76
|
-
...(this.ComplexType ?? []).map((t) => t.toConfig(base?.entities?.find((cs) => cs.name === t.Name))),
|
|
77
|
-
...(this.EntityType ?? []).map((t) => t.toConfig(base?.entities?.find((cs) => cs.name === t.Name))),
|
|
78
|
-
],
|
|
79
|
-
callables: [
|
|
80
|
-
...(this.Function ?? []).map((t) => t.toConfig(base?.callables?.find((cs) => cs.name === t.Name))),
|
|
81
|
-
...(this.Action ?? []).map((t) => t.toConfig(base?.callables?.find((cs) => cs.name === t.Name))),
|
|
82
|
-
],
|
|
83
|
-
containers: this.EntityContainer?.map((t) => t.toConfig(base?.containers?.find((cs) => cs.name === t.Name))),
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NkbC1zY2hlbWEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvbWV0YWRhdGEvY3NkbC9jc2RsLXNjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHOUQsTUFBTSxPQUFPLFVBQVU7SUFDckIsU0FBUyxDQUFTO0lBQ2xCLEtBQUssQ0FBVTtJQUNmLFFBQVEsQ0FBa0I7SUFDMUIsV0FBVyxDQUFxQjtJQUNoQyxVQUFVLENBQW9CO0lBQzlCLFFBQVEsQ0FBa0I7SUFDMUIsTUFBTSxDQUFnQjtJQUN0QixlQUFlLENBQXlCO0lBQ3hDLGNBQWMsQ0FBd0I7SUFDdEMsSUFBSSxDQUFjO0lBQ2xCLFdBQVcsQ0FBcUI7SUFDaEMsWUFBWSxFQUNWLFNBQVMsRUFDVCxLQUFLLEVBQ0wsUUFBUSxFQUNSLFdBQVcsRUFDWCxVQUFVLEVBQ1YsUUFBUSxFQUNSLE1BQU0sRUFDTixlQUFlLEVBQ2YsY0FBYyxFQUNkLElBQUksRUFDSixXQUFXLEdBYVo7UUFDQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsRUFBRSxHQUFH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SUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUMxRDtZQUNELFFBQVEsRUFBRTtnQkFDUixHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNwQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUM3RDtnQkFDRCxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNuQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUM3RDthQUNGO1lBQ0QsU0FBUyxFQUFFO2dCQUNULEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2pDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQzlEO2dCQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQy9CLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQzlEO2FBQ0Y7WUFDRCxVQUFVLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUMxQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUMvRDtTQUNjLENBQUM7SUFDcEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3NkbFRlcm0sIENzZGxBbm5vdGF0aW9ucyB9IGZyb20gJy4vY3NkbC1hbm5vdGF0aW9uJztcbmltcG9ydCB7IENzZGxUeXBlRGVmaW5pdGlvbiB9IGZyb20gJy4vY3NkbC10eXBlLWRlZmluaXRpb24nO1xuaW1wb3J0IHsgQ3NkbEVudW1UeXBlIH0gZnJvbSAnLi9jc2RsLWVudW0tdHlwZSc7XG5pbXBvcnQgeyBDc2RsRW50aXR5VHlwZSwgQ3NkbENvbXBsZXhUeXBlIH0gZnJvbSAnLi9jc2RsLXN0cnVjdHVyZWQtdHlwZSc7XG5pbXBvcnQgeyBDc2RsRnVuY3Rpb24sIENzZGxBY3Rpb24gfSBmcm9tICcuL2NzZGwtZnVuY3Rpb24tYWN0aW9uJztcbmltcG9ydCB7IENzZGxFbnRpdHlDb250YWluZXIgfSBmcm9tICcuL2NzZGwtZW50aXR5LWNvbnRhaW5lcic7XG5pbXBvcnQgeyBTY2hlbWFDb25maWcgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBDc2RsU2NoZW1hIHtcbiAgTmFtZXNwYWNlOiBzdHJpbmc7XG4gIEFsaWFzPzogc3RyaW5nO1xuICBFbnVtVHlwZT86IENzZGxFbnVtVHlwZVtdO1xuICBDb21wbGV4VHlwZT86IENzZGxDb21wbGV4VHlwZVtdO1xuICBFbnRpdHlUeXBlPzogQ3NkbEVudGl0eVR5cGVbXTtcbiAgRnVuY3Rpb24/OiBDc2RsRnVuY3Rpb25bXTtcbiAgQWN0aW9uPzogQ3NkbEFjdGlvbltdO1xuICBFbnRpdHlDb250YWluZXI/OiBDc2RsRW50aXR5Q29udGFpbmVyW107XG4gIFR5cGVEZWZpbml0aW9uPzogQ3NkbFR5cGVEZWZpbml0aW9uW107XG4gIFRlcm0/OiBDc2RsVGVybVtdO1xuICBBbm5vdGF0aW9ucz86IENzZGxBbm5vdGF0aW9uc1tdO1xuICBjb25zdHJ1Y3Rvcih7XG4gICAgTmFtZXNwYWNlLFxuICAgIEFsaWFzLFxuICAgIEVudW1UeXBlLFxuICAgIENvbXBsZXhUeXBlLFxuICAgIEVudGl0eVR5cGUsXG4gICAgRnVuY3Rpb24sXG4gICAgQWN0aW9uLFxuICAgIEVudGl0eUNvbnRhaW5lcixcbiAgICBUeXBlRGVmaW5pdGlvbixcbiAgICBUZXJtLFxuICAgIEFubm90YXRpb25zLFxuICB9OiB7XG4gICAgTmFtZXNwYWNlOiBzdHJpbmc7XG4gICAgQWxpYXM/OiBzdHJpbmc7XG4gICAgRW51bVR5cGU/OiBhbnlbXTtcbiAgICBDb21wbGV4VHlwZT86IGFueVtdO1xuICAgIEVudGl0eVR5cGU/OiBhbnlbXTtcbiAgICBGdW5jdGlvbj86IGFueVtdO1xuICAgIEFjdGlvbj86IGFueVtdO1xuICAgIEVudGl0eUNvbnRhaW5lcj86IGFueVtdO1xuICAgIFR5cGVEZWZpbml0aW9uPzogYW55W107XG4gICAgVGVybT86IGFueVtdO1xuICAgIEFubm90YXRpb25zPzogYW55W107XG4gIH0pIHtcbiAgICB0aGlzLk5hbWVzcGFjZSA9IE5hbWVzcGFjZTtcbiAgICB0aGlzLkFsaWFzID0gQWxpYXM7XG4gICAgdGhpcy5FbnVtVHlwZSA9IEVudW1UeXBlPy5tYXAoKGUpID0+IG5ldyBDc2RsRW51bVR5cGUodGhpcywgZSkpO1xuICAgIHRoaXMuQ29tcGxleFR5cGUgPSBDb21wbGV4VHlwZT8ubWFwKChjKSA9PiBuZXcgQ3NkbENvbXBsZXhUeXBlKHRoaXMsIGMpKTtcbiAgICB0aGlzLkVudGl0eVR5cGUgPSBFbnRpdHlUeXBlPy5tYXAoKGUpID0+IG5ldyBDc2RsRW50aXR5VHlwZSh0aGlzLCBlKSk7XG4gICAgdGhpcy5GdW5jdGlvbiA9IEZ1bmN0aW9uPy5tYXAoKGYpID0+IG5ldyBDc2RsRnVuY3Rpb24odGhpcywgZikpO1xuICAgIHRoaXMuQWN0aW9uID0gQWN0aW9uPy5tYXAoKGEpID0+IG5ldyBDc2RsQWN0aW9uKHRoaXMsIGEpKTtcbiAgICB0aGlzLkVudGl0eUNvbnRhaW5lciA9IEVudGl0eUNvbnRhaW5lcj8ubWFwKFxuICAgICAgKGUpID0+IG5ldyBDc2RsRW50aXR5Q29udGFpbmVyKHRoaXMsIGUpLFxuICAgICk7XG4gICAgdGhpcy5UeXBlRGVmaW5pdGlvbiA9IFR5cGVEZWZpbml0aW9uPy5tYXAoXG4gICAgICAodCkgPT4gbmV3IENzZGxUeXBlRGVmaW5pdGlvbih0aGlzLCB0KSxcbiAgICApO1xuICAgIHRoaXMuVGVybSA9IFRlcm0/Lm1hcCgodCkgPT4gbmV3IENzZGxUZXJtKHRoaXMsIHQpKTtcbiAgICB0aGlzLkFubm90YXRpb25zID0gQW5ub3RhdGlvbnM/Lm1hcCgoYSkgPT4gbmV3IENzZGxBbm5vdGF0aW9ucyh0aGlzLCBhKSk7XG4gIH1cblxuICB0b0pzb24oKSB7XG4gICAgY29uc3QganNvbjogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHtcbiAgICAgIE5hbWVzcGFjZTogdGhpcy5OYW1lc3BhY2UsXG4gICAgfTtcbiAgICBpZiAodGhpcy5BbGlhcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBqc29uWydBbGlhcyddID0gdGhpcy5BbGlhcztcbiAgICB9XG4gICAgaWYgKFxuICAgICAgQXJyYXkuaXNBcnJheSh0aGlzLkVudGl0eUNvbnRhaW5lcikgJiZcbiAgICAgIHRoaXMuRW50aXR5Q29udGFpbmVyLmxlbmd0aCA+IDBcbiAgICApIHtcbiAgICAgIGpzb25bJ0VudGl0eUNvbnRhaW5lciddID0gdGhpcy5FbnRpdHlDb250YWluZXIubWFwKChhKSA9PiBhLnRvSnNvbigpKTtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5FbnRpdHlUeXBlKSAmJiB0aGlzLkVudGl0eVR5cGUubGVuZ3RoID4gMCkge1xuICAgICAganNvblsnRW50aXR5VHlwZSddID0gdGhpcy5FbnRpdHlUeXBlLm1hcCgoYSkgPT4gYS50b0pzb24oKSk7XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuQ29tcGxleFR5cGUpICYmIHRoaXMuQ29tcGxleFR5cGUubGVuZ3RoID4gMCkge1xuICAgICAganNvblsnQ29tcGxleFR5cGUnXSA9IHRoaXMuQ29tcGxleFR5cGUubWFwKChhKSA9PiBhLnRvSnNvbigpKTtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5FbnVtVHlwZSkgJiYgdGhpcy5FbnVtVHlwZS5sZW5ndGggPiAwKSB7XG4gICAgICBqc29uWydFbnVtVHlwZSddID0gdGhpcy5FbnVtVHlwZS5tYXAoKGEpID0+IGEudG9Kc29uKCkpO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLlR5cGVEZWZpbml0aW9uKSAmJiB0aGlzLlR5cGVEZWZpbml0aW9uLmxlbmd0aCA+IDApIHtcbiAgICAgIGpzb25bJ1R5cGVEZWZpbml0aW9uJ10gPSB0aGlzLlR5cGVEZWZpbml0aW9uLm1hcCgoYSkgPT4gYS50b0pzb24oKSk7XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuVGVybSkgJiYgdGhpcy5UZXJtLmxlbmd0aCA+IDApIHtcbiAgICAgIGpzb25bJ1Rlcm0nXSA9IHRoaXMuVGVybS5tYXAoKGEpID0+IGEudG9Kc29uKCkpO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLkFubm90YXRpb25zKSAmJiB0aGlzLkFubm90YXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGpzb25bJ0Fubm90YXRpb25zJ10gPSB0aGlzLkFubm90YXRpb25zLm1hcCgoYSkgPT4gYS50b0pzb24oKSk7XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuQWN0aW9uKSAmJiB0aGlzLkFjdGlvbi5sZW5ndGggPiAwKSB7XG4gICAgICBqc29uWydBY3Rpb24nXSA9IHRoaXMuQWN0aW9uLm1hcCgoYSkgPT4gYS50b0pzb24oKSk7XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuRnVuY3Rpb24pICYmIHRoaXMuRnVuY3Rpb24ubGVuZ3RoID4gMCkge1xuICAgICAganNvblsnRnVuY3Rpb24nXSA9IHRoaXMuRnVuY3Rpb24ubWFwKChhKSA9PiBhLnRvSnNvbigpKTtcbiAgICB9XG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICB0b0NvbmZpZyhiYXNlPzogUGFydGlhbDxTY2hlbWFDb25maWc+KTogU2NoZW1hQ29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiB0aGlzLk5hbWVzcGFjZSxcbiAgICAgIGFsaWFzOiBiYXNlPy5hbGlhcyA/PyB0aGlzLkFsaWFzLFxuICAgICAgYW5ub3RhdGlvbnM6IHRoaXMuQW5ub3RhdGlvbnM/Lm1hcCgodCkgPT4gdC50b0NvbmZpZygpKSxcbiAgICAgIGVudW1zOiB0aGlzLkVudW1UeXBlPy5tYXAoKHQpID0+XG4gICAgICAgIHQudG9Db25maWcoYmFzZT8uZW51bXM/LmZpbmQoKGNzKSA9PiBjcy5uYW1lID09PSB0Lk5hbWUpKSxcbiAgICAgICksXG4gICAgICBlbnRpdGllczogW1xuICAgICAgICAuLi4odGhpcy5Db21wbGV4VHlwZSA/PyBbXSkubWFwKCh0KSA9PlxuICAgICAgICAgIHQudG9Db25maWcoYmFzZT8uZW50aXRpZXM/LmZpbmQoKGNzKSA9PiBjcy5uYW1lID09PSB0Lk5hbWUpKSxcbiAgICAgICAgKSxcbiAgICAgICAgLi4uKHRoaXMuRW50aXR5VHlwZSA/PyBbXSkubWFwKCh0KSA9PlxuICAgICAgICAgIHQudG9Db25maWcoYmFzZT8uZW50aXRpZXM/LmZpbmQoKGNzKSA9PiBjcy5uYW1lID09PSB0Lk5hbWUpKSxcbiAgICAgICAgKSxcbiAgICAgIF0sXG4gICAgICBjYWxsYWJsZXM6IFtcbiAgICAgICAgLi4uKHRoaXMuRnVuY3Rpb24gPz8gW10pLm1hcCgodCkgPT5cbiAgICAgICAgICB0LnRvQ29uZmlnKGJhc2U/LmNhbGxhYmxlcz8uZmluZCgoY3MpID0+IGNzLm5hbWUgPT09IHQuTmFtZSkpLFxuICAgICAgICApLFxuICAgICAgICAuLi4odGhpcy5BY3Rpb24gPz8gW10pLm1hcCgodCkgPT5cbiAgICAgICAgICB0LnRvQ29uZmlnKGJhc2U/LmNhbGxhYmxlcz8uZmluZCgoY3MpID0+IGNzLm5hbWUgPT09IHQuTmFtZSkpLFxuICAgICAgICApLFxuICAgICAgXSxcbiAgICAgIGNvbnRhaW5lcnM6IHRoaXMuRW50aXR5Q29udGFpbmVyPy5tYXAoKHQpID0+XG4gICAgICAgIHQudG9Db25maWcoYmFzZT8uY29udGFpbmVycz8uZmluZCgoY3MpID0+IGNzLm5hbWUgPT09IHQuTmFtZSkpLFxuICAgICAgKSxcbiAgICB9IGFzIFNjaGVtYUNvbmZpZztcbiAgfVxufVxuIl19
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { CsdlAnnotable } from './csdl-annotation';
|
|
2
|
-
import { CsdlNavigationPropertyBinding } from './csdl-navigation-property-binding';
|
|
3
|
-
export class CsdlSingleton extends CsdlAnnotable {
|
|
4
|
-
container;
|
|
5
|
-
Name;
|
|
6
|
-
Type;
|
|
7
|
-
NavigationPropertyBindings;
|
|
8
|
-
constructor(container, { Name, Type, NavigationPropertyBindings, Annotation, }) {
|
|
9
|
-
super({ Annotation });
|
|
10
|
-
this.container = container;
|
|
11
|
-
this.Name = Name;
|
|
12
|
-
this.Type = Type;
|
|
13
|
-
this.NavigationPropertyBindings = NavigationPropertyBindings?.map((n) => new CsdlNavigationPropertyBinding(n));
|
|
14
|
-
}
|
|
15
|
-
toJson() {
|
|
16
|
-
const json = {
|
|
17
|
-
...super.toJson(),
|
|
18
|
-
Name: this.Name,
|
|
19
|
-
Type: this.Type,
|
|
20
|
-
};
|
|
21
|
-
if (Array.isArray(this.NavigationPropertyBindings) &&
|
|
22
|
-
this.NavigationPropertyBindings.length > 0) {
|
|
23
|
-
json['NavigationPropertyBindings'] = this.NavigationPropertyBindings.map((n) => n.toJson());
|
|
24
|
-
}
|
|
25
|
-
return json;
|
|
26
|
-
}
|
|
27
|
-
name() {
|
|
28
|
-
return `${this.Name}`;
|
|
29
|
-
}
|
|
30
|
-
namespace() {
|
|
31
|
-
return `${this.container.namespace()}`;
|
|
32
|
-
}
|
|
33
|
-
fullName() {
|
|
34
|
-
return `${this.container.namespace()}.${this.Name}`;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NkbC1zaW5nbGV0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvbWV0YWRhdGEvY3NkbC9jc2RsLXNpbmdsZXRvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFbkYsTUFBTSxPQUFPLGFBQWMsU0FBUSxhQUFhO0lBTXBDO0lBTFYsSUFBSSxDQUFTO0lBQ2IsSUFBSSxDQUFTO0lBQ2IsMEJBQTBCLENBQW1DO0lBRTdELFlBQ1UsU0FBOEIsRUFDdEMsRUFDRSxJQUFJLEVBQ0osSUFBSSxFQUNKLDBCQUEwQixFQUMxQixVQUFVLEdBTVg7UUFFRCxLQUFLLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBYmQsY0FBUyxHQUFULFNBQVMsQ0FBcUI7UUFjdEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLDBCQUEwQixHQUFHLDBCQUEwQixFQUFFLEdBQUcsQ0FDL0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQzVDLENBQUM7SUFDSixDQUFDO0lBRVEsTUFBTTtRQUNiLE1BQU0sSUFBSSxHQUEyQjtZQUNuQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDakIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1NBQ2hCLENBQUM7UUFDRixJQUNFLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDO1lBQzlDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUMxQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLDRCQUE0QixDQUFDLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEdBQUcsQ0FDdEUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FDbEIsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJO1FBQ0YsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3NkbEFubm90YWJsZSB9IGZyb20gJy4vY3NkbC1hbm5vdGF0aW9uJztcbmltcG9ydCB0eXBlIHsgQ3NkbEVudGl0eUNvbnRhaW5lciB9IGZyb20gJy4vY3NkbC1lbnRpdHktY29udGFpbmVyJztcbmltcG9ydCB7IENzZGxOYXZpZ2F0aW9uUHJvcGVydHlCaW5kaW5nIH0gZnJvbSAnLi9jc2RsLW5hdmlnYXRpb24tcHJvcGVydHktYmluZGluZyc7XG5cbmV4cG9ydCBjbGFzcyBDc2RsU2luZ2xldG9uIGV4dGVuZHMgQ3NkbEFubm90YWJsZSB7XG4gIE5hbWU6IHN0cmluZztcbiAgVHlwZTogc3RyaW5nO1xuICBOYXZpZ2F0aW9uUHJvcGVydHlCaW5kaW5ncz86IENzZGxOYXZpZ2F0aW9uUHJvcGVydHlCaW5kaW5nW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb250YWluZXI6IENzZGxFbnRpdHlDb250YWluZXIsXG4gICAge1xuICAgICAgTmFtZSxcbiAgICAgIFR5cGUsXG4gICAgICBOYXZpZ2F0aW9uUHJvcGVydHlCaW5kaW5ncyxcbiAgICAgIEFubm90YXRpb24sXG4gICAgfToge1xuICAgICAgTmFtZTogc3RyaW5nO1xuICAgICAgVHlwZTogc3RyaW5nO1xuICAgICAgTmF2aWdhdGlvblByb3BlcnR5QmluZGluZ3M/OiBhbnlbXTtcbiAgICAgIEFubm90YXRpb24/OiBhbnlbXTtcbiAgICB9LFxuICApIHtcbiAgICBzdXBlcih7IEFubm90YXRpb24gfSk7XG4gICAgdGhpcy5OYW1lID0gTmFtZTtcbiAgICB0aGlzLlR5cGUgPSBUeXBlO1xuICAgIHRoaXMuTmF2aWdhdGlvblByb3BlcnR5QmluZGluZ3MgPSBOYXZpZ2F0aW9uUHJvcGVydHlCaW5kaW5ncz8ubWFwKFxuICAgICAgKG4pID0+IG5ldyBDc2RsTmF2aWdhdGlvblByb3BlcnR5QmluZGluZyhuKSxcbiAgICApO1xuICB9XG5cbiAgb3ZlcnJpZGUgdG9Kc29uKCkge1xuICAgIGNvbnN0IGpzb246IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7XG4gICAgICAuLi5zdXBlci50b0pzb24oKSxcbiAgICAgIE5hbWU6IHRoaXMuTmFtZSxcbiAgICAgIFR5cGU6IHRoaXMuVHlwZSxcbiAgICB9O1xuICAgIGlmIChcbiAgICAgIEFycmF5LmlzQXJyYXkodGhpcy5OYXZpZ2F0aW9uUHJvcGVydHlCaW5kaW5ncykgJiZcbiAgICAgIHRoaXMuTmF2aWdhdGlvblByb3BlcnR5QmluZGluZ3MubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAganNvblsnTmF2aWdhdGlvblByb3BlcnR5QmluZGluZ3MnXSA9IHRoaXMuTmF2aWdhdGlvblByb3BlcnR5QmluZGluZ3MubWFwKFxuICAgICAgICAobikgPT4gbi50b0pzb24oKSxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgbmFtZSgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5OYW1lfWA7XG4gIH1cblxuICBuYW1lc3BhY2UoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuY29udGFpbmVyLm5hbWVzcGFjZSgpfWA7XG4gIH1cblxuICBmdWxsTmFtZSgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5jb250YWluZXIubmFtZXNwYWNlKCl9LiR7dGhpcy5OYW1lfWA7XG4gIH1cbn1cbiJdfQ==
|