angular-odata 0.92.0 → 0.95.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 (196) hide show
  1. package/{esm2015/angular-odata.js → esm2020/angular-odata.mjs} +0 -0
  2. package/esm2020/lib/api.mjs +303 -0
  3. package/{esm2015/lib/cache/cache.js → esm2020/lib/cache/cache.mjs} +3 -3
  4. package/{esm2015/lib/cache/index.js → esm2020/lib/cache/index.mjs} +0 -0
  5. package/{esm2015/lib/cache/memory.js → esm2020/lib/cache/memory.mjs} +1 -1
  6. package/{esm2015/lib/cache/storage.js → esm2020/lib/cache/storage.mjs} +2 -2
  7. package/esm2020/lib/client.mjs +271 -0
  8. package/{esm2015/lib/constants.js → esm2020/lib/constants.mjs} +3 -1
  9. package/esm2020/lib/helper.mjs +268 -0
  10. package/{esm2015/lib/index.js → esm2020/lib/index.mjs} +0 -0
  11. package/esm2020/lib/models/collection.mjs +741 -0
  12. package/{esm2015/lib/models/index.js → esm2020/lib/models/index.mjs} +0 -0
  13. package/esm2020/lib/models/model.mjs +453 -0
  14. package/esm2020/lib/models/options.mjs +945 -0
  15. package/{esm2015/lib/module.js → esm2020/lib/module.mjs} +7 -7
  16. package/esm2020/lib/options.mjs +32 -0
  17. package/{esm2015/lib/resources/index.js → esm2020/lib/resources/index.mjs} +0 -0
  18. package/{esm2015/lib/resources/path/handlers.js → esm2020/lib/resources/path/handlers.mjs} +1 -1
  19. package/{esm2015/lib/resources/path/index.js → esm2020/lib/resources/path/index.mjs} +0 -0
  20. package/esm2020/lib/resources/path/segments.mjs +124 -0
  21. package/esm2020/lib/resources/query/builder.mjs +590 -0
  22. package/esm2020/lib/resources/query/expressions.mjs +207 -0
  23. package/esm2020/lib/resources/query/handlers.mjs +186 -0
  24. package/{esm2015/lib/resources/query/index.js → esm2020/lib/resources/query/index.mjs} +0 -0
  25. package/esm2020/lib/resources/query/options.mjs +103 -0
  26. package/esm2020/lib/resources/query/syntax.mjs +406 -0
  27. package/esm2020/lib/resources/request.mjs +167 -0
  28. package/esm2020/lib/resources/resource.mjs +326 -0
  29. package/esm2020/lib/resources/responses/annotations.mjs +119 -0
  30. package/{esm2015/lib/resources/responses/csdl/csdl-annotation.js → esm2020/lib/resources/responses/csdl/csdl-annotation.mjs} +0 -0
  31. package/{esm2015/lib/resources/responses/csdl/csdl-entity-container.js → esm2020/lib/resources/responses/csdl/csdl-entity-container.mjs} +0 -0
  32. package/{esm2015/lib/resources/responses/csdl/csdl-entity-set.js → esm2020/lib/resources/responses/csdl/csdl-entity-set.mjs} +0 -0
  33. package/{esm2015/lib/resources/responses/csdl/csdl-enum-type.js → esm2020/lib/resources/responses/csdl/csdl-enum-type.mjs} +0 -0
  34. package/{esm2015/lib/resources/responses/csdl/csdl-function-action.js → esm2020/lib/resources/responses/csdl/csdl-function-action.mjs} +0 -0
  35. package/{esm2015/lib/resources/responses/csdl/csdl-navigation-property-binding.js → esm2020/lib/resources/responses/csdl/csdl-navigation-property-binding.mjs} +0 -0
  36. package/{esm2015/lib/resources/responses/csdl/csdl-reference.js → esm2020/lib/resources/responses/csdl/csdl-reference.mjs} +0 -0
  37. package/{esm2015/lib/resources/responses/csdl/csdl-schema.js → esm2020/lib/resources/responses/csdl/csdl-schema.mjs} +0 -0
  38. package/{esm2015/lib/resources/responses/csdl/csdl-singleton.js → esm2020/lib/resources/responses/csdl/csdl-singleton.mjs} +0 -0
  39. package/{esm2015/lib/resources/responses/csdl/csdl-structural-property.js → esm2020/lib/resources/responses/csdl/csdl-structural-property.mjs} +0 -0
  40. package/{esm2015/lib/resources/responses/csdl/csdl-structured-type.js → esm2020/lib/resources/responses/csdl/csdl-structured-type.mjs} +0 -0
  41. package/{esm2015/lib/resources/responses/csdl/csdl-type-definition.js → esm2020/lib/resources/responses/csdl/csdl-type-definition.mjs} +0 -0
  42. package/{esm2015/lib/resources/responses/index.js → esm2020/lib/resources/responses/index.mjs} +0 -0
  43. package/esm2020/lib/resources/responses/metadata.mjs +547 -0
  44. package/{esm2015/lib/resources/responses/options.js → esm2020/lib/resources/responses/options.mjs} +0 -0
  45. package/{esm2015/lib/resources/responses/response.js → esm2020/lib/resources/responses/response.mjs} +0 -0
  46. package/{esm2015/lib/resources/responses/types.js → esm2020/lib/resources/responses/types.mjs} +0 -0
  47. package/esm2020/lib/resources/types/action.mjs +101 -0
  48. package/esm2020/lib/resources/types/batch.mjs +288 -0
  49. package/esm2020/lib/resources/types/count.mjs +27 -0
  50. package/esm2020/lib/resources/types/entity-set.mjs +94 -0
  51. package/esm2020/lib/resources/types/entity.mjs +106 -0
  52. package/esm2020/lib/resources/types/function.mjs +137 -0
  53. package/{esm2015/lib/resources/types/index.js → esm2020/lib/resources/types/index.mjs} +0 -0
  54. package/esm2020/lib/resources/types/media.mjs +41 -0
  55. package/esm2020/lib/resources/types/metadata.mjs +30 -0
  56. package/esm2020/lib/resources/types/navigation-property.mjs +226 -0
  57. package/esm2020/lib/resources/types/options.mjs +2 -0
  58. package/esm2020/lib/resources/types/property.mjs +183 -0
  59. package/esm2020/lib/resources/types/reference.mjs +85 -0
  60. package/esm2020/lib/resources/types/singleton.mjs +126 -0
  61. package/esm2020/lib/resources/types/value.mjs +41 -0
  62. package/esm2020/lib/schema/annotation.mjs +37 -0
  63. package/esm2020/lib/schema/callable.mjs +62 -0
  64. package/esm2020/lib/schema/element.mjs +51 -0
  65. package/esm2020/lib/schema/entity-container.mjs +9 -0
  66. package/esm2020/lib/schema/entity-set.mjs +9 -0
  67. package/esm2020/lib/schema/enum-type.mjs +71 -0
  68. package/{esm2015/lib/schema/index.js → esm2020/lib/schema/index.mjs} +0 -0
  69. package/esm2020/lib/schema/parsers/callable.mjs +113 -0
  70. package/{esm2015/lib/schema/parsers/edm.js → esm2020/lib/schema/parsers/edm.mjs} +2 -2
  71. package/esm2020/lib/schema/parsers/enum-type.mjs +107 -0
  72. package/{esm2015/lib/schema/parsers/index.js → esm2020/lib/schema/parsers/index.mjs} +0 -0
  73. package/esm2020/lib/schema/parsers/structured-type.mjs +412 -0
  74. package/esm2020/lib/schema/schema.mjs +61 -0
  75. package/esm2020/lib/schema/structured-type.mjs +198 -0
  76. package/esm2020/lib/services/base.mjs +29 -0
  77. package/esm2020/lib/services/entity-set.mjs +143 -0
  78. package/esm2020/lib/services/entity.mjs +12 -0
  79. package/{esm2015/lib/services/factory.js → esm2020/lib/services/factory.mjs} +3 -3
  80. package/{esm2015/lib/services/index.js → esm2020/lib/services/index.mjs} +0 -0
  81. package/{esm2015/lib/services/singleton.js → esm2020/lib/services/singleton.mjs} +1 -1
  82. package/{esm2015/lib/settings.js → esm2020/lib/settings.mjs} +1 -1
  83. package/{esm2015/lib/tokens.js → esm2020/lib/tokens.mjs} +0 -0
  84. package/esm2020/lib/types.mjs +37 -0
  85. package/{esm2015/lib/utils/arraybuffers.js → esm2020/lib/utils/arraybuffers.mjs} +0 -0
  86. package/{esm2015/lib/utils/dates.js → esm2020/lib/utils/dates.mjs} +0 -0
  87. package/{esm2015/lib/utils/durations.js → esm2020/lib/utils/durations.mjs} +0 -0
  88. package/{esm2015/lib/utils/enums.js → esm2020/lib/utils/enums.mjs} +0 -0
  89. package/{esm2015/lib/utils/http.js → esm2020/lib/utils/http.mjs} +0 -0
  90. package/{esm2015/lib/utils/index.js → esm2020/lib/utils/index.mjs} +0 -0
  91. package/{esm2015/lib/utils/objects.js → esm2020/lib/utils/objects.mjs} +0 -0
  92. package/esm2020/lib/utils/odata.mjs +22 -0
  93. package/{esm2015/lib/utils/strings.js → esm2020/lib/utils/strings.mjs} +0 -0
  94. package/{esm2015/lib/utils/types.js → esm2020/lib/utils/types.mjs} +0 -0
  95. package/{esm2015/lib/utils/urls.js → esm2020/lib/utils/urls.mjs} +0 -0
  96. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  97. package/fesm2015/{angular-odata.js → angular-odata.mjs} +849 -750
  98. package/fesm2015/angular-odata.mjs.map +1 -0
  99. package/fesm2020/angular-odata.mjs +10274 -0
  100. package/fesm2020/angular-odata.mjs.map +1 -0
  101. package/lib/api.d.ts +10 -10
  102. package/lib/cache/cache.d.ts +2 -2
  103. package/lib/cache/storage.d.ts +1 -1
  104. package/lib/client.d.ts +3 -3
  105. package/lib/constants.d.ts +1 -0
  106. package/lib/models/collection.d.ts +11 -19
  107. package/lib/models/model.d.ts +22 -18
  108. package/lib/models/options.d.ts +16 -21
  109. package/lib/module.d.ts +1 -1
  110. package/lib/options.d.ts +1 -0
  111. package/lib/resources/path/segments.d.ts +1 -1
  112. package/lib/resources/query/expressions.d.ts +37 -27
  113. package/lib/resources/query/handlers.d.ts +7 -11
  114. package/lib/resources/query/options.d.ts +2 -2
  115. package/lib/resources/query/syntax.d.ts +52 -54
  116. package/lib/resources/request.d.ts +1 -1
  117. package/lib/resources/resource.d.ts +25 -8
  118. package/lib/resources/types/action.d.ts +12 -19
  119. package/lib/resources/types/batch.d.ts +1 -3
  120. package/lib/resources/types/count.d.ts +5 -4
  121. package/lib/resources/types/entity-set.d.ts +11 -15
  122. package/lib/resources/types/entity.d.ts +12 -15
  123. package/lib/resources/types/function.d.ts +11 -18
  124. package/lib/resources/types/media.d.ts +6 -5
  125. package/lib/resources/types/metadata.d.ts +3 -5
  126. package/lib/resources/types/navigation-property.d.ts +15 -21
  127. package/lib/resources/types/property.d.ts +13 -19
  128. package/lib/resources/types/reference.d.ts +39 -6
  129. package/lib/resources/types/singleton.d.ts +12 -16
  130. package/lib/resources/types/value.d.ts +9 -5
  131. package/lib/schema/{base.d.ts → annotation.d.ts} +0 -0
  132. package/lib/schema/callable.d.ts +2 -18
  133. package/lib/schema/element.d.ts +39 -0
  134. package/lib/schema/entity-container.d.ts +2 -12
  135. package/lib/schema/entity-set.d.ts +2 -18
  136. package/lib/schema/enum-type.d.ts +2 -26
  137. package/lib/schema/parsers/enum-type.d.ts +4 -4
  138. package/lib/schema/parsers/structured-type.d.ts +4 -4
  139. package/lib/schema/schema.d.ts +2 -2
  140. package/lib/schema/structured-type.d.ts +8 -26
  141. package/lib/services/base.d.ts +2 -2
  142. package/lib/services/entity-set.d.ts +2 -2
  143. package/lib/services/entity.d.ts +1 -1
  144. package/lib/services/singleton.d.ts +2 -2
  145. package/lib/settings.d.ts +5 -5
  146. package/lib/types.d.ts +1 -0
  147. package/package.json +21 -8
  148. package/bundles/angular-odata.umd.js +0 -11861
  149. package/bundles/angular-odata.umd.js.map +0 -1
  150. package/esm2015/lib/api.js +0 -296
  151. package/esm2015/lib/client.js +0 -272
  152. package/esm2015/lib/helper.js +0 -268
  153. package/esm2015/lib/models/collection.js +0 -734
  154. package/esm2015/lib/models/model.js +0 -438
  155. package/esm2015/lib/models/options.js +0 -942
  156. package/esm2015/lib/options.js +0 -31
  157. package/esm2015/lib/resources/path/segments.js +0 -124
  158. package/esm2015/lib/resources/query/builder.js +0 -591
  159. package/esm2015/lib/resources/query/expressions.js +0 -194
  160. package/esm2015/lib/resources/query/handlers.js +0 -192
  161. package/esm2015/lib/resources/query/options.js +0 -103
  162. package/esm2015/lib/resources/query/syntax.js +0 -367
  163. package/esm2015/lib/resources/request.js +0 -168
  164. package/esm2015/lib/resources/resource.js +0 -243
  165. package/esm2015/lib/resources/responses/annotations.js +0 -121
  166. package/esm2015/lib/resources/responses/metadata.js +0 -548
  167. package/esm2015/lib/resources/types/action.js +0 -105
  168. package/esm2015/lib/resources/types/batch.js +0 -294
  169. package/esm2015/lib/resources/types/count.js +0 -33
  170. package/esm2015/lib/resources/types/entity-set.js +0 -101
  171. package/esm2015/lib/resources/types/entity.js +0 -137
  172. package/esm2015/lib/resources/types/function.js +0 -130
  173. package/esm2015/lib/resources/types/media.js +0 -47
  174. package/esm2015/lib/resources/types/metadata.js +0 -36
  175. package/esm2015/lib/resources/types/navigation-property.js +0 -205
  176. package/esm2015/lib/resources/types/options.js +0 -2
  177. package/esm2015/lib/resources/types/property.js +0 -151
  178. package/esm2015/lib/resources/types/reference.js +0 -74
  179. package/esm2015/lib/resources/types/singleton.js +0 -167
  180. package/esm2015/lib/resources/types/value.js +0 -35
  181. package/esm2015/lib/schema/base.js +0 -37
  182. package/esm2015/lib/schema/callable.js +0 -82
  183. package/esm2015/lib/schema/entity-container.js +0 -24
  184. package/esm2015/lib/schema/entity-set.js +0 -35
  185. package/esm2015/lib/schema/enum-type.js +0 -102
  186. package/esm2015/lib/schema/parsers/callable.js +0 -107
  187. package/esm2015/lib/schema/parsers/enum-type.js +0 -107
  188. package/esm2015/lib/schema/parsers/structured-type.js +0 -392
  189. package/esm2015/lib/schema/schema.js +0 -52
  190. package/esm2015/lib/schema/structured-type.js +0 -220
  191. package/esm2015/lib/services/base.js +0 -23
  192. package/esm2015/lib/services/entity-set.js +0 -146
  193. package/esm2015/lib/services/entity.js +0 -12
  194. package/esm2015/lib/types.js +0 -37
  195. package/esm2015/lib/utils/odata.js +0 -21
  196. package/fesm2015/angular-odata.js.map +0 -1
@@ -1,220 +0,0 @@
1
- import { ODataStructuredTypeParser, } from './parsers';
2
- import { ODataAnnotatable } from './base';
3
- import { Strings } from '../utils/strings';
4
- export class ODataStructuredType extends ODataAnnotatable {
5
- constructor(config, schema) {
6
- super(config);
7
- this.children = [];
8
- this.schema = schema;
9
- this.name = config.name;
10
- this.base = config.base;
11
- this.open = config.open || false;
12
- this.parser = new ODataStructuredTypeParser(config, schema.namespace, schema.alias);
13
- this.model = config.model;
14
- this.collection = config.collection;
15
- if (this.model !== undefined) {
16
- const options = this.model.hasOwnProperty('options')
17
- ? this.model.options
18
- : { fields: {} };
19
- this.model.buildMeta(options, this);
20
- }
21
- if (this.collection !== undefined) {
22
- this.collection.model = this.model;
23
- }
24
- }
25
- get api() {
26
- return this.schema.api;
27
- }
28
- configure({ parserForType, findOptionsForType, }) {
29
- if (this.base) {
30
- const parent = this.api.findStructuredTypeForType(this.base);
31
- parent.children.push(this);
32
- this.parent = parent;
33
- }
34
- this.parser.configure({ parserForType, options: this.api.options });
35
- if (this.model !== undefined && this.model.options !== null) {
36
- this.model.meta.configure({
37
- findOptionsForType,
38
- options: this.api.options,
39
- });
40
- }
41
- }
42
- /**
43
- * Create a nicer looking title.
44
- * Titleize is meant for creating pretty output.
45
- * @param term The term of the annotation to find.
46
- * @returns The titleized string.
47
- */
48
- titelize(term) {
49
- return this.annotatedValue(term) || Strings.titleCase(this.name);
50
- }
51
- /**
52
- * Returns a full type of the structured type including the namespace/alias.
53
- * @param alias Use the alias of the namespace instead of the namespace.
54
- * @returns The string representation of the type.
55
- */
56
- type({ alias = false } = {}) {
57
- return `${alias ? this.schema.alias : this.schema.namespace}.${this.name}`;
58
- }
59
- /**
60
- * Returns a boolean indicating if the structured type is of the given type.
61
- * @param type String representation of the type
62
- * @returns True if the callable is type of the given type
63
- */
64
- isTypeOf(type) {
65
- return this.parser.isTypeOf(type);
66
- }
67
- /**
68
- * Returns a boolean indicating if the structured type has a simple key.
69
- * @returns True if the structured type has a simple key
70
- */
71
- isSimpleKey() {
72
- return this.keys().length === 1;
73
- }
74
- /**
75
- * Returns a boolean indicating if the structured type has a compound key.
76
- * @returns True if the structured type has a compound key.
77
- */
78
- isCompoundKey() {
79
- return this.keys().length > 1;
80
- }
81
- /**
82
- * Find the field parser for the given field name.
83
- * @param name Name of the field
84
- * @returns The field parser
85
- */
86
- findFieldByName(name) {
87
- return this.fields({
88
- include_parents: true,
89
- include_navigation: true,
90
- }).find((f) => f.name === name);
91
- }
92
- /**
93
- * Find a parent schema of the structured type.
94
- * @param predicate Function for evaluate the schemas in the hierarchy.
95
- * @returns The schema that matches the predicate.
96
- */
97
- findParentSchema(predicate) {
98
- if (predicate(this))
99
- return this;
100
- if (this.parent === undefined)
101
- return undefined;
102
- return this.parent.findParentSchema(predicate);
103
- }
104
- /**
105
- * Find a parent schema of the structured type for the given field.
106
- * @param field Field that belongs to the structured type
107
- * @returns The schema of the field
108
- */
109
- findSchemaForField(field) {
110
- return this.findParentSchema((p) => p
111
- .fields({ include_parents: false, include_navigation: true })
112
- .find((f) => f === field) !== undefined);
113
- }
114
- /**
115
- * Returns all fields of the structured type.
116
- * @param include_navigation Include navigation properties in the result.
117
- * @param include_parents Include the parent types in the result.
118
- * @returns All fields of the structured type.
119
- */
120
- fields({ include_navigation, include_parents, }) {
121
- return [
122
- ...(include_parents && this.parent !== undefined
123
- ? this.parent.fields({ include_parents, include_navigation })
124
- : []),
125
- ...this.parser.fields.filter((field) => include_navigation || !field.navigation),
126
- ];
127
- }
128
- /**
129
- * Returns the keys of the structured type.
130
- * @param include_parents Include the parent fields
131
- * @returns The keys of the structured type
132
- */
133
- keys({ include_parents = true, } = {}) {
134
- return [
135
- ...(include_parents && this.parent !== undefined
136
- ? this.parent.keys({ include_parents })
137
- : []),
138
- ...(this.parser.keys || []),
139
- ];
140
- }
141
- /**
142
- * Picks the fields from attributes.
143
- * @param attrs
144
- * @param include_parents Include the parent fields
145
- * @param include_navigation Include the navigation fields
146
- * @param include_etag Include the etag field
147
- * @returns The picked fields
148
- */
149
- pick(attrs, { include_parents = true, include_navigation = false, include_etag = true, } = {}) {
150
- const names = this.fields({ include_parents, include_navigation }).map((f) => f.name);
151
- let values = Object.keys(attrs)
152
- .filter((k) => names.indexOf(k) !== -1)
153
- .reduce((acc, k) => Object.assign(acc, { [k]: attrs[k] }), {});
154
- if (include_etag) {
155
- const etag = this.api.options.helper.etag(attrs);
156
- this.api.options.helper.etag(attrs, etag);
157
- }
158
- return values;
159
- }
160
- /**
161
- * Deseialize the given value from the structured type.
162
- * @param value Value to deserialize
163
- * @param options Options for deserialization
164
- * @returns Deserialized value
165
- */
166
- deserialize(value, options) {
167
- return this.parser.deserialize(value, options);
168
- }
169
- /**
170
- * Serialize the given value for the structured type.
171
- * @param value Value to serialize
172
- * @param options Options for serialization
173
- * @returns Serialized value
174
- */
175
- serialize(value, options) {
176
- return this.parser.serialize(value, options);
177
- }
178
- /**
179
- * Encode the given value for the structured type.
180
- * @param value Value to encode
181
- * @param options Options for encoding
182
- * @returns Encoded value
183
- */
184
- encode(value, options) {
185
- return this.parser.encode(value, options);
186
- }
187
- /**
188
- * Resolve the key of the structured type for the given value.
189
- * @param attrs Attributes of the value
190
- * @returns Resolved key
191
- */
192
- resolveKey(attrs) {
193
- return this.parser.resolveKey(attrs);
194
- }
195
- /**
196
- * Returns the defaults values for the structured type.
197
- * @returns Default values for the structured type
198
- */
199
- defaults() {
200
- return this.parser.defaults();
201
- }
202
- /**
203
- * Convert the structured type to json schema
204
- * @param options Options for json schema
205
- * @returns Json Schema
206
- */
207
- toJsonSchema(options = {}) {
208
- return this.parser.toJsonSchema(options);
209
- }
210
- /**
211
- * Validate the given value against the structured type.
212
- * @param attrs Attributes of the value
213
- * @param method Method to use for the process validation
214
- * @returns Object with the errors
215
- */
216
- validate(attrs, { method, navigation = false, } = {}) {
217
- return this.parser.validate(attrs, { method, navigation });
218
- }
219
- }
220
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0dXJlZC10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3NjaGVtYS9zdHJ1Y3R1cmVkLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlMLHlCQUF5QixHQUMxQixNQUFNLFdBQVcsQ0FBQztBQUduQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFJMUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTNDLE1BQU0sT0FBTyxtQkFBdUIsU0FBUSxnQkFBZ0I7SUFXMUQsWUFBWSxNQUErQixFQUFFLE1BQW1CO1FBQzlELEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQU5oQixhQUFRLEdBQStCLEVBQUUsQ0FBQztRQU94QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxLQUFLLENBQUM7UUFDakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLHlCQUF5QixDQUN6QyxNQUFNLEVBQ04sTUFBTSxDQUFDLFNBQVMsRUFDaEIsTUFBTSxDQUFDLEtBQUssQ0FDYixDQUFDO1FBQ0YsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBMEIsQ0FBQztRQUMvQyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFvQyxDQUFDO1FBQzlELElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUU7WUFDNUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDO2dCQUNs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aXR5VHlwZUtleSxcbiAgT0RhdGFTdHJ1Y3R1cmVkVHlwZUZpZWxkUGFyc2VyLFxuICBPRGF0YVN0cnVjdHVyZWRUeXBlUGFyc2VyLFxufSBmcm9tICcuL3BhcnNlcnMnO1xuaW1wb3J0IHsgT3B0aW9ucywgU3RydWN0dXJlZFR5cGVDb25maWcgfSBmcm9tICcuLi90eXBlcyc7XG5cbmltcG9ydCB7IE9EYXRhQW5ub3RhdGFibGUgfSBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0IHsgT0RhdGFDb2xsZWN0aW9uIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IE9EYXRhTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvbW9kZWwnO1xuaW1wb3J0IHsgT0RhdGFTY2hlbWEgfSBmcm9tICcuL3NjaGVtYSc7XG5pbXBvcnQgeyBTdHJpbmdzIH0gZnJvbSAnLi4vdXRpbHMvc3RyaW5ncyc7XG5cbmV4cG9ydCBjbGFzcyBPRGF0YVN0cnVjdHVyZWRUeXBlPFQ+IGV4dGVuZHMgT0RhdGFBbm5vdGF0YWJsZSB7XG4gIG5hbWU6IHN0cmluZztcbiAgc2NoZW1hOiBPRGF0YVNjaGVtYTtcbiAgYmFzZT86IHN0cmluZztcbiAgb3BlbjogYm9vbGVhbjtcbiAgcGFyZW50PzogT0RhdGFTdHJ1Y3R1cmVkVHlwZTxhbnk+O1xuICBjaGlsZHJlbjogT0RhdGFTdHJ1Y3R1cmVkVHlwZTxhbnk+W10gPSBbXTtcbiAgbW9kZWw/OiB0eXBlb2YgT0RhdGFNb2RlbDtcbiAgY29sbGVjdGlvbj86IHR5cGVvZiBPRGF0YUNvbGxlY3Rpb247XG4gIHBhcnNlcjogT0RhdGFTdHJ1Y3R1cmVkVHlwZVBhcnNlcjxUPjtcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IFN0cnVjdHVyZWRUeXBlQ29uZmlnPFQ+LCBzY2hlbWE6IE9EYXRhU2NoZW1hKSB7XG4gICAgc3VwZXIoY29uZmlnKTtcbiAgICB0aGlzLnNjaGVtYSA9IHNjaGVtYTtcbiAgICB0aGlzLm5hbWUgPSBjb25maWcubmFtZTtcbiAgICB0aGlzLmJhc2UgPSBjb25maWcuYmFzZTtcbiAgICB0aGlzLm9wZW4gPSBjb25maWcub3BlbiB8fCBmYWxzZTtcbiAgICB0aGlzLnBhcnNlciA9IG5ldyBPRGF0YVN0cnVjdHVyZWRUeXBlUGFyc2VyKFxuICAgICAgY29uZmlnLFxuICAgICAgc2NoZW1hLm5hbWVzcGFjZSxcbiAgICAgIHNjaGVtYS5hbGlhc1xuICAgICk7XG4gICAgdGhpcy5tb2RlbCA9IGNvbmZpZy5tb2RlbCBhcyB0eXBlb2YgT0RhdGFNb2RlbDtcbiAgICB0aGlzLmNvbGxlY3Rpb24gPSBjb25maWcuY29sbGVjdGlvbiBhcyB0eXBlb2YgT0RhdGFDb2xsZWN0aW9uO1xuICAgIGlmICh0aGlzLm1vZGVsICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLm1vZGVsLmhhc093blByb3BlcnR5KCdvcHRpb25zJylcbiAgICAgICAgPyB0aGlzLm1vZGVsLm9wdGlvbnNcbiAgICAgICAgOiB7IGZpZWxkczoge30gfTtcbiAgICAgIHRoaXMubW9kZWwuYnVpbGRNZXRhPFQ+KG9wdGlvbnMsIHRoaXMpO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb2xsZWN0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY29sbGVjdGlvbi5tb2RlbCA9IHRoaXMubW9kZWw7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGFwaSgpIHtcbiAgICByZXR1cm4gdGhpcy5zY2hlbWEuYXBpO1xuICB9XG5cbiAgY29uZmlndXJlKHtcbiAgICBwYXJzZXJGb3JUeXBlLFxuICAgIGZpbmRPcHRpb25zRm9yVHlwZSxcbiAgfToge1xuICAgIHBhcnNlckZvclR5cGU6ICh0eXBlOiBzdHJpbmcpID0+IGFueTtcbiAgICBmaW5kT3B0aW9uc0ZvclR5cGU6ICh0eXBlOiBzdHJpbmcpID0+IGFueTtcbiAgfSkge1xuICAgIGlmICh0aGlzLmJhc2UpIHtcbiAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuYXBpLmZpbmRTdHJ1Y3R1cmVkVHlwZUZvclR5cGUoXG4gICAgICAgIHRoaXMuYmFzZVxuICAgICAgKSBhcyBPRGF0YVN0cnVjdHVyZWRUeXBlPGFueT47XG4gICAgICBwYXJlbnQuY2hpbGRyZW4ucHVzaCh0aGlzKTtcbiAgICAgIHRoaXMucGFyZW50ID0gcGFyZW50O1xuICAgIH1cbiAgICB0aGlzLnBhcnNlci5jb25maWd1cmUoeyBwYXJzZXJGb3JUeXBlLCBvcHRpb25zOiB0aGlzLmFwaS5vcHRpb25zIH0pO1xuICAgIGlmICh0aGlzLm1vZGVsICE9PSB1bmRlZmluZWQgJiYgdGhpcy5tb2RlbC5vcHRpb25zICE9PSBudWxsKSB7XG4gICAgICB0aGlzLm1vZGVsLm1ldGEuY29uZmlndXJlKHtcbiAgICAgICAgZmluZE9wdGlvbnNGb3JUeXBlLFxuICAgICAgICBvcHRpb25zOiB0aGlzLmFwaS5vcHRpb25zLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5pY2VyIGxvb2tpbmcgdGl0bGUuXG4gICAqIFRpdGxlaXplIGlzIG1lYW50IGZvciBjcmVhdGluZyBwcmV0dHkgb3V0cHV0LlxuICAgKiBAcGFyYW0gdGVybSBUaGUgdGVybSBvZiB0aGUgYW5ub3RhdGlvbiB0byBmaW5kLlxuICAgKiBAcmV0dXJucyBUaGUgdGl0bGVpemVkIHN0cmluZy5cbiAgICovXG4gIHRpdGVsaXplKHRlcm06IHN0cmluZyB8IFJlZ0V4cCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYW5ub3RhdGVkVmFsdWUodGVybSkgfHwgU3RyaW5ncy50aXRsZUNhc2UodGhpcy5uYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgZnVsbCB0eXBlIG9mIHRoZSBzdHJ1Y3R1cmVkIHR5cGUgaW5jbHVkaW5nIHRoZSBuYW1lc3BhY2UvYWxpYXMuXG4gICAqIEBwYXJhbSBhbGlhcyBVc2UgdGhlIGFsaWFzIG9mIHRoZSBuYW1lc3BhY2UgaW5zdGVhZCBvZiB0aGUgbmFtZXNwYWNlLlxuICAgKiBAcmV0dXJucyBUaGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB0eXBlLlxuICAgKi9cbiAgdHlwZSh7IGFsaWFzID0gZmFsc2UgfTogeyBhbGlhcz86IGJvb2xlYW4gfSA9IHt9KSB7XG4gICAgcmV0dXJuIGAke2FsaWFzID8gdGhpcy5zY2hlbWEuYWxpYXMgOiB0aGlzLnNjaGVtYS5uYW1lc3BhY2V9LiR7dGhpcy5uYW1lfWA7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGJvb2xlYW4gaW5kaWNhdGluZyBpZiB0aGUgc3RydWN0dXJlZCB0eXBlIGlzIG9mIHRoZSBnaXZlbiB0eXBlLlxuICAgKiBAcGFyYW0gdHlwZSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHR5cGVcbiAgICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgY2FsbGFibGUgaXMgdHlwZSBvZiB0aGUgZ2l2ZW4gdHlwZVxuICAgKi9cbiAgaXNUeXBlT2YodHlwZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLmlzVHlwZU9mKHR5cGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBib29sZWFuIGluZGljYXRpbmcgaWYgdGhlIHN0cnVjdHVyZWQgdHlwZSBoYXMgYSBzaW1wbGUga2V5LlxuICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBzdHJ1Y3R1cmVkIHR5cGUgaGFzIGEgc2ltcGxlIGtleVxuICAgKi9cbiAgaXNTaW1wbGVLZXkoKSB7XG4gICAgcmV0dXJuIHRoaXMua2V5cygpLmxlbmd0aCA9PT0gMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgYm9vbGVhbiBpbmRpY2F0aW5nIGlmIHRoZSBzdHJ1Y3R1cmVkIHR5cGUgaGFzIGEgY29tcG91bmQga2V5LlxuICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBzdHJ1Y3R1cmVkIHR5cGUgaGFzIGEgY29tcG91bmQga2V5LlxuICAgKi9cbiAgaXNDb21wb3VuZEtleSgpIHtcbiAgICByZXR1cm4gdGhpcy5rZXlzKCkubGVuZ3RoID4gMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kIHRoZSBmaWVsZCBwYXJzZXIgZm9yIHRoZSBnaXZlbiBmaWVsZCBuYW1lLlxuICAgKiBAcGFyYW0gbmFtZSBOYW1lIG9mIHRoZSBmaWVsZFxuICAgKiBAcmV0dXJucyBUaGUgZmllbGQgcGFyc2VyXG4gICAqL1xuICBmaW5kRmllbGRCeU5hbWU8Rj4obmFtZToga2V5b2YgVCkge1xuICAgIHJldHVybiB0aGlzLmZpZWxkcyh7XG4gICAgICBpbmNsdWRlX3BhcmVudHM6IHRydWUsXG4gICAgICBpbmNsdWRlX25hdmlnYXRpb246IHRydWUsXG4gICAgfSkuZmluZCgoZikgPT4gZi5uYW1lID09PSBuYW1lKSBhcyBPRGF0YVN0cnVjdHVyZWRUeXBlRmllbGRQYXJzZXI8Rj47XG4gIH1cblxuICAvKipcbiAgICogRmluZCBhIHBhcmVudCBzY2hlbWEgb2YgdGhlIHN0cnVjdHVyZWQgdHlwZS5cbiAgICogQHBhcmFtIHByZWRpY2F0ZSBGdW5jdGlvbiBmb3IgZXZhbHVhdGUgdGhlIHNjaGVtYXMgaW4gdGhlIGhpZXJhcmNoeS5cbiAgICogQHJldHVybnMgVGhlIHNjaGVtYSB0aGF0IG1hdGNoZXMgdGhlIHByZWRpY2F0ZS5cbiAgICovXG4gIGZpbmRQYXJlbnRTY2hlbWEoXG4gICAgcHJlZGljYXRlOiAocDogT0RhdGFTdHJ1Y3R1cmVkVHlwZTxhbnk+KSA9PiBib29sZWFuXG4gICk6IE9EYXRhU3RydWN0dXJlZFR5cGU8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHByZWRpY2F0ZSh0aGlzKSkgcmV0dXJuIHRoaXM7XG4gICAgaWYgKHRoaXMucGFyZW50ID09PSB1bmRlZmluZWQpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50LmZpbmRQYXJlbnRTY2hlbWEocHJlZGljYXRlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kIGEgcGFyZW50IHNjaGVtYSBvZiB0aGUgc3RydWN0dXJlZCB0eXBlIGZvciB0aGUgZ2l2ZW4gZmllbGQuXG4gICAqIEBwYXJhbSBmaWVsZCBGaWVsZCB0aGF0IGJlbG9uZ3MgdG8gdGhlIHN0cnVjdHVyZWQgdHlwZVxuICAgKiBAcmV0dXJucyBUaGUgc2NoZW1hIG9mIHRoZSBmaWVsZFxuICAgKi9cbiAgZmluZFNjaGVtYUZvckZpZWxkKGZpZWxkOiBPRGF0YVN0cnVjdHVyZWRUeXBlRmllbGRQYXJzZXI8YW55Pikge1xuICAgIHJldHVybiB0aGlzLmZpbmRQYXJlbnRTY2hlbWEoXG4gICAgICAocCkgPT5cbiAgICAgICAgcFxuICAgICAgICAgIC5maWVsZHMoeyBpbmNsdWRlX3BhcmVudHM6IGZhbHNlLCBpbmNsdWRlX25hdmlnYXRpb246IHRydWUgfSlcbiAgICAgICAgICAuZmluZCgoZikgPT4gZiA9PT0gZmllbGQpICE9PSB1bmRlZmluZWRcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYWxsIGZpZWxkcyBvZiB0aGUgc3RydWN0dXJlZCB0eXBlLlxuICAgKiBAcGFyYW0gaW5jbHVkZV9uYXZpZ2F0aW9uIEluY2x1ZGUgbmF2aWdhdGlvbiBwcm9wZXJ0aWVzIGluIHRoZSByZXN1bHQuXG4gICAqIEBwYXJhbSBpbmNsdWRlX3BhcmVudHMgSW5jbHVkZSB0aGUgcGFyZW50IHR5cGVzIGluIHRoZSByZXN1bHQuXG4gICAqIEByZXR1cm5zIEFsbCBmaWVsZHMgb2YgdGhlIHN0cnVjdHVyZWQgdHlwZS5cbiAgICovXG4gIGZpZWxkcyh7XG4gICAgaW5jbHVkZV9uYXZpZ2F0aW9uLFxuICAgIGluY2x1ZGVfcGFyZW50cyxcbiAgfToge1xuICAgIGluY2x1ZGVfcGFyZW50czogYm9vbGVhbjtcbiAgICBpbmNsdWRlX25hdmlnYXRpb246IGJvb2xlYW47XG4gIH0pOiBPRGF0YVN0cnVjdHVyZWRUeXBlRmllbGRQYXJzZXI8YW55PltdIHtcbiAgICByZXR1cm4gW1xuICAgICAgLi4uKGluY2x1ZGVfcGFyZW50cyAmJiB0aGlzLnBhcmVudCAhPT0gdW5kZWZpbmVkXG4gICAgICAgID8gdGhpcy5wYXJlbnQuZmllbGRzKHsgaW5jbHVkZV9wYXJlbnRzLCBpbmNsdWRlX25hdmlnYXRpb24gfSlcbiAgICAgICAgOiBbXSksXG4gICAgICAuLi50aGlzLnBhcnNlci5maWVsZHMuZmlsdGVyKFxuICAgICAgICAoZmllbGQpID0+IGluY2x1ZGVfbmF2aWdhdGlvbiB8fCAhZmllbGQubmF2aWdhdGlvblxuICAgICAgKSxcbiAgICBdO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGtleXMgb2YgdGhlIHN0cnVjdHVyZWQgdHlwZS5cbiAgICogQHBhcmFtIGluY2x1ZGVfcGFyZW50cyBJbmNsdWRlIHRoZSBwYXJlbnQgZmllbGRzXG4gICAqIEByZXR1cm5zIFRoZSBrZXlzIG9mIHRoZSBzdHJ1Y3R1cmVkIHR5cGVcbiAgICovXG4gIGtleXMoe1xuICAgIGluY2x1ZGVfcGFyZW50cyA9IHRydWUsXG4gIH06IHtcbiAgICBpbmNsdWRlX3BhcmVudHM/OiBib29sZWFuO1xuICB9ID0ge30pOiBPRGF0YUVudGl0eVR5cGVLZXlbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLihpbmNsdWRlX3BhcmVudHMgJiYgdGhpcy5wYXJlbnQgIT09IHVuZGVmaW5lZFxuICAgICAgICA/IHRoaXMucGFyZW50LmtleXMoeyBpbmNsdWRlX3BhcmVudHMgfSlcbiAgICAgICAgOiBbXSksXG4gICAgICAuLi4odGhpcy5wYXJzZXIua2V5cyB8fCBbXSksXG4gICAgXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQaWNrcyB0aGUgZmllbGRzIGZyb20gYXR0cmlidXRlcy5cbiAgICogQHBhcmFtIGF0dHJzXG4gICAqIEBwYXJhbSBpbmNsdWRlX3BhcmVudHMgSW5jbHVkZSB0aGUgcGFyZW50IGZpZWxkc1xuICAgKiBAcGFyYW0gaW5jbHVkZV9uYXZpZ2F0aW9uIEluY2x1ZGUgdGhlIG5hdmlnYXRpb24gZmllbGRzXG4gICAqIEBwYXJhbSBpbmNsdWRlX2V0YWcgSW5jbHVkZSB0aGUgZXRhZyBmaWVsZFxuICAgKiBAcmV0dXJucyBUaGUgcGlja2VkIGZpZWxkc1xuICAgKi9cbiAgcGljayhcbiAgICBhdHRyczogeyBbbmFtZTogc3RyaW5nXTogYW55IH0sXG4gICAge1xuICAgICAgaW5jbHVkZV9wYXJlbnRzID0gdHJ1ZSxcbiAgICAgIGluY2x1ZGVfbmF2aWdhdGlvbiA9IGZhbHNlLFxuICAgICAgaW5jbHVkZV9ldGFnID0gdHJ1ZSxcbiAgICB9OiB7XG4gICAgICBpbmNsdWRlX3BhcmVudHM/OiBib29sZWFuO1xuICAgICAgaW5jbHVkZV9uYXZpZ2F0aW9uPzogYm9vbGVhbjtcbiAgICAgIGluY2x1ZGVfZXRhZz86IGJvb2xlYW47XG4gICAgfSA9IHt9XG4gICk6IFBhcnRpYWw8VD4ge1xuICAgIGNvbnN0IG5hbWVzID0gdGhpcy5maWVsZHMoeyBpbmNsdWRlX3BhcmVudHMsIGluY2x1ZGVfbmF2aWdhdGlvbiB9KS5tYXAoXG4gICAgICAoZikgPT4gZi5uYW1lXG4gICAgKTtcbiAgICBsZXQgdmFsdWVzID0gT2JqZWN0LmtleXMoYXR0cnMpXG4gICAgICAuZmlsdGVyKChrKSA9PiBuYW1lcy5pbmRleE9mKGspICE9PSAtMSlcbiAgICAgIC5yZWR1Y2UoKGFjYywgaykgPT4gT2JqZWN0LmFzc2lnbihhY2MsIHsgW2tdOiBhdHRyc1trXSB9KSwge30pO1xuICAgIGlmIChpbmNsdWRlX2V0YWcpIHtcbiAgICAgIGNvbnN0IGV0YWcgPSB0aGlzLmFwaS5vcHRpb25zLmhlbHBlci5ldGFnKGF0dHJzKTtcbiAgICAgIHRoaXMuYXBpLm9wdGlvbnMuaGVscGVyLmV0YWcoYXR0cnMsIGV0YWcpO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWVzO1xuICB9XG5cbiAgLyoqXG4gICAqIERlc2VpYWxpemUgdGhlIGdpdmVuIHZhbHVlIGZyb20gdGhlIHN0cnVjdHVyZWQgdHlwZS5cbiAgICogQHBhcmFtIHZhbHVlIFZhbHVlIHRvIGRlc2VyaWFsaXplXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIGRlc2VyaWFsaXphdGlvblxuICAgKiBAcmV0dXJucyBEZXNlcmlhbGl6ZWQgdmFsdWVcbiAgICovXG4gIGRlc2VyaWFsaXplKHZhbHVlOiBhbnksIG9wdGlvbnM/OiBPcHRpb25zKTogVCB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLmRlc2VyaWFsaXplKHZhbHVlLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXJpYWxpemUgdGhlIGdpdmVuIHZhbHVlIGZvciB0aGUgc3RydWN0dXJlZCB0eXBlLlxuICAgKiBAcGFyYW0gdmFsdWUgVmFsdWUgdG8gc2VyaWFsaXplXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIHNlcmlhbGl6YXRpb25cbiAgICogQHJldHVybnMgU2VyaWFsaXplZCB2YWx1ZVxuICAgKi9cbiAgc2VyaWFsaXplKHZhbHVlOiBULCBvcHRpb25zPzogT3B0aW9ucyk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLnNlcmlhbGl6ZSh2YWx1ZSwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogRW5jb2RlIHRoZSBnaXZlbiB2YWx1ZSBmb3IgdGhlIHN0cnVjdHVyZWQgdHlwZS5cbiAgICogQHBhcmFtIHZhbHVlIFZhbHVlIHRvIGVuY29kZVxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciBlbmNvZGluZ1xuICAgKiBAcmV0dXJucyBFbmNvZGVkIHZhbHVlXG4gICAqL1xuICBlbmNvZGUodmFsdWU6IFQsIG9wdGlvbnM/OiBPcHRpb25zKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIuZW5jb2RlKHZhbHVlLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNvbHZlIHRoZSBrZXkgb2YgdGhlIHN0cnVjdHVyZWQgdHlwZSBmb3IgdGhlIGdpdmVuIHZhbHVlLlxuICAgKiBAcGFyYW0gYXR0cnMgQXR0cmlidXRlcyBvZiB0aGUgdmFsdWVcbiAgICogQHJldHVybnMgUmVzb2x2ZWQga2V5XG4gICAqL1xuICByZXNvbHZlS2V5KGF0dHJzOiBUIHwgeyBbbmFtZTogc3RyaW5nXTogYW55IH0pIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIucmVzb2x2ZUtleShhdHRycyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZGVmYXVsdHMgdmFsdWVzIGZvciB0aGUgc3RydWN0dXJlZCB0eXBlLlxuICAgKiBAcmV0dXJucyBEZWZhdWx0IHZhbHVlcyBmb3IgdGhlIHN0cnVjdHVyZWQgdHlwZVxuICAgKi9cbiAgZGVmYXVsdHMoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLmRlZmF1bHRzKCk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCB0aGUgc3RydWN0dXJlZCB0eXBlIHRvIGpzb24gc2NoZW1hXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIGpzb24gc2NoZW1hXG4gICAqIEByZXR1cm5zIEpzb24gU2NoZW1hXG4gICAqL1xuICB0b0pzb25TY2hlbWEob3B0aW9uczogSnNvblNjaGVtYU9wdGlvbnM8VD4gPSB7fSkge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci50b0pzb25TY2hlbWEob3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGUgdGhlIGdpdmVuIHZhbHVlIGFnYWluc3QgdGhlIHN0cnVjdHVyZWQgdHlwZS5cbiAgICogQHBhcmFtIGF0dHJzIEF0dHJpYnV0ZXMgb2YgdGhlIHZhbHVlXG4gICAqIEBwYXJhbSBtZXRob2QgTWV0aG9kIHRvIHVzZSBmb3IgdGhlIHByb2Nlc3MgdmFsaWRhdGlvblxuICAgKiBAcmV0dXJucyBPYmplY3Qgd2l0aCB0aGUgZXJyb3JzXG4gICAqL1xuICB2YWxpZGF0ZShcbiAgICBhdHRyczogUGFydGlhbDxUPixcbiAgICB7XG4gICAgICBtZXRob2QsXG4gICAgICBuYXZpZ2F0aW9uID0gZmFsc2UsXG4gICAgfToge1xuICAgICAgbWV0aG9kPzogJ2NyZWF0ZScgfCAndXBkYXRlJyB8ICdtb2RpZnknO1xuICAgICAgbmF2aWdhdGlvbj86IGJvb2xlYW47XG4gICAgfSA9IHt9XG4gICkge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci52YWxpZGF0ZShhdHRycywgeyBtZXRob2QsIG5hdmlnYXRpb24gfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,23 +0,0 @@
1
- export class ODataBaseService {
2
- constructor(client, name, apiNameOrEntityType) {
3
- this.client = client;
4
- this.name = name;
5
- this.apiNameOrEntityType = apiNameOrEntityType;
6
- }
7
- get api() {
8
- return this.client.apiFor(this.apiNameOrEntityType);
9
- }
10
- callFunction(params, resource, responseType, options = {}) {
11
- resource.query((q) => q.apply(options));
12
- return resource.call(params, Object.assign({ responseType: responseType }, options));
13
- }
14
- callAction(params, resource, responseType, options = {}) {
15
- resource.query((q) => q.apply(options));
16
- return resource.call(params, Object.assign({ responseType: responseType }, options));
17
- }
18
- fetchNavigationProperty(resource, responseType, options = {}) {
19
- resource.query((q) => q.apply(options));
20
- return resource.fetch(Object.assign({ responseType: responseType }, options));
21
- }
22
- }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItb2RhdGEvc3JjL2xpYi9zZXJ2aWNlcy9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWFBLE1BQU0sT0FBZ0IsZ0JBQWdCO0lBQ3BDLFlBQ1ksTUFBbUIsRUFDbkIsSUFBWSxFQUNaLG1CQUE0QjtRQUY1QixXQUFNLEdBQU4sTUFBTSxDQUFhO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQVM7SUFDckMsQ0FBQztJQUVKLElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDdEQsQ0FBQztJQTBCUyxZQUFZLENBQ3BCLE1BQWdCLEVBQ2hCLFFBQXFDLEVBQ3JDLFlBQXlELEVBQ3pELFVBQXlDLEVBQUU7UUFFM0MsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLGtCQUN6QixZQUFZLEVBQUUsWUFBbUIsSUFDOUIsT0FBTyxFQUNWLENBQUM7SUFDTCxDQUFDO0lBMEJTLFVBQVUsQ0FDbEIsTUFBZ0IsRUFDaEIsUUFBbUMsRUFDbkMsWUFBeUQsRUFDekQsVUFBeUMsRUFBRTtRQUUzQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDeEMsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sa0JBQ3pCLFlBQVksRUFBRSxZQUFtQixJQUM5QixPQUFPLEVBQ1YsQ0FBQztJQUNMLENBQUM7SUFZUyx1QkFBdUIsQ0FDL0IsUUFBNEMsRUFDNUMsWUFBbUMsRUFDbkMsVUFBeUMsRUFBRTtRQUUzQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDeEMsT0FBTyxRQUFRLENBQUMsS0FBSyxpQkFBRyxZQUFZLEVBQUUsWUFBbUIsSUFBSyxPQUFPLEVBQUcsQ0FBQztJQUMzRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBPRGF0YUFjdGlvblJlc291cmNlLFxuICBPRGF0YUVudGl0aWVzLFxuICBPRGF0YUVudGl0eSxcbiAgT0RhdGFGdW5jdGlvblJlc291cmNlLFxuICBPRGF0YU5hdmlnYXRpb25Qcm9wZXJ0eVJlc291cmNlLFxuICBPRGF0YVByb3BlcnR5LFxuICBPRGF0YVF1ZXJ5QXJndW1lbnRzT3B0aW9ucyxcbn0gZnJvbSAnLi4vcmVzb3VyY2VzJztcblxuaW1wb3J0IHsgT0RhdGFDbGllbnQgfSBmcm9tICcuLi9jbGllbnQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgT0RhdGFCYXNlU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBjbGllbnQ6IE9EYXRhQ2xpZW50LFxuICAgIHByb3RlY3RlZCBuYW1lOiBzdHJpbmcsXG4gICAgcHJvdGVjdGVkIGFwaU5hbWVPckVudGl0eVR5cGU/OiBzdHJpbmdcbiAgKSB7fVxuXG4gIGdldCBhcGkoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2xpZW50LmFwaUZvcih0aGlzLmFwaU5hbWVPckVudGl0eVR5cGUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNhbGxGdW5jdGlvbjxQLCBSPihcbiAgICBwYXJhbXM6IFAgfCBudWxsLFxuICAgIHJlc291cmNlOiBPRGF0YUZ1bmN0aW9uUmVzb3VyY2U8UCwgUj4sXG4gICAgcmVzcG9uc2VUeXBlOiAnZW50aXR5JyxcbiAgICBvcHRpb25zPzogT0RhdGFRdWVyeUFyZ3VtZW50c09wdGlvbnM8Uj5cbiAgKTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0eTxSPj47XG4gIHByb3RlY3RlZCBjYWxsRnVuY3Rpb248UCwgUj4oXG4gICAgcGFyYW1zOiBQIHwgbnVsbCxcbiAgICByZXNvdXJjZTogT0RhdGFGdW5jdGlvblJlc291cmNlPFAsIFI+LFxuICAgIHJlc3BvbnNlVHlwZTogJ2VudGl0aWVzJyxcbiAgICBvcHRpb25zPzogT0RhdGFRdWVyeUFyZ3VtZW50c09wdGlvbnM8Uj5cbiAgKTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0aWVzPFI+PjtcbiAgcHJvdGVjdGVkIGNhbGxGdW5jdGlvbjxQLCBSPihcbiAgICBwYXJhbXM6IFAgfCBudWxsLFxuICAgIHJlc291cmNlOiBPRGF0YUZ1bmN0aW9uUmVzb3VyY2U8UCwgUj4sXG4gICAgcmVzcG9uc2VUeXBlOiAncHJvcGVydHknLFxuICAgIG9wdGlvbnM/OiBPRGF0YVF1ZXJ5QXJndW1lbnRzT3B0aW9uczxSPlxuICApOiBPYnNlcnZhYmxlPE9EYXRhUHJvcGVydHk8Uj4+O1xuICBwcm90ZWN0ZWQgY2FsbEZ1bmN0aW9uPFAsIFI+KFxuICAgIHBhcmFtczogUCB8IG51bGwsXG4gICAgcmVzb3VyY2U6IE9EYXRhRnVuY3Rpb25SZXNvdXJjZTxQLCBSPixcbiAgICByZXNwb25zZVR5cGU6ICdub25lJyxcbiAgICBvcHRpb25zPzogT0RhdGFRdWVyeUFyZ3VtZW50c09wdGlvbnM8Uj5cbiAgKTogT2JzZXJ2YWJsZTxudWxsPjtcbiAgcHJvdGVjdGVkIGNhbGxGdW5jdGlvbjxQLCBSPihcbiAgICBwYXJhbXM6IFAgfCBudWxsLFxuICAgIHJlc291cmNlOiBPRGF0YUZ1bmN0aW9uUmVzb3VyY2U8UCwgUj4sXG4gICAgcmVzcG9uc2VUeXBlOiAncHJvcGVydHknIHwgJ2VudGl0eScgfCAnZW50aXRpZXMnIHwgJ25vbmUnLFxuICAgIG9wdGlvbnM6IE9EYXRhUXVlcnlBcmd1bWVudHNPcHRpb25zPFI+ID0ge31cbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXNvdXJjZS5xdWVyeSgocSkgPT4gcS5hcHBseShvcHRpb25zKSk7XG4gICAgcmV0dXJuIHJlc291cmNlLmNhbGwocGFyYW1zLCB7XG4gICAgICByZXNwb25zZVR5cGU6IHJlc3BvbnNlVHlwZSBhcyBhbnksXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNhbGxBY3Rpb248UCwgUj4oXG4gICAgcGFyYW1zOiBQIHwgbnVsbCxcbiAgICByZXNvdXJjZTogT0RhdGFBY3Rpb25SZXNvdXJjZTxQLCBSPixcbiAgICByZXNwb25zZVR5cGU6ICdlbnRpdHknLFxuICAgIG9wdGlvbnM/OiBPRGF0YVF1ZXJ5QXJndW1lbnRzT3B0aW9uczxSPlxuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXR5PFI+PjtcbiAgcHJvdGVjdGVkIGNhbGxBY3Rpb248UCwgUj4oXG4gICAgcGFyYW1zOiBQIHwgbnVsbCxcbiAgICByZXNvdXJjZTogT0RhdGFBY3Rpb25SZXNvdXJjZTxQLCBSPixcbiAgICByZXNwb25zZVR5cGU6ICdlbnRpdGllcycsXG4gICAgb3B0aW9ucz86IE9EYXRhUXVlcnlBcmd1bWVudHNPcHRpb25zPFI+XG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdGllczxSPj47XG4gIHByb3RlY3RlZCBjYWxsQWN0aW9uPFAsIFI+KFxuICAgIHBhcmFtczogUCB8IG51bGwsXG4gICAgcmVzb3VyY2U6IE9EYXRhQWN0aW9uUmVzb3VyY2U8UCwgUj4sXG4gICAgcmVzcG9uc2VUeXBlOiAncHJvcGVydHknLFxuICAgIG9wdGlvbnM/OiBPRGF0YVF1ZXJ5QXJndW1lbnRzT3B0aW9uczxSPlxuICApOiBPYnNlcnZhYmxlPE9EYXRhUHJvcGVydHk8Uj4+O1xuICBwcm90ZWN0ZWQgY2FsbEFjdGlvbjxQLCBSPihcbiAgICBwYXJhbXM6IFAgfCBudWxsLFxuICAgIHJlc291cmNlOiBPRGF0YUFjdGlvblJlc291cmNlPFAsIFI+LFxuICAgIHJlc3BvbnNlVHlwZTogJ25vbmUnLFxuICAgIG9wdGlvbnM/OiBPRGF0YVF1ZXJ5QXJndW1lbnRzT3B0aW9uczxSPlxuICApOiBPYnNlcnZhYmxlPG51bGw+O1xuICBwcm90ZWN0ZWQgY2FsbEFjdGlvbjxQLCBSPihcbiAgICBwYXJhbXM6IFAgfCBudWxsLFxuICAgIHJlc291cmNlOiBPRGF0YUFjdGlvblJlc291cmNlPFAsIFI+LFxuICAgIHJlc3BvbnNlVHlwZTogJ3Byb3BlcnR5JyB8ICdlbnRpdHknIHwgJ2VudGl0aWVzJyB8ICdub25lJyxcbiAgICBvcHRpb25zOiBPRGF0YVF1ZXJ5QXJndW1lbnRzT3B0aW9uczxSPiA9IHt9XG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmVzb3VyY2UucXVlcnkoKHEpID0+IHEuYXBwbHkob3B0aW9ucykpO1xuICAgIHJldHVybiByZXNvdXJjZS5jYWxsKHBhcmFtcywge1xuICAgICAgcmVzcG9uc2VUeXBlOiByZXNwb25zZVR5cGUgYXMgYW55LFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmZXRjaE5hdmlnYXRpb25Qcm9wZXJ0eTxTPihcbiAgICByZXNvdXJjZTogT0RhdGFOYXZpZ2F0aW9uUHJvcGVydHlSZXNvdXJjZTxTPixcbiAgICByZXNwb25zZVR5cGU6ICdlbnRpdHknLFxuICAgIG9wdGlvbnM/OiBPRGF0YVF1ZXJ5QXJndW1lbnRzT3B0aW9uczxTPlxuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXR5PFM+PjtcbiAgcHJvdGVjdGVkIGZldGNoTmF2aWdhdGlvblByb3BlcnR5PFM+KFxuICAgIHJlc291cmNlOiBPRGF0YU5hdmlnYXRpb25Qcm9wZXJ0eVJlc291cmNlPFM+LFxuICAgIHJlc3BvbnNlVHlwZTogJ2VudGl0aWVzJyxcbiAgICBvcHRpb25zPzogT0RhdGFRdWVyeUFyZ3VtZW50c09wdGlvbnM8Uz5cbiAgKTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0aWVzPFM+PjtcbiAgcHJvdGVjdGVkIGZldGNoTmF2aWdhdGlvblByb3BlcnR5PFM+KFxuICAgIHJlc291cmNlOiBPRGF0YU5hdmlnYXRpb25Qcm9wZXJ0eVJlc291cmNlPFM+LFxuICAgIHJlc3BvbnNlVHlwZTogJ2VudGl0eScgfCAnZW50aXRpZXMnLFxuICAgIG9wdGlvbnM6IE9EYXRhUXVlcnlBcmd1bWVudHNPcHRpb25zPFM+ID0ge31cbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXNvdXJjZS5xdWVyeSgocSkgPT4gcS5hcHBseShvcHRpb25zKSk7XG4gICAgcmV0dXJuIHJlc291cmNlLmZldGNoKHsgcmVzcG9uc2VUeXBlOiByZXNwb25zZVR5cGUgYXMgYW55LCAuLi5vcHRpb25zIH0pO1xuICB9XG59XG4iXX0=
@@ -1,146 +0,0 @@
1
- import { __rest } from "tslib";
2
- import { throwError } from 'rxjs';
3
- import { ODataCollection } from '../models/collection';
4
- import { ODataEntityService } from './entity';
5
- import { ODataModel } from '../models/model';
6
- import { catchError } from 'rxjs/operators';
7
- export class ODataEntitySetService extends ODataEntityService {
8
- /**
9
- * Get the entity set resource for this service.
10
- */
11
- entities() {
12
- return this.client.entitySet(this.name, this.apiNameOrEntityType);
13
- }
14
- /**
15
- * Get the entity resource for this service.
16
- * @param key The entity key.
17
- */
18
- entity(key) {
19
- return this.entities().entity(key);
20
- }
21
- attach(model) {
22
- if (model instanceof ODataModel) {
23
- model.attach(this.entities().entity());
24
- }
25
- else if (model instanceof ODataCollection) {
26
- model.attach(this.entities());
27
- }
28
- }
29
- /**
30
- * The schema for the entity set.
31
- */
32
- get entitySetSchema() {
33
- return this.api.findEntitySetByName(this.name);
34
- }
35
- /**
36
- * Get all entities from the entity set.
37
- * @param options The options for the request.
38
- */
39
- fetchAll(options) {
40
- return this.entities().fetchAll(options);
41
- }
42
- /**
43
- * Get entities from the entity set.
44
- * @param withCount Get the count of the entities.
45
- * @param options The options for the request.
46
- */
47
- fetchMany(options) {
48
- return this.entities().fetch(options);
49
- }
50
- /**
51
- * Get an entity from the entity set.
52
- * @param key The entity key.
53
- * @param etag The etag for the entity.
54
- * @param options The options for the request.
55
- */
56
- fetchOne(key, options) {
57
- return this.entity(key).fetch(options);
58
- }
59
- /**
60
- * Create an entity in the entity set.
61
- * @param attrs The attributes for the entity.
62
- * @param options The options for the request.
63
- */
64
- create(attrs, options) {
65
- return this.entities().create(attrs, options);
66
- }
67
- /**
68
- * Update an entity in the entity set.
69
- * @param key The entity key.
70
- * @param attrs The attributes for the entity.
71
- * @param etag The etag for the entity.
72
- * @param options The options for the request.
73
- */
74
- update(key, attrs, options) {
75
- const res = this.entity(key);
76
- if (!res.hasKey())
77
- return throwError('Resource without key');
78
- return res.update(attrs, options);
79
- }
80
- /**
81
- * Patch an entity in the entity set.
82
- * @param key The entity key.
83
- * @param attrs The attributes for the entity.
84
- * @param etag The etag for the entity.
85
- * @param options The options for the request.
86
- */
87
- modify(key, attrs, options) {
88
- const res = this.entity(key);
89
- if (!res.hasKey())
90
- return throwError('Resource without key');
91
- return res.modify(attrs, options);
92
- }
93
- /**
94
- * Delete an entity in the entity set.
95
- * @param key The entity key.
96
- * @param etag The etag for the entity.
97
- * @param options The options for the request.
98
- */
99
- destroy(key, options) {
100
- const res = this.entity(key);
101
- if (!res.hasKey())
102
- return throwError('Resource without key');
103
- return res.destroy(options);
104
- }
105
- //#region Shortcuts
106
- /**
107
- * Get or create an entity in the entity set.
108
- * @param key The entity key.
109
- * @param attrs The attributes for the entity.
110
- * @param etag The etag for the entity.
111
- * @param options The options for the request.
112
- */
113
- fetchOrCreate(key, attrs, _a = {}) {
114
- var { etag } = _a, options = __rest(_a, ["etag"]);
115
- return this.fetchOne(key, Object.assign({ etag }, options)).pipe(catchError((error) => {
116
- if (error.status === 404)
117
- return this.create(attrs, options);
118
- else
119
- return throwError(error);
120
- }));
121
- }
122
- /**
123
- * Save an entity in the entity set.
124
- * @param attrs The attributes for the entity.
125
- * @param method The method to use.
126
- * @param etag The etag for the entity.
127
- * @param options The options for the request.
128
- */
129
- save(attrs, _a = {}) {
130
- var { etag, method } = _a, options = __rest(_a, ["etag", "method"]);
131
- let schema = this.structuredTypeSchema;
132
- if (method === undefined && schema !== undefined && schema.isCompoundKey())
133
- return throwError('Composite key require a specific method, use create/update/patch');
134
- let key = schema && schema.resolveKey(attrs);
135
- if (method === undefined)
136
- method = key !== undefined ? 'update' : 'create';
137
- if ((method === 'update' || method === 'modify') && key === undefined)
138
- return throwError("Can't update/patch entity without key");
139
- return method === 'create'
140
- ? this.create(attrs, options)
141
- : method === 'modify'
142
- ? this.modify(key, attrs, Object.assign({ etag }, options))
143
- : this.update(key, attrs, Object.assign({ etag }, options));
144
- }
145
- }
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXNldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItb2RhdGEvc3JjL2xpYi9zZXJ2aWNlcy9lbnRpdHktc2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFRQSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxNQUFNLE9BQU8scUJBQXlCLFNBQVEsa0JBQXFCO0lBQ2pFOztPQUVHO0lBQ0ksUUFBUTtRQUNiLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUksSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLEdBQWtCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBUU0sTUFBTSxDQUFDLEtBQVU7UUFDdEIsSUFBSSxLQUFLLFlBQVksVUFBVSxFQUFFO1lBQy9CLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7U0FDeEM7YUFBTSxJQUFJLEtBQUssWUFBWSxlQUFlLEVBQUU7WUFDM0MsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUMvQjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksZUFBZTtRQUNqQixPQUFPLElB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QUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUM7UUFDdkMsSUFBSSxNQUFNLEtBQUssU0FBUyxJQUFJLE1BQU0sS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRTtZQUN4RSxPQUFPLFVBQVUsQ0FDZixrRUFBa0UsQ0FDbkUsQ0FBQztRQUNKLElBQUksR0FBRyxHQUFHLE1BQU0sSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdDLElBQUksTUFBTSxLQUFLLFNBQVM7WUFBRSxNQUFNLEdBQUcsR0FBRyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDM0UsSUFBSSxDQUFDLE1BQU0sS0FBSyxRQUFRLElBQUksTUFBTSxLQUFLLFFBQVEsQ0FBQyxJQUFJLEdBQUcsS0FBSyxTQUFTO1lBQ25FLE9BQU8sVUFBVSxDQUFDLHVDQUF1QyxDQUFDLENBQUM7UUFDN0QsT0FBTyxNQUFNLEtBQUssUUFBUTtZQUN4QixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDO1lBQzdCLENBQUMsQ0FBQyxNQUFNLEtBQUssUUFBUTtnQkFDckIsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssa0JBQUksSUFBSSxJQUFLLE9BQU8sRUFBRztnQkFDL0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssa0JBQUksSUFBSSxJQUFLLE9BQU8sRUFBRyxDQUFDO0lBQ3BELENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVudGl0eUtleSxcbiAgT0RhdGFFbnRpdGllcyxcbiAgT0RhdGFFbnRpdHksXG4gIE9EYXRhRW50aXR5UmVzb3VyY2UsXG4gIE9EYXRhRW50aXR5U2V0UmVzb3VyY2UsXG4gIE9EYXRhT3B0aW9ucyxcbn0gZnJvbSAnLi4vcmVzb3VyY2VzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPRGF0YUNvbGxlY3Rpb24gfSBmcm9tICcuLi9tb2RlbHMvY29sbGVjdGlvbic7XG5pbXBvcnQgeyBPRGF0YUVudGl0eVNlcnZpY2UgfSBmcm9tICcuL2VudGl0eSc7XG5pbXBvcnQgeyBPRGF0YU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL21vZGVsJztcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBjbGFzcyBPRGF0YUVudGl0eVNldFNlcnZpY2U8VD4gZXh0ZW5kcyBPRGF0YUVudGl0eVNlcnZpY2U8VD4ge1xuICAvKipcbiAgICogR2V0IHRoZSBlbnRpdHkgc2V0IHJlc291cmNlIGZvciB0aGlzIHNlcnZpY2UuXG4gICAqL1xuICBwdWJsaWMgZW50aXRpZXMoKTogT0RhdGFFbnRpdHlTZXRSZXNvdXJjZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuY2xpZW50LmVudGl0eVNldDxUPih0aGlzLm5hbWUsIHRoaXMuYXBpTmFtZU9yRW50aXR5VHlwZSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBlbnRpdHkgcmVzb3VyY2UgZm9yIHRoaXMgc2VydmljZS5cbiAgICogQHBhcmFtIGtleSBUaGUgZW50aXR5IGtleS5cbiAgICovXG4gIHB1YmxpYyBlbnRpdHkoa2V5PzogRW50aXR5S2V5PFQ+KTogT0RhdGFFbnRpdHlSZXNvdXJjZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuZW50aXRpZXMoKS5lbnRpdHkoa2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRhY2ggYW4gZXhpc3RpbmcgbW9kZWwgdG8gdGhpcyBzZXJ2aWNlLlxuICAgKiBAcGFyYW0gbW9kZWwgVGhlIG1vZGVsIHRvIGF0dGFjaC5cbiAgICovXG4gIHB1YmxpYyBhdHRhY2g8TSBleHRlbmRzIE9EYXRhTW9kZWw8VD4+KG1vZGVsOiBNKTogdm9pZDtcbiAgcHVibGljIGF0dGFjaDxDIGV4dGVuZHMgT0RhdGFDb2xsZWN0aW9uPFQsIE9EYXRhTW9kZWw8VD4+Pihtb2RlbDogQyk6IHZvaWQ7XG4gIHB1YmxpYyBhdHRhY2gobW9kZWw6IGFueSk6IHZvaWQge1xuICAgIGlmIChtb2RlbCBpbnN0YW5jZW9mIE9EYXRhTW9kZWwpIHtcbiAgICAgIG1vZGVsLmF0dGFjaCh0aGlzLmVudGl0aWVzKCkuZW50aXR5KCkpO1xuICAgIH0gZWxzZSBpZiAobW9kZWwgaW5zdGFuY2VvZiBPRGF0YUNvbGxlY3Rpb24pIHtcbiAgICAgIG1vZGVsLmF0dGFjaCh0aGlzLmVudGl0aWVzKCkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgc2NoZW1hIGZvciB0aGUgZW50aXR5IHNldC5cbiAgICovXG4gIGdldCBlbnRpdHlTZXRTY2hlbWEoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpLmZpbmRFbnRpdHlTZXRCeU5hbWUodGhpcy5uYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWxsIGVudGl0aWVzIGZyb20gdGhlIGVudGl0eSBzZXQuXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIGZvciB0aGUgcmVxdWVzdC5cbiAgICovXG4gIHB1YmxpYyBmZXRjaEFsbChvcHRpb25zPzogT0RhdGFPcHRpb25zKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gdGhpcy5lbnRpdGllcygpLmZldGNoQWxsKG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBlbnRpdGllcyBmcm9tIHRoZSBlbnRpdHkgc2V0LlxuICAgKiBAcGFyYW0gd2l0aENvdW50IEdldCB0aGUgY291bnQgb2YgdGhlIGVudGl0aWVzLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9ucyBmb3IgdGhlIHJlcXVlc3QuXG4gICAqL1xuICBwdWJsaWMgZmV0Y2hNYW55KFxuICAgIG9wdGlvbnM/OiBPRGF0YU9wdGlvbnMgJiB7IHdpdGhDb3VudD86IGJvb2xlYW4gfVxuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXRpZXM8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5lbnRpdGllcygpLmZldGNoKG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbiBlbnRpdHkgZnJvbSB0aGUgZW50aXR5IHNldC5cbiAgICogQHBhcmFtIGtleSBUaGUgZW50aXR5IGtleS5cbiAgICogQHBhcmFtIGV0YWcgVGhlIGV0YWcgZm9yIHRoZSBlbnRpdHkuXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIGZvciB0aGUgcmVxdWVzdC5cbiAgICovXG4gIHB1YmxpYyBmZXRjaE9uZShcbiAgICBrZXk6IEVudGl0eUtleTxUPixcbiAgICBvcHRpb25zPzogT0RhdGFPcHRpb25zICYgeyBldGFnPzogc3RyaW5nIH1cbiAgKTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0eTxUPj4ge1xuICAgIHJldHVybiB0aGlzLmVudGl0eShrZXkpLmZldGNoKG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhbiBlbnRpdHkgaW4gdGhlIGVudGl0eSBzZXQuXG4gICAqIEBwYXJhbSBhdHRycyBUaGUgYXR0cmlidXRlcyBmb3IgdGhlIGVudGl0eS5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgcHVibGljIGNyZWF0ZShcbiAgICBhdHRyczogUGFydGlhbDxUPixcbiAgICBvcHRpb25zPzogT0RhdGFPcHRpb25zXG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdHk8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5lbnRpdGllcygpLmNyZWF0ZShhdHRycywgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGFuIGVudGl0eSBpbiB0aGUgZW50aXR5IHNldC5cbiAgICogQHBhcmFtIGtleSBUaGUgZW50aXR5IGtleS5cbiAgICogQHBhcmFtIGF0dHJzIFRoZSBhdHRyaWJ1dGVzIGZvciB0aGUgZW50aXR5LlxuICAgKiBAcGFyYW0gZXRhZyBUaGUgZXRhZyBmb3IgdGhlIGVudGl0eS5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgcHVibGljIHVwZGF0ZShcbiAgICBrZXk6IEVudGl0eUtleTxUPixcbiAgICBhdHRyczogUGFydGlhbDxUPixcbiAgICBvcHRpb25zPzogT0RhdGFPcHRpb25zICYgeyBldGFnPzogc3RyaW5nIH1cbiAgKTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0eTxUPj4ge1xuICAgIGNvbnN0IHJlcyA9IHRoaXMuZW50aXR5KGtleSk7XG4gICAgaWYgKCFyZXMuaGFzS2V5KCkpIHJldHVybiB0aHJvd0Vycm9yKCdSZXNvdXJjZSB3aXRob3V0IGtleScpO1xuICAgIHJldHVybiByZXMudXBkYXRlKGF0dHJzLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXRjaCBhbiBlbnRpdHkgaW4gdGhlIGVudGl0eSBzZXQuXG4gICAqIEBwYXJhbSBrZXkgVGhlIGVudGl0eSBrZXkuXG4gICAqIEBwYXJhbSBhdHRycyBUaGUgYXR0cmlidXRlcyBmb3IgdGhlIGVudGl0eS5cbiAgICogQHBhcmFtIGV0YWcgVGhlIGV0YWcgZm9yIHRoZSBlbnRpdHkuXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIGZvciB0aGUgcmVxdWVzdC5cbiAgICovXG4gIHB1YmxpYyBtb2RpZnkoXG4gICAga2V5OiBFbnRpdHlLZXk8VD4sXG4gICAgYXR0cnM6IFBhcnRpYWw8VD4sXG4gICAgb3B0aW9ucz86IE9EYXRhT3B0aW9ucyAmIHsgZXRhZz86IHN0cmluZyB9XG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdHk8VD4+IHtcbiAgICBjb25zdCByZXMgPSB0aGlzLmVudGl0eShrZXkpO1xuICAgIGlmICghcmVzLmhhc0tleSgpKSByZXR1cm4gdGhyb3dFcnJvcignUmVzb3VyY2Ugd2l0aG91dCBrZXknKTtcbiAgICByZXR1cm4gcmVzLm1vZGlmeShhdHRycywgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlIGFuIGVudGl0eSBpbiB0aGUgZW50aXR5IHNldC5cbiAgICogQHBhcmFtIGtleSBUaGUgZW50aXR5IGtleS5cbiAgICogQHBhcmFtIGV0YWcgVGhlIGV0YWcgZm9yIHRoZSBlbnRpdHkuXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIGZvciB0aGUgcmVxdWVzdC5cbiAgICovXG4gIHB1YmxpYyBkZXN0cm95KFxuICAgIGtleTogRW50aXR5S2V5PFQ+LFxuICAgIG9wdGlvbnM/OiBPRGF0YU9wdGlvbnMgJiB7IGV0YWc/OiBzdHJpbmcgfVxuICApIHtcbiAgICBjb25zdCByZXMgPSB0aGlzLmVudGl0eShrZXkpO1xuICAgIGlmICghcmVzLmhhc0tleSgpKSByZXR1cm4gdGhyb3dFcnJvcignUmVzb3VyY2Ugd2l0aG91dCBrZXknKTtcbiAgICByZXR1cm4gcmVzLmRlc3Ryb3kob3B0aW9ucyk7XG4gIH1cblxuICAvLyNyZWdpb24gU2hvcnRjdXRzXG4gIC8qKlxuICAgKiBHZXQgb3IgY3JlYXRlIGFuIGVudGl0eSBpbiB0aGUgZW50aXR5IHNldC5cbiAgICogQHBhcmFtIGtleSBUaGUgZW50aXR5IGtleS5cbiAgICogQHBhcmFtIGF0dHJzIFRoZSBhdHRyaWJ1dGVzIGZvciB0aGUgZW50aXR5LlxuICAgKiBAcGFyYW0gZXRhZyBUaGUgZXRhZyBmb3IgdGhlIGVudGl0eS5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgcHVibGljIGZldGNoT3JDcmVhdGUoXG4gICAga2V5OiBFbnRpdHlLZXk8VD4sXG4gICAgYXR0cnM6IFBhcnRpYWw8VD4sXG4gICAgeyBldGFnLCAuLi5vcHRpb25zIH06IHsgZXRhZz86IHN0cmluZyB9ICYgT0RhdGFPcHRpb25zID0ge31cbiAgKTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0eTxUPj4ge1xuICAgIHJldHVybiB0aGlzLmZldGNoT25lKGtleSwgeyBldGFnLCAuLi5vcHRpb25zIH0pLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDA0KSByZXR1cm4gdGhpcy5jcmVhdGUoYXR0cnMsIG9wdGlvbnMpO1xuICAgICAgICBlbHNlIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlIGFuIGVudGl0eSBpbiB0aGUgZW50aXR5IHNldC5cbiAgICogQHBhcmFtIGF0dHJzIFRoZSBhdHRyaWJ1dGVzIGZvciB0aGUgZW50aXR5LlxuICAgKiBAcGFyYW0gbWV0aG9kIFRoZSBtZXRob2QgdG8gdXNlLlxuICAgKiBAcGFyYW0gZXRhZyBUaGUgZXRhZyBmb3IgdGhlIGVudGl0eS5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgcHVibGljIHNhdmUoXG4gICAgYXR0cnM6IFBhcnRpYWw8VD4sXG4gICAge1xuICAgICAgZXRhZyxcbiAgICAgIG1ldGhvZCxcbiAgICAgIC4uLm9wdGlvbnNcbiAgICB9OiB7XG4gICAgICBldGFnPzogc3RyaW5nO1xuICAgICAgbWV0aG9kPzogJ2NyZWF0ZScgfCAndXBkYXRlJyB8ICdtb2RpZnknO1xuICAgIH0gJiBPRGF0YU9wdGlvbnMgPSB7fVxuICApIHtcbiAgICBsZXQgc2NoZW1hID0gdGhpcy5zdHJ1Y3R1cmVkVHlwZVNjaGVtYTtcbiAgICBpZiAobWV0aG9kID09PSB1bmRlZmluZWQgJiYgc2NoZW1hICE9PSB1bmRlZmluZWQgJiYgc2NoZW1hLmlzQ29tcG91bmRLZXkoKSlcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKFxuICAgICAgICAnQ29tcG9zaXRlIGtleSByZXF1aXJlIGEgc3BlY2lmaWMgbWV0aG9kLCB1c2UgY3JlYXRlL3VwZGF0ZS9wYXRjaCdcbiAgICAgICk7XG4gICAgbGV0IGtleSA9IHNjaGVtYSAmJiBzY2hlbWEucmVzb2x2ZUtleShhdHRycyk7XG4gICAgaWYgKG1ldGhvZCA9PT0gdW5kZWZpbmVkKSBtZXRob2QgPSBrZXkgIT09IHVuZGVmaW5lZCA/ICd1cGRhdGUnIDogJ2NyZWF0ZSc7XG4gICAgaWYgKChtZXRob2QgPT09ICd1cGRhdGUnIHx8IG1ldGhvZCA9PT0gJ21vZGlmeScpICYmIGtleSA9PT0gdW5kZWZpbmVkKVxuICAgICAgcmV0dXJuIHRocm93RXJyb3IoXCJDYW4ndCB1cGRhdGUvcGF0Y2ggZW50aXR5IHdpdGhvdXQga2V5XCIpO1xuICAgIHJldHVybiBtZXRob2QgPT09ICdjcmVhdGUnXG4gICAgICA/IHRoaXMuY3JlYXRlKGF0dHJzLCBvcHRpb25zKVxuICAgICAgOiBtZXRob2QgPT09ICdtb2RpZnknXG4gICAgICA/IHRoaXMubW9kaWZ5KGtleSwgYXR0cnMsIHsgZXRhZywgLi4ub3B0aW9ucyB9KVxuICAgICAgOiB0aGlzLnVwZGF0ZShrZXksIGF0dHJzLCB7IGV0YWcsIC4uLm9wdGlvbnMgfSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG59XG4iXX0=
@@ -1,12 +0,0 @@
1
- import { ODataBaseService } from './base';
2
- export class ODataEntityService extends ODataBaseService {
3
- /**
4
- * The schema for the structured type.
5
- */
6
- get structuredTypeSchema() {
7
- return this.apiNameOrEntityType !== undefined
8
- ? this.api.findStructuredTypeForType(this.apiNameOrEntityType)
9
- : undefined;
10
- }
11
- }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3NlcnZpY2VzL2VudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFHMUMsTUFBTSxPQUFnQixrQkFBc0IsU0FBUSxnQkFBZ0I7SUFJbEU7O09BRUc7SUFDSCxJQUFJLG9CQUFvQjtRQUN0QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsS0FBSyxTQUFTO1lBQzNDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztZQUNqRSxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudGl0eUtleSwgT0RhdGFSZXNvdXJjZSB9IGZyb20gJy4uL3Jlc291cmNlcyc7XG5cbmltcG9ydCB7IE9EYXRhQmFzZVNlcnZpY2UgfSBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0IHsgT0RhdGFNb2RlbCB9IGZyb20gJy4uL21vZGVscy9tb2RlbCc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBPRGF0YUVudGl0eVNlcnZpY2U8VD4gZXh0ZW5kcyBPRGF0YUJhc2VTZXJ2aWNlIHtcbiAgcHVibGljIGFic3RyYWN0IGVudGl0eShrZXk/OiBFbnRpdHlLZXk8VD4pOiBPRGF0YVJlc291cmNlPFQ+O1xuICBwdWJsaWMgYWJzdHJhY3QgYXR0YWNoPE0gZXh0ZW5kcyBPRGF0YU1vZGVsPFQ+Pih2YWx1ZTogTSk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBzY2hlbWEgZm9yIHRoZSBzdHJ1Y3R1cmVkIHR5cGUuXG4gICAqL1xuICBnZXQgc3RydWN0dXJlZFR5cGVTY2hlbWEoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpTmFtZU9yRW50aXR5VHlwZSAhPT0gdW5kZWZpbmVkXG4gICAgICA/IHRoaXMuYXBpLmZpbmRTdHJ1Y3R1cmVkVHlwZUZvclR5cGU8VD4odGhpcy5hcGlOYW1lT3JFbnRpdHlUeXBlKVxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
@@ -1,37 +0,0 @@
1
- export var PathSegmentNames;
2
- (function (PathSegmentNames) {
3
- PathSegmentNames["batch"] = "batch";
4
- PathSegmentNames["metadata"] = "metadata";
5
- PathSegmentNames["entitySet"] = "entitySet";
6
- PathSegmentNames["singleton"] = "singleton";
7
- PathSegmentNames["type"] = "type";
8
- PathSegmentNames["property"] = "property";
9
- PathSegmentNames["navigationProperty"] = "navigationProperty";
10
- PathSegmentNames["reference"] = "reference";
11
- PathSegmentNames["value"] = "value";
12
- PathSegmentNames["count"] = "count";
13
- PathSegmentNames["function"] = "function";
14
- PathSegmentNames["action"] = "action";
15
- })(PathSegmentNames || (PathSegmentNames = {}));
16
- export var QueryOptionNames;
17
- (function (QueryOptionNames) {
18
- QueryOptionNames["select"] = "select";
19
- QueryOptionNames["expand"] = "expand";
20
- QueryOptionNames["compute"] = "compute";
21
- QueryOptionNames["filter"] = "filter";
22
- QueryOptionNames["search"] = "search";
23
- QueryOptionNames["transform"] = "transform";
24
- QueryOptionNames["orderBy"] = "orderBy";
25
- QueryOptionNames["top"] = "top";
26
- QueryOptionNames["skip"] = "skip";
27
- QueryOptionNames["skiptoken"] = "skiptoken";
28
- QueryOptionNames["format"] = "format";
29
- QueryOptionNames["count"] = "count";
30
- })(QueryOptionNames || (QueryOptionNames = {}));
31
- export const NONE_PARSER = {
32
- deserialize: (value) => value,
33
- serialize: (value) => value,
34
- encode: (value) => value,
35
- };
36
- //#endregion
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBYUEsTUFBTSxDQUFOLElBQVksZ0JBYVg7QUFiRCxXQUFZLGdCQUFnQjtJQUMxQixtQ0FBZSxDQUFBO0lBQ2YseUNBQXFCLENBQUE7SUFDckIsMkNBQXVCLENBQUE7SUFDdkIsMkNBQXVCLENBQUE7SUFDdkIsaUNBQWEsQ0FBQTtJQUNiLHlDQUFxQixDQUFBO0lBQ3JCLDZEQUF5QyxDQUFBO0lBQ3pDLDJDQUF1QixDQUFBO0lBQ3ZCLG1DQUFlLENBQUE7SUFDZixtQ0FBZSxDQUFBO0lBQ2YseUNBQXFCLENBQUE7SUFDckIscUNBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQWJXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFhM0I7QUFFRCxNQUFNLENBQU4sSUFBWSxnQkFhWDtBQWJELFdBQVksZ0JBQWdCO0lBQzFCLHFDQUFpQixDQUFBO0lBQ2pCLHFDQUFpQixDQUFBO0lBQ2pCLHVDQUFtQixDQUFBO0lBQ25CLHFDQUFpQixDQUFBO0lBQ2pCLHFDQUFpQixDQUFBO0lBQ2pCLDJDQUF1QixDQUFBO0lBQ3ZCLHVDQUFtQixDQUFBO0lBQ25CLCtCQUFXLENBQUE7SUFDWCxpQ0FBYSxDQUFBO0lBQ2IsMkNBQXVCLENBQUE7SUFDdkIscUNBQWlCLENBQUE7SUFDakIsbUNBQWUsQ0FBQTtBQUNqQixDQUFDLEVBYlcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQWEzQjtBQWlFRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDekIsV0FBVyxFQUFFLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxLQUFLO0lBQ2xDLFNBQVMsRUFBRSxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsS0FBSztJQUNoQyxNQUFNLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLEtBQUs7Q0FDZixDQUFDO0FBd0dqQixZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT0RhdGFWZXJzaW9uSGVscGVyIH0gZnJvbSAnLi9oZWxwZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgdHlwZSBPRGF0YVZlcnNpb24gPSAnMi4wJyB8ICczLjAnIHwgJzQuMCc7XG5leHBvcnQgdHlwZSBGZXRjaFBvbGljeSA9XG4gIHwgJ2NhY2hlLWZpcnN0J1xuICB8ICdjYWNoZS1hbmQtbmV0d29yaydcbiAgfCAnbmV0d29yay1vbmx5J1xuICB8ICduby1jYWNoZSdcbiAgfCAnY2FjaGUtb25seSc7XG5leHBvcnQgdHlwZSBPRGF0YU1ldGFkYXRhVHlwZSA9ICdtaW5pbWFsJyB8ICdmdWxsJyB8ICdub25lJztcbmV4cG9ydCB0eXBlIENhY2hlQ2FjaGVhYmlsaXR5ID0gJ3B1YmxpYycgfCAncHJpdmF0ZScgfCAnbm8tY2FjaGUnIHwgJ25vLXN0b3JlJztcblxuZXhwb3J0IGVudW0gUGF0aFNlZ21lbnROYW1lcyB7XG4gIGJhdGNoID0gJ2JhdGNoJyxcbiAgbWV0YWRhdGEgPSAnbWV0YWRhdGEnLFxuICBlbnRpdHlTZXQgPSAnZW50aXR5U2V0JyxcbiAgc2luZ2xldG9uID0gJ3NpbmdsZXRvbicsXG4gIHR5cGUgPSAndHlwZScsXG4gIHByb3BlcnR5ID0gJ3Byb3BlcnR5JyxcbiAgbmF2aWdhdGlvblByb3BlcnR5ID0gJ25hdmlnYXRpb25Qcm9wZXJ0eScsXG4gIHJlZmVyZW5jZSA9ICdyZWZlcmVuY2UnLFxuICB2YWx1ZSA9ICd2YWx1ZScsXG4gIGNvdW50ID0gJ2NvdW50JyxcbiAgZnVuY3Rpb24gPSAnZnVuY3Rpb24nLFxuICBhY3Rpb24gPSAnYWN0aW9uJyxcbn1cblxuZXhwb3J0IGVudW0gUXVlcnlPcHRpb25OYW1lcyB7XG4gIHNlbGVjdCA9ICdzZWxlY3QnLFxuICBleHBhbmQgPSAnZXhwYW5kJyxcbiAgY29tcHV0ZSA9ICdjb21wdXRlJyxcbiAgZmlsdGVyID0gJ2ZpbHRlcicsXG4gIHNlYXJjaCA9ICdzZWFyY2gnLFxuICB0cmFuc2Zvcm0gPSAndHJhbnNmb3JtJyxcbiAgb3JkZXJCeSA9ICdvcmRlckJ5JyxcbiAgdG9wID0gJ3RvcCcsXG4gIHNraXAgPSAnc2tpcCcsXG4gIHNraXB0b2tlbiA9ICdza2lwdG9rZW4nLFxuICBmb3JtYXQgPSAnZm9ybWF0JyxcbiAgY291bnQgPSAnY291bnQnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvbnMge1xuICB2ZXJzaW9uPzogT0RhdGFWZXJzaW9uO1xuICBzdHJpbmdBc0VudW0/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwaU9wdGlvbnMgZXh0ZW5kcyBPcHRpb25zIHtcbiAgcGFyYW1zPzogeyBbcGFyYW06IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdIH07XG4gIGhlYWRlcnM/OiB7IFtwYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW10gfTtcbiAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcbiAgLy9IZWFkZXJzXG4gIGFjY2VwdD86IHtcbiAgICBleHBvbmVudGlhbERlY2ltYWxzPzogYm9vbGVhbjtcbiAgICBtZXRhZGF0YT86IE9EYXRhTWV0YWRhdGFUeXBlO1xuICAgIGllZWU3NTRDb21wYXRpYmxlPzogYm9vbGVhbjtcbiAgICBzdHJlYW1pbmc/OiBib29sZWFuO1xuICB9O1xuICBldGFnPzoge1xuICAgIGlmTWF0Y2g/OiBib29sZWFuO1xuICAgIGlmTm9uZU1hdGNoPzogYm9vbGVhbjtcbiAgfTtcbiAgcHJlZmVyPzoge1xuICAgIG1heFBhZ2VTaXplPzogbnVtYmVyO1xuICAgIHJldHVybj86ICdyZXByZXNlbnRhdGlvbicgfCAnbWluaW1hbCc7XG4gICAgY29udGludWVPbkVycm9yPzogYm9vbGVhbjtcbiAgICBpbmNsdWRlQW5ub3RhdGlvbnM/OiBzdHJpbmc7XG4gIH07XG4gIHN0cmlwTWV0YWRhdGE/OiBPRGF0YU1ldGFkYXRhVHlwZTtcbiAgZmV0Y2hQb2xpY3k/OiBGZXRjaFBvbGljeTtcbiAgYm9keVF1ZXJ5T3B0aW9ucz86IFF1ZXJ5T3B0aW9uTmFtZXNbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcHRpb25zSGVscGVyIGV4dGVuZHMgT3B0aW9ucyB7XG4gIGhlbHBlcjogT0RhdGFWZXJzaW9uSGVscGVyO1xuICBleHBvbmVudGlhbERlY2ltYWxzPzogYm9vbGVhbjtcbiAgbWV0YWRhdGE/OiBPRGF0YU1ldGFkYXRhVHlwZTtcbiAgaWVlZTc1NENvbXBhdGlibGU/OiBib29sZWFuO1xuICBzdHJlYW1pbmc/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc3BvbnNlT3B0aW9ucyBleHRlbmRzIE9wdGlvbnNIZWxwZXIge1xuICBjYWNoZWFiaWxpdHk/OiBDYWNoZUNhY2hlYWJpbGl0eTtcbiAgbWF4QWdlPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0cnVjdHVyZWRUeXBlRmllbGRPcHRpb25zIGV4dGVuZHMgT3B0aW9uc0hlbHBlciB7XG4gIGZpZWxkOiBTdHJ1Y3R1cmVkVHlwZUZpZWxkQ29uZmlnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlcjxUPiB7XG4gIC8vIERlc2VyaWFsaXplIHZhbHVlL3MgZnJvbSByZXF1ZXN0IGJvZHkuXG4gIGRlc2VyaWFsaXplKFxuICAgIHZhbHVlOiBhbnksXG4gICAgb3B0aW9ucz86IE9wdGlvbnNIZWxwZXIgfCBTdHJ1Y3R1cmVkVHlwZUZpZWxkT3B0aW9uc1xuICApOiBUO1xuICAvLyBTZXJpYWxpemUgdmFsdWUvcyBmb3IgcmVxdWVzdCBib2R5LlxuICBzZXJpYWxpemUoXG4gICAgdmFsdWU6IGFueSxcbiAgICBvcHRpb25zPzogT3B0aW9uc0hlbHBlciB8IFN0cnVjdHVyZWRUeXBlRmllbGRPcHRpb25zXG4gICk6IGFueTtcbiAgLy9FbmNvZGUgdmFsdWUvcyBmb3IgVVJMIHBhcmFtZXRlciBvciBxdWVyeS1zdHJpbmcuXG4gIGVuY29kZSh2YWx1ZTogYW55LCBvcHRpb25zPzogT3B0aW9uc0hlbHBlciB8IFN0cnVjdHVyZWRUeXBlRmllbGRPcHRpb25zKTogYW55O1xufVxuXG5leHBvcnQgY29uc3QgTk9ORV9QQVJTRVIgPSB7XG4gIGRlc2VyaWFsaXplOiAodmFsdWU6IGFueSkgPT4gdmFsdWUsXG4gIHNlcmlhbGl6ZTogKHZhbHVlOiBhbnkpID0+IHZhbHVlLFxuICBlbmNvZGU6ICh2YWx1ZTogYW55KSA9PiB2YWx1ZSxcbn0gYXMgUGFyc2VyPGFueT47XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FjaGUge1xuICBwdXQ8VD4oa2V5OiBzdHJpbmcsIHBheWxvYWQ6IFQsIC4uLm9wdHM6IGFueVtdKTogdm9pZDtcbiAgZ2V0PFQ+KGtleTogc3RyaW5nLCAuLi5vcHRzOiBhbnlbXSk6IFQgfCB1bmRlZmluZWQ7XG59XG5cbi8vI3JlZ2lvbiBDb25maWdzXG5leHBvcnQgdHlwZSBBcGlDb25maWcgPSB7XG4gIHNlcnZpY2VSb290VXJsOiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHZlcnNpb24/OiBPRGF0YVZlcnNpb247XG4gIGRlZmF1bHQ/OiBib29sZWFuO1xuICBjcmVhdGlvbj86IERhdGU7XG4gIGNhY2hlPzogQ2FjaGU7XG4gIGVycm9ySGFuZGxlcj86IChlcnJvcjogYW55LCBjYXVnaHQ6IE9ic2VydmFibGU8YW55PikgPT4gT2JzZXJ2YWJsZTxuZXZlcj47XG4gIG9wdGlvbnM/OiBBcGlPcHRpb25zO1xuICBwYXJzZXJzPzogeyBbdHlwZTogc3RyaW5nXTogUGFyc2VyPGFueT4gfTtcbiAgc2NoZW1hcz86IFNjaGVtYUNvbmZpZ1tdO1xufTtcbmV4cG9ydCB0eXBlIEFubm90YXRpb25Db25maWcgPSB7XG4gIHRlcm06IHN0cmluZztcbiAgc3RyaW5nPzogc3RyaW5nO1xuICBib29sPzogYm9vbGVhbjtcbiAgaW50PzogbnVtYmVyO1xuICBwZXJtaXNzaW9ucz86IHN0cmluZ1tdO1xuICBwcm9wZXJ0aWVzPzogc3RyaW5nW107XG59O1xuZXhwb3J0IHR5cGUgU2NoZW1hQ29uZmlnID0ge1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgYWxpYXM/OiBzdHJpbmc7XG4gIGFubm90YXRpb25zPzogQW5ub3RhdGlvbkNvbmZpZ1tdO1xuICBlbnVtcz86IEVudW1UeXBlQ29uZmlnPGFueT5bXTtcbiAgZW50aXRpZXM/OiBTdHJ1Y3R1cmVkVHlwZUNvbmZpZzxhbnk+W107XG4gIGNhbGxhYmxlcz86IENhbGxhYmxlQ29uZmlnW107XG4gIGNvbnRhaW5lcnM/OiBFbnRpdHlDb250YWluZXJDb25maWdbXTtcbn07XG5cbmV4cG9ydCB0eXBlIEVudGl0eUNvbnRhaW5lckNvbmZpZyA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICBhbm5vdGF0aW9ucz86IEFubm90YXRpb25Db25maWdbXTtcbiAgZW50aXR5U2V0cz86IEVudGl0eVNldENvbmZpZ1tdO1xufTtcblxuZXhwb3J0IHR5cGUgRW51bVR5cGVGaWVsZENvbmZpZyA9IHtcbiAgdmFsdWU6IG51bWJlcjtcbiAgYW5ub3RhdGlvbnM/OiBBbm5vdGF0aW9uQ29uZmlnW107XG59O1xuXG5leHBvcnQgdHlwZSBFbnVtVHlwZUNvbmZpZzxUPiA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICBmbGFncz86IGJvb2xlYW47XG4gIGFubm90YXRpb25zPzogQW5ub3RhdGlvbkNvbmZpZ1tdO1xuICBtZW1iZXJzOiB7IFtuYW1lOiBzdHJpbmddOiBudW1iZXIgfSB8IHsgW3ZhbHVlOiBudW1iZXJdOiBzdHJpbmcgfTtcbiAgZmllbGRzOiB7IFttZW1iZXI6IHN0cmluZ106IEVudW1UeXBlRmllbGRDb25maWcgfTtcbn07XG5cbmV4cG9ydCB0eXBlIFN0cnVjdHVyZWRUeXBlRmllbGRDb25maWcgPSB7XG4gIHR5cGU6IHN0cmluZztcbiAgZGVmYXVsdD86IGFueTtcbiAgbWF4TGVuZ3RoPzogbnVtYmVyO1xuICBrZXk/OiBib29sZWFuO1xuICBjb2xsZWN0aW9uPzogYm9vbGVhbjtcbiAgbnVsbGFibGU/OiBib29sZWFuO1xuICBuYXZpZ2F0aW9uPzogYm9vbGVhbjtcbiAgcHJlY2lzaW9uPzogbnVtYmVyO1xuICBhbm5vdGF0aW9ucz86IEFubm90YXRpb25Db25maWdbXTtcbiAgc2NhbGU/OiBudW1iZXI7XG4gIHJlZmVyZW50aWFscz86IHsgcHJvcGVydHk6IHN0cmluZzsgcmVmZXJlbmNlZFByb3BlcnR5OiBzdHJpbmcgfVtdO1xuICByZWZlcmVudGlhbD86IHN0cmluZztcbiAgcmVmZXJlbmNlZD86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFN0cnVjdHVyZWRUeXBlQ29uZmlnPFQ+ID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGJhc2U/OiBzdHJpbmc7XG4gIG9wZW4/OiBib29sZWFuO1xuICBtb2RlbD86IHsgbmV3ICguLi5wYXJhbXM6IGFueVtdKTogYW55IH07XG4gIGNvbGxlY3Rpb24/OiB7IG5ldyAoLi4ucGFyYW1zOiBhbnlbXSk6IGFueSB9O1xuICBhbm5vdGF0aW9ucz86IEFubm90YXRpb25Db25maWdbXTtcbiAga2V5cz86IHsgbmFtZTogc3RyaW5nOyBhbGlhcz86IHN0cmluZyB9W107XG4gIGZpZWxkczogeyBbUCBpbiBrZXlvZiBUXT86IFN0cnVjdHVyZWRUeXBlRmllbGRDb25maWcgfTtcbn07XG5cbmV4cG9ydCB0eXBlIFBhcmFtZXRlciA9IHtcbiAgdHlwZTogc3RyaW5nO1xuICBudWxsYWJsZT86IGJvb2xlYW47XG4gIGNvbGxlY3Rpb24/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgQ2FsbGFibGVDb25maWcgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgZW50aXR5U2V0UGF0aD86IHN0cmluZztcbiAgYm91bmQ/OiBib29sZWFuO1xuICBjb21wb3NhYmxlPzogYm9vbGVhbjtcbiAgcGFyYW1ldGVycz86IHsgW25hbWU6IHN0cmluZ106IFBhcmFtZXRlciB9O1xuICByZXR1cm4/OiB7IHR5cGU6IHN0cmluZzsgY29sbGVjdGlvbj86IGJvb2xlYW4gfTtcbn07XG5leHBvcnQgdHlwZSBFbnRpdHlTZXRDb25maWcgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgZW50aXR5VHlwZTogc3RyaW5nO1xuICBzZXJ2aWNlOiB7IG5ldyAoLi4ucGFyYW1zOiBhbnlbXSk6IGFueSB9O1xuICBhbm5vdGF0aW9ucz86IEFubm90YXRpb25Db25maWdbXTtcbn07XG4vLyNlbmRyZWdpb25cbiJdfQ==
@@ -1,21 +0,0 @@
1
- import { CALLABLE_BINDING_PARAMETER } from '../constants';
2
- import { Objects } from './objects';
3
- export const OData = {
4
- // Merge callables parameters
5
- mergeCallableParameters(callables) {
6
- return callables.reduce((acc, config) => {
7
- if (acc.every((c) => c.name !== config.name)) {
8
- config = callables
9
- .filter((c) => c.name === config.name &&
10
- Objects.equal((c.parameters || {})[CALLABLE_BINDING_PARAMETER] || {}, (config.parameters || {})[CALLABLE_BINDING_PARAMETER] || {}))
11
- .reduce((acc, c) => {
12
- acc.parameters = Object.assign(acc.parameters || {}, c.parameters || {});
13
- return acc;
14
- }, config);
15
- return [...acc, config];
16
- }
17
- return acc;
18
- }, []);
19
- },
20
- };
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2RhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvdXRpbHMvb2RhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTFELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFcEMsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHO0lBQ25CLDZCQUE2QjtJQUM3Qix1QkFBdUIsQ0FBQyxTQUEyQjtRQUNqRCxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFxQixFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3hELElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQzVDLE1BQU0sR0FBRyxTQUFTO3FCQUNmLE1BQU0sQ0FDTCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ0osQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsSUFBSTtvQkFDdEIsT0FBTyxDQUFDLEtBQUssQ0FDWCxDQUFDLENBQUMsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUMsMEJBQTBCLENBQUMsSUFBSSxFQUFFLEVBQ3RELENBQUMsTUFBTSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLEVBQUUsQ0FDNUQsQ0FDSjtxQkFDQSxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7b0JBQ2pCLEdBQUcsQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FDNUIsR0FBRyxDQUFDLFVBQVUsSUFBSSxFQUFFLEVBQ3BCLENBQUMsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUNuQixDQUFDO29CQUNGLE9BQU8sR0FBRyxDQUFDO2dCQUNiLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDYixPQUFPLENBQUMsR0FBRyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7YUFDekI7WUFDRCxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUFzQixDQUFDLENBQUM7SUFDN0IsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDQUxMQUJMRV9CSU5ESU5HX1BBUkFNRVRFUiB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBDYWxsYWJsZUNvbmZpZyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IE9iamVjdHMgfSBmcm9tICcuL29iamVjdHMnO1xuXG5leHBvcnQgY29uc3QgT0RhdGEgPSB7XG4gIC8vIE1lcmdlIGNhbGxhYmxlcyBwYXJhbWV0ZXJzXG4gIG1lcmdlQ2FsbGFibGVQYXJhbWV0ZXJzKGNhbGxhYmxlczogQ2FsbGFibGVDb25maWdbXSk6IENhbGxhYmxlQ29uZmlnW10ge1xuICAgIHJldHVybiBjYWxsYWJsZXMucmVkdWNlKChhY2M6IENhbGxhYmxlQ29uZmlnW10sIGNvbmZpZykgPT4ge1xuICAgICAgaWYgKGFjYy5ldmVyeSgoYykgPT4gYy5uYW1lICE9PSBjb25maWcubmFtZSkpIHtcbiAgICAgICAgY29uZmlnID0gY2FsbGFibGVzXG4gICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgIChjKSA9PlxuICAgICAgICAgICAgICBjLm5hbWUgPT09IGNvbmZpZy5uYW1lICYmXG4gICAgICAgICAgICAgIE9iamVjdHMuZXF1YWwoXG4gICAgICAgICAgICAgICAgKGMucGFyYW1ldGVycyB8fCB7fSlbQ0FMTEFCTEVfQklORElOR19QQVJBTUVURVJdIHx8IHt9LFxuICAgICAgICAgICAgICAgIChjb25maWcucGFyYW1ldGVycyB8fCB7fSlbQ0FMTEFCTEVfQklORElOR19QQVJBTUVURVJdIHx8IHt9XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgICAgLnJlZHVjZSgoYWNjLCBjKSA9PiB7XG4gICAgICAgICAgICBhY2MucGFyYW1ldGVycyA9IE9iamVjdC5hc3NpZ24oXG4gICAgICAgICAgICAgIGFjYy5wYXJhbWV0ZXJzIHx8IHt9LFxuICAgICAgICAgICAgICBjLnBhcmFtZXRlcnMgfHwge31cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgIH0sIGNvbmZpZyk7XG4gICAgICAgIHJldHVybiBbLi4uYWNjLCBjb25maWddO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCBbXSBhcyBDYWxsYWJsZUNvbmZpZ1tdKTtcbiAgfSxcbn07XG4iXX0=