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.
Files changed (159) hide show
  1. package/fesm2022/angular-odata.mjs +2298 -2162
  2. package/fesm2022/angular-odata.mjs.map +1 -1
  3. package/lib/api.d.ts +10 -11
  4. package/lib/cache/cache.d.ts +2 -2
  5. package/lib/cache/memory.d.ts +2 -2
  6. package/lib/cache/storage.d.ts +2 -2
  7. package/lib/loaders.d.ts +8 -8
  8. package/lib/metadata/csdl/csdl-annotation.d.ts +3 -3
  9. package/lib/metadata/csdl/csdl-entity-container.d.ts +2 -2
  10. package/lib/metadata/csdl/csdl-entity-set.d.ts +2 -2
  11. package/lib/metadata/csdl/csdl-enum-type.d.ts +3 -3
  12. package/lib/metadata/csdl/csdl-function-action.d.ts +4 -4
  13. package/lib/metadata/csdl/csdl-reference.d.ts +2 -2
  14. package/lib/metadata/csdl/csdl-schema.d.ts +2 -2
  15. package/lib/metadata/csdl/csdl-structural-property.d.ts +3 -3
  16. package/lib/metadata/csdl/csdl-structured-type.d.ts +3 -3
  17. package/lib/metadata/metadata.d.ts +2 -2
  18. package/lib/models/options.d.ts +2 -2
  19. package/lib/module.d.ts +3 -3
  20. package/lib/options.d.ts +3 -3
  21. package/lib/resources/query/expressions/apply.d.ts +1 -1
  22. package/lib/resources/query/expressions/compute.d.ts +1 -1
  23. package/lib/resources/query/expressions/count.d.ts +1 -1
  24. package/lib/resources/query/expressions/expand.d.ts +4 -3
  25. package/lib/resources/query/expressions/filter.d.ts +2 -1
  26. package/lib/resources/query/expressions/orderby.d.ts +2 -1
  27. package/lib/resources/query/expressions/search.d.ts +2 -1
  28. package/lib/resources/query/expressions/select.d.ts +2 -1
  29. package/lib/resources/query/handlers.d.ts +17 -5
  30. package/lib/resources/resource.d.ts +5 -5
  31. package/lib/resources/types/action.d.ts +2 -2
  32. package/lib/resources/types/entity-set.d.ts +2 -2
  33. package/lib/resources/types/navigation-property.d.ts +2 -2
  34. package/lib/resources/types/property.d.ts +2 -2
  35. package/lib/schema/annotation.d.ts +3 -3
  36. package/lib/schema/callable.d.ts +3 -3
  37. package/lib/schema/element.d.ts +3 -3
  38. package/lib/schema/entity-container.d.ts +2 -2
  39. package/lib/schema/entity-set.d.ts +2 -2
  40. package/lib/schema/enum-type.d.ts +2 -2
  41. package/lib/schema/parsers/callable.d.ts +4 -4
  42. package/lib/schema/parsers/enum-type.d.ts +3 -3
  43. package/lib/schema/parsers/structured-type.d.ts +4 -4
  44. package/lib/schema/schema.d.ts +3 -3
  45. package/lib/schema/singleton.d.ts +2 -2
  46. package/lib/schema/structured-type.d.ts +3 -3
  47. package/lib/services/entity.d.ts +1 -1
  48. package/lib/settings.d.ts +2 -2
  49. package/lib/types.d.ts +76 -74
  50. package/lib/utils/odata.d.ts +2 -2
  51. package/package.json +3 -5
  52. package/schematics/apigen/files/api-config/__fileName__.ts +4 -4
  53. package/esm2022/angular-odata.mjs +0 -5
  54. package/esm2022/lib/annotations.mjs +0 -146
  55. package/esm2022/lib/api.mjs +0 -439
  56. package/esm2022/lib/cache/cache.mjs +0 -177
  57. package/esm2022/lib/cache/index.mjs +0 -4
  58. package/esm2022/lib/cache/memory.mjs +0 -30
  59. package/esm2022/lib/cache/storage.mjs +0 -57
  60. package/esm2022/lib/client.mjs +0 -215
  61. package/esm2022/lib/constants.mjs +0 -95
  62. package/esm2022/lib/helper.mjs +0 -288
  63. package/esm2022/lib/index.mjs +0 -22
  64. package/esm2022/lib/loaders.mjs +0 -43
  65. package/esm2022/lib/metadata/csdl/csdl-annotation.mjs +0 -273
  66. package/esm2022/lib/metadata/csdl/csdl-entity-container.mjs +0 -59
  67. package/esm2022/lib/metadata/csdl/csdl-entity-set.mjs +0 -50
  68. package/esm2022/lib/metadata/csdl/csdl-enum-type.mjs +0 -74
  69. package/esm2022/lib/metadata/csdl/csdl-function-action.mjs +0 -204
  70. package/esm2022/lib/metadata/csdl/csdl-navigation-property-binding.mjs +0 -15
  71. package/esm2022/lib/metadata/csdl/csdl-reference.mjs +0 -76
  72. package/esm2022/lib/metadata/csdl/csdl-schema.mjs +0 -87
  73. package/esm2022/lib/metadata/csdl/csdl-singleton.mjs +0 -37
  74. package/esm2022/lib/metadata/csdl/csdl-structural-property.mjs +0 -145
  75. package/esm2022/lib/metadata/csdl/csdl-structured-type.mjs +0 -159
  76. package/esm2022/lib/metadata/csdl/csdl-type-definition.mjs +0 -46
  77. package/esm2022/lib/metadata/index.mjs +0 -3
  78. package/esm2022/lib/metadata/metadata.mjs +0 -41
  79. package/esm2022/lib/metadata/parser.mjs +0 -564
  80. package/esm2022/lib/models/collection.mjs +0 -816
  81. package/esm2022/lib/models/index.mjs +0 -4
  82. package/esm2022/lib/models/model.mjs +0 -577
  83. package/esm2022/lib/models/options.mjs +0 -1227
  84. package/esm2022/lib/module.mjs +0 -55
  85. package/esm2022/lib/options.mjs +0 -91
  86. package/esm2022/lib/resources/index.mjs +0 -7
  87. package/esm2022/lib/resources/options.mjs +0 -66
  88. package/esm2022/lib/resources/path/handlers.mjs +0 -81
  89. package/esm2022/lib/resources/path/index.mjs +0 -3
  90. package/esm2022/lib/resources/path/segments.mjs +0 -149
  91. package/esm2022/lib/resources/query/builder.mjs +0 -645
  92. package/esm2022/lib/resources/query/expressions/apply.mjs +0 -238
  93. package/esm2022/lib/resources/query/expressions/base.mjs +0 -26
  94. package/esm2022/lib/resources/query/expressions/compute.mjs +0 -55
  95. package/esm2022/lib/resources/query/expressions/count.mjs +0 -118
  96. package/esm2022/lib/resources/query/expressions/expand.mjs +0 -154
  97. package/esm2022/lib/resources/query/expressions/filter.mjs +0 -180
  98. package/esm2022/lib/resources/query/expressions/index.mjs +0 -10
  99. package/esm2022/lib/resources/query/expressions/orderby.mjs +0 -81
  100. package/esm2022/lib/resources/query/expressions/search.mjs +0 -144
  101. package/esm2022/lib/resources/query/expressions/select.mjs +0 -49
  102. package/esm2022/lib/resources/query/expressions/syntax.mjs +0 -770
  103. package/esm2022/lib/resources/query/handlers.mjs +0 -423
  104. package/esm2022/lib/resources/query/index.mjs +0 -5
  105. package/esm2022/lib/resources/query/options.mjs +0 -140
  106. package/esm2022/lib/resources/request.mjs +0 -210
  107. package/esm2022/lib/resources/resource.mjs +0 -316
  108. package/esm2022/lib/resources/response.mjs +0 -180
  109. package/esm2022/lib/resources/types/action.mjs +0 -118
  110. package/esm2022/lib/resources/types/batch.mjs +0 -428
  111. package/esm2022/lib/resources/types/count.mjs +0 -33
  112. package/esm2022/lib/resources/types/entity-set.mjs +0 -131
  113. package/esm2022/lib/resources/types/entity.mjs +0 -112
  114. package/esm2022/lib/resources/types/function.mjs +0 -149
  115. package/esm2022/lib/resources/types/index.mjs +0 -15
  116. package/esm2022/lib/resources/types/media.mjs +0 -44
  117. package/esm2022/lib/resources/types/metadata.mjs +0 -35
  118. package/esm2022/lib/resources/types/navigation-property.mjs +0 -246
  119. package/esm2022/lib/resources/types/options.mjs +0 -2
  120. package/esm2022/lib/resources/types/property.mjs +0 -187
  121. package/esm2022/lib/resources/types/reference.mjs +0 -87
  122. package/esm2022/lib/resources/types/singleton.mjs +0 -125
  123. package/esm2022/lib/resources/types/value.mjs +0 -48
  124. package/esm2022/lib/schema/annotation.mjs +0 -44
  125. package/esm2022/lib/schema/callable.mjs +0 -69
  126. package/esm2022/lib/schema/element.mjs +0 -70
  127. package/esm2022/lib/schema/entity-container.mjs +0 -13
  128. package/esm2022/lib/schema/entity-set.mjs +0 -11
  129. package/esm2022/lib/schema/enum-type.mjs +0 -69
  130. package/esm2022/lib/schema/index.mjs +0 -9
  131. package/esm2022/lib/schema/parsers/callable.mjs +0 -123
  132. package/esm2022/lib/schema/parsers/edm.mjs +0 -101
  133. package/esm2022/lib/schema/parsers/enum-type.mjs +0 -148
  134. package/esm2022/lib/schema/parsers/index.mjs +0 -5
  135. package/esm2022/lib/schema/parsers/structured-type.mjs +0 -548
  136. package/esm2022/lib/schema/schema.mjs +0 -52
  137. package/esm2022/lib/schema/singleton.mjs +0 -11
  138. package/esm2022/lib/schema/structured-type.mjs +0 -220
  139. package/esm2022/lib/services/base.mjs +0 -32
  140. package/esm2022/lib/services/entity-set.mjs +0 -161
  141. package/esm2022/lib/services/entity.mjs +0 -12
  142. package/esm2022/lib/services/factory.mjs +0 -39
  143. package/esm2022/lib/services/index.mjs +0 -5
  144. package/esm2022/lib/services/singleton.mjs +0 -55
  145. package/esm2022/lib/settings.mjs +0 -113
  146. package/esm2022/lib/types.mjs +0 -118
  147. package/esm2022/lib/utils/arraybuffers.mjs +0 -46
  148. package/esm2022/lib/utils/arrays.mjs +0 -10
  149. package/esm2022/lib/utils/dates.mjs +0 -18
  150. package/esm2022/lib/utils/durations.mjs +0 -40
  151. package/esm2022/lib/utils/enums.mjs +0 -61
  152. package/esm2022/lib/utils/http.mjs +0 -95
  153. package/esm2022/lib/utils/index.mjs +0 -10
  154. package/esm2022/lib/utils/objects.mjs +0 -204
  155. package/esm2022/lib/utils/odata.mjs +0 -22
  156. package/esm2022/lib/utils/strings.mjs +0 -20
  157. package/esm2022/lib/utils/types.mjs +0 -136
  158. package/esm2022/lib/utils/urls.mjs +0 -24
  159. 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==