breeze-client 2.1.6 → 2.1.7-mjs

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 (378) hide show
  1. package/LICENSE +1 -1
  2. package/adapter-ajax-angularjs/{breeze-client-adapter-ajax-angularjs.d.ts → index.d.ts} +1 -0
  3. package/adapter-ajax-fetch/{breeze-client-adapter-ajax-fetch.d.ts → index.d.ts} +1 -0
  4. package/adapter-ajax-httpclient/{breeze-client-adapter-ajax-httpclient.d.ts → index.d.ts} +1 -0
  5. package/adapter-ajax-jquery/{breeze-client-adapter-ajax-jquery.d.ts → index.d.ts} +1 -0
  6. package/adapter-ajax-post/{breeze-client-adapter-ajax-post.d.ts → index.d.ts} +1 -0
  7. package/adapter-data-service-odata/{breeze-client-adapter-data-service-odata.d.ts → index.d.ts} +1 -0
  8. package/adapter-data-service-webapi/{breeze-client-adapter-data-service-webapi.d.ts → index.d.ts} +1 -0
  9. package/adapter-model-library-backing-store/{breeze-client-adapter-model-library-backing-store.d.ts → index.d.ts} +1 -0
  10. package/adapter-model-library-ko/{breeze-client-adapter-model-library-ko.d.ts → index.d.ts} +1 -0
  11. package/adapter-uri-builder-json/{breeze-client-adapter-uri-builder-json.d.ts → index.d.ts} +1 -0
  12. package/adapter-uri-builder-odata/{breeze-client-adapter-uri-builder-odata.d.ts → index.d.ts} +1 -0
  13. package/esm2022/adapter-ajax-angularjs/adapter-ajax-angularjs.mjs +135 -0
  14. package/esm2022/adapter-ajax-angularjs/adapter-core.mjs +49 -0
  15. package/esm2022/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.mjs +5 -0
  16. package/esm2022/adapter-ajax-fetch/adapter-ajax-fetch.mjs +135 -0
  17. package/esm2022/adapter-ajax-fetch/adapter-core.mjs +49 -0
  18. package/esm2022/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.mjs +5 -0
  19. package/esm2022/adapter-ajax-httpclient/adapter-ajax-httpclient.mjs +139 -0
  20. package/esm2022/adapter-ajax-httpclient/adapter-core.mjs +49 -0
  21. package/esm2022/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.mjs +5 -0
  22. package/esm2022/adapter-ajax-jquery/adapter-ajax-jquery.mjs +107 -0
  23. package/esm2022/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.mjs +5 -0
  24. package/esm2022/adapter-ajax-post/adapter-ajax-post.mjs +77 -0
  25. package/esm2022/adapter-ajax-post/breeze-client-adapter-ajax-post.mjs +5 -0
  26. package/esm2022/adapter-data-service-odata/adapter-core.mjs +49 -0
  27. package/{esm5/adapter-data-service-odata/adapter-data-service-odata.js → esm2022/adapter-data-service-odata/adapter-data-service-odata.mjs} +138 -147
  28. package/esm2022/adapter-data-service-odata/breeze-client-adapter-data-service-odata.mjs +5 -0
  29. package/esm2022/adapter-data-service-webapi/adapter-data-service-webapi.mjs +100 -0
  30. package/esm2022/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.mjs +5 -0
  31. package/esm2022/adapter-model-library-backing-store/adapter-model-library-backing-store.mjs +269 -0
  32. package/esm2022/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.mjs +5 -0
  33. package/esm2022/adapter-model-library-ko/adapter-model-library-ko.mjs +241 -0
  34. package/esm2022/adapter-model-library-ko/breeze-client-adapter-model-library-ko.mjs +5 -0
  35. package/esm2022/adapter-uri-builder-json/adapter-core.mjs +49 -0
  36. package/esm2022/adapter-uri-builder-json/adapter-uri-builder-json.mjs +37 -0
  37. package/esm2022/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.mjs +5 -0
  38. package/esm2022/adapter-uri-builder-odata/adapter-core.mjs +49 -0
  39. package/esm2022/adapter-uri-builder-odata/adapter-uri-builder-odata.mjs +191 -0
  40. package/esm2022/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.mjs +5 -0
  41. package/esm2022/breeze-client.mjs +5 -0
  42. package/esm2022/index.mjs +2 -0
  43. package/esm2022/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.mjs +5 -0
  44. package/esm2022/mixin-get-entity-graph/mixin-get-entity-graph.mjs +269 -0
  45. package/esm2022/mixin-save-queuing/breeze-client-mixin-save-queuing.mjs +5 -0
  46. package/esm2022/mixin-save-queuing/mixin-save-queuing.mjs +421 -0
  47. package/esm2022/src/abstract-data-service-adapter.mjs +325 -0
  48. package/esm2022/src/array.mjs +4 -0
  49. package/esm2022/src/assert-param.mjs +330 -0
  50. package/esm2022/src/breeze.mjs +85 -0
  51. package/esm2022/src/complex-array.mjs +117 -0
  52. package/esm2022/src/config.mjs +232 -0
  53. package/esm2022/src/core.mjs +712 -0
  54. package/esm2022/src/csdl-metadata-parser.mjs +385 -0
  55. package/esm2022/src/data-service.mjs +239 -0
  56. package/esm2022/src/data-type.mjs +507 -0
  57. package/esm2022/src/default-property-interceptor.mjs +460 -0
  58. package/{esm2015/src/entity-action.js → esm2022/src/entity-action.mjs} +25 -25
  59. package/esm2022/src/entity-aspect.mjs +897 -0
  60. package/esm2022/src/entity-group.mjs +192 -0
  61. package/esm2022/src/entity-key.mjs +127 -0
  62. package/esm2022/src/entity-manager.mjs +2183 -0
  63. package/esm2022/src/entity-metadata.mjs +2242 -0
  64. package/esm2022/src/entity-query.mjs +1024 -0
  65. package/esm2022/src/entity-state.mjs +107 -0
  66. package/esm2022/src/enum.mjs +143 -0
  67. package/esm2022/src/event.mjs +264 -0
  68. package/esm2022/src/interface-registry.mjs +39 -0
  69. package/esm2022/src/key-generator.mjs +110 -0
  70. package/esm2022/src/local-query-comparison-options.mjs +75 -0
  71. package/esm2022/src/mapping-context.mjs +422 -0
  72. package/{esm5/src/naming-convention.js → esm2022/src/naming-convention.mjs} +35 -29
  73. package/esm2022/src/observable-array.mjs +183 -0
  74. package/esm2022/src/predicate.mjs +1259 -0
  75. package/esm2022/src/primitive-array.mjs +85 -0
  76. package/esm2022/src/query-options.mjs +160 -0
  77. package/esm2022/src/relation-array.mjs +173 -0
  78. package/esm2022/src/save-options.mjs +51 -0
  79. package/esm2022/src/unattached-children-map.mjs +56 -0
  80. package/{esm5/src/validate.js → esm2022/src/validate.mjs} +116 -110
  81. package/esm2022/src/validation-options.mjs +78 -0
  82. package/{fesm2015/breeze-client-adapter-ajax-angularjs.js → fesm2022/breeze-client-adapter-ajax-angularjs.mjs} +6 -1
  83. package/fesm2022/breeze-client-adapter-ajax-angularjs.mjs.map +1 -0
  84. package/{fesm2015/breeze-client-adapter-ajax-fetch.js → fesm2022/breeze-client-adapter-ajax-fetch.mjs} +9 -4
  85. package/fesm2022/breeze-client-adapter-ajax-fetch.mjs.map +1 -0
  86. package/{fesm2015/breeze-client-adapter-ajax-httpclient.js → fesm2022/breeze-client-adapter-ajax-httpclient.mjs} +6 -4
  87. package/fesm2022/breeze-client-adapter-ajax-httpclient.mjs.map +1 -0
  88. package/{fesm2015/breeze-client-adapter-ajax-jquery.js → fesm2022/breeze-client-adapter-ajax-jquery.mjs} +6 -2
  89. package/fesm2022/breeze-client-adapter-ajax-jquery.mjs.map +1 -0
  90. package/{fesm2015/breeze-client-adapter-ajax-post.js → fesm2022/breeze-client-adapter-ajax-post.mjs} +1 -1
  91. package/fesm2022/breeze-client-adapter-ajax-post.mjs.map +1 -0
  92. package/{fesm2015/breeze-client-adapter-data-service-odata.js → fesm2022/breeze-client-adapter-data-service-odata.mjs} +68 -69
  93. package/fesm2022/breeze-client-adapter-data-service-odata.mjs.map +1 -0
  94. package/{fesm2015/breeze-client-adapter-data-service-webapi.js → fesm2022/breeze-client-adapter-data-service-webapi.mjs} +30 -30
  95. package/fesm2022/breeze-client-adapter-data-service-webapi.mjs.map +1 -0
  96. package/{fesm2015/breeze-client-adapter-model-library-backing-store.js → fesm2022/breeze-client-adapter-model-library-backing-store.mjs} +14 -13
  97. package/fesm2022/breeze-client-adapter-model-library-backing-store.mjs.map +1 -0
  98. package/{fesm2015/breeze-client-adapter-model-library-ko.js → fesm2022/breeze-client-adapter-model-library-ko.mjs} +14 -13
  99. package/fesm2022/breeze-client-adapter-model-library-ko.mjs.map +1 -0
  100. package/{fesm2015/breeze-client-adapter-uri-builder-json.js → fesm2022/breeze-client-adapter-uri-builder-json.mjs} +9 -8
  101. package/fesm2022/breeze-client-adapter-uri-builder-json.mjs.map +1 -0
  102. package/{fesm2015/breeze-client-adapter-uri-builder-odata.js → fesm2022/breeze-client-adapter-uri-builder-odata.mjs} +86 -86
  103. package/fesm2022/breeze-client-adapter-uri-builder-odata.mjs.map +1 -0
  104. package/{fesm2015/breeze-client-mixin-get-entity-graph.js → fesm2022/breeze-client-mixin-get-entity-graph.mjs} +1 -1
  105. package/fesm2022/breeze-client-mixin-get-entity-graph.mjs.map +1 -0
  106. package/{fesm2015/breeze-client-mixin-save-queuing.js → fesm2022/breeze-client-mixin-save-queuing.mjs} +23 -2
  107. package/fesm2022/breeze-client-mixin-save-queuing.mjs.map +1 -0
  108. package/{fesm2015/breeze-client.js → fesm2022/breeze-client.mjs} +2126 -1577
  109. package/fesm2022/breeze-client.mjs.map +1 -0
  110. package/mixin-get-entity-graph/{breeze-client-mixin-get-entity-graph.d.ts → index.d.ts} +1 -0
  111. package/mixin-save-queuing/{breeze-client-mixin-save-queuing.d.ts → index.d.ts} +1 -0
  112. package/package.json +93 -11
  113. package/src/abstract-data-service-adapter.d.ts +20 -0
  114. package/src/config.d.ts +1 -1
  115. package/src/core.d.ts +1 -1
  116. package/src/entity-aspect.d.ts +1 -1
  117. package/src/entity-metadata.d.ts +8 -6
  118. package/src/entity-query.d.ts +18 -4
  119. package/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.metadata.json +0 -1
  120. package/adapter-ajax-angularjs/package.json +0 -13
  121. package/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.metadata.json +0 -1
  122. package/adapter-ajax-fetch/package.json +0 -13
  123. package/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.metadata.json +0 -1
  124. package/adapter-ajax-httpclient/package.json +0 -13
  125. package/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.metadata.json +0 -1
  126. package/adapter-ajax-jquery/package.json +0 -13
  127. package/adapter-ajax-post/breeze-client-adapter-ajax-post.metadata.json +0 -1
  128. package/adapter-ajax-post/package.json +0 -13
  129. package/adapter-data-service-odata/breeze-client-adapter-data-service-odata.metadata.json +0 -1
  130. package/adapter-data-service-odata/package.json +0 -13
  131. package/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.metadata.json +0 -1
  132. package/adapter-data-service-webapi/package.json +0 -13
  133. package/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.metadata.json +0 -1
  134. package/adapter-model-library-backing-store/package.json +0 -13
  135. package/adapter-model-library-ko/breeze-client-adapter-model-library-ko.metadata.json +0 -1
  136. package/adapter-model-library-ko/package.json +0 -13
  137. package/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.metadata.json +0 -1
  138. package/adapter-uri-builder-json/package.json +0 -13
  139. package/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.metadata.json +0 -1
  140. package/adapter-uri-builder-odata/package.json +0 -13
  141. package/breeze-client.d.ts +0 -8
  142. package/breeze-client.metadata.json +0 -1
  143. package/bundles/breeze-client-adapter-ajax-angularjs.umd.js +0 -190
  144. package/bundles/breeze-client-adapter-ajax-angularjs.umd.js.map +0 -1
  145. package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js +0 -2
  146. package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js.map +0 -1
  147. package/bundles/breeze-client-adapter-ajax-fetch.umd.js +0 -190
  148. package/bundles/breeze-client-adapter-ajax-fetch.umd.js.map +0 -1
  149. package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js +0 -2
  150. package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js.map +0 -1
  151. package/bundles/breeze-client-adapter-ajax-httpclient.umd.js +0 -195
  152. package/bundles/breeze-client-adapter-ajax-httpclient.umd.js.map +0 -1
  153. package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js +0 -2
  154. package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js.map +0 -1
  155. package/bundles/breeze-client-adapter-ajax-jquery.umd.js +0 -115
  156. package/bundles/breeze-client-adapter-ajax-jquery.umd.js.map +0 -1
  157. package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js +0 -2
  158. package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js.map +0 -1
  159. package/bundles/breeze-client-adapter-ajax-post.umd.js +0 -92
  160. package/bundles/breeze-client-adapter-ajax-post.umd.js.map +0 -1
  161. package/bundles/breeze-client-adapter-ajax-post.umd.min.js +0 -2
  162. package/bundles/breeze-client-adapter-ajax-post.umd.min.js.map +0 -1
  163. package/bundles/breeze-client-adapter-data-service-odata.umd.js +0 -747
  164. package/bundles/breeze-client-adapter-data-service-odata.umd.js.map +0 -1
  165. package/bundles/breeze-client-adapter-data-service-odata.umd.min.js +0 -16
  166. package/bundles/breeze-client-adapter-data-service-odata.umd.min.js.map +0 -1
  167. package/bundles/breeze-client-adapter-data-service-webapi.umd.js +0 -333
  168. package/bundles/breeze-client-adapter-data-service-webapi.umd.js.map +0 -1
  169. package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js +0 -16
  170. package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js.map +0 -1
  171. package/bundles/breeze-client-adapter-model-library-backing-store.umd.js +0 -280
  172. package/bundles/breeze-client-adapter-model-library-backing-store.umd.js.map +0 -1
  173. package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js +0 -2
  174. package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js.map +0 -1
  175. package/bundles/breeze-client-adapter-model-library-ko.umd.js +0 -252
  176. package/bundles/breeze-client-adapter-model-library-ko.umd.js.map +0 -1
  177. package/bundles/breeze-client-adapter-model-library-ko.umd.min.js +0 -2
  178. package/bundles/breeze-client-adapter-model-library-ko.umd.min.js.map +0 -1
  179. package/bundles/breeze-client-adapter-uri-builder-json.umd.js +0 -96
  180. package/bundles/breeze-client-adapter-uri-builder-json.umd.js.map +0 -1
  181. package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js +0 -2
  182. package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js.map +0 -1
  183. package/bundles/breeze-client-adapter-uri-builder-odata.umd.js +0 -262
  184. package/bundles/breeze-client-adapter-uri-builder-odata.umd.js.map +0 -1
  185. package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js +0 -2
  186. package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js.map +0 -1
  187. package/bundles/breeze-client-mixin-get-entity-graph.umd.js +0 -258
  188. package/bundles/breeze-client-mixin-get-entity-graph.umd.js.map +0 -1
  189. package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js +0 -2
  190. package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js.map +0 -1
  191. package/bundles/breeze-client-mixin-save-queuing.umd.js +0 -579
  192. package/bundles/breeze-client-mixin-save-queuing.umd.js.map +0 -1
  193. package/bundles/breeze-client-mixin-save-queuing.umd.min.js +0 -16
  194. package/bundles/breeze-client-mixin-save-queuing.umd.min.js.map +0 -1
  195. package/bundles/breeze-client.umd.js +0 -14181
  196. package/bundles/breeze-client.umd.js.map +0 -1
  197. package/bundles/breeze-client.umd.min.js +0 -16
  198. package/bundles/breeze-client.umd.min.js.map +0 -1
  199. package/esm2015/adapter-ajax-angularjs/adapter-ajax-angularjs.js +0 -130
  200. package/esm2015/adapter-ajax-angularjs/adapter-core.js +0 -49
  201. package/esm2015/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +0 -5
  202. package/esm2015/adapter-ajax-fetch/adapter-ajax-fetch.js +0 -130
  203. package/esm2015/adapter-ajax-fetch/adapter-core.js +0 -49
  204. package/esm2015/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +0 -5
  205. package/esm2015/adapter-ajax-httpclient/adapter-ajax-httpclient.js +0 -137
  206. package/esm2015/adapter-ajax-httpclient/adapter-core.js +0 -49
  207. package/esm2015/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +0 -5
  208. package/esm2015/adapter-ajax-jquery/adapter-ajax-jquery.js +0 -103
  209. package/esm2015/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +0 -5
  210. package/esm2015/adapter-ajax-post/adapter-ajax-post.js +0 -77
  211. package/esm2015/adapter-ajax-post/breeze-client-adapter-ajax-post.js +0 -5
  212. package/esm2015/adapter-data-service-odata/adapter-core.js +0 -49
  213. package/esm2015/adapter-data-service-odata/adapter-data-service-odata.js +0 -463
  214. package/esm2015/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +0 -5
  215. package/esm2015/adapter-data-service-webapi/adapter-data-service-webapi.js +0 -100
  216. package/esm2015/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +0 -5
  217. package/esm2015/adapter-model-library-backing-store/adapter-model-library-backing-store.js +0 -268
  218. package/esm2015/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +0 -5
  219. package/esm2015/adapter-model-library-ko/adapter-model-library-ko.js +0 -240
  220. package/esm2015/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +0 -5
  221. package/esm2015/adapter-uri-builder-json/adapter-core.js +0 -49
  222. package/esm2015/adapter-uri-builder-json/adapter-uri-builder-json.js +0 -36
  223. package/esm2015/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +0 -5
  224. package/esm2015/adapter-uri-builder-odata/adapter-core.js +0 -49
  225. package/esm2015/adapter-uri-builder-odata/adapter-uri-builder-odata.js +0 -192
  226. package/esm2015/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +0 -5
  227. package/esm2015/breeze-client.js +0 -9
  228. package/esm2015/index.js +0 -2
  229. package/esm2015/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +0 -5
  230. package/esm2015/mixin-get-entity-graph/mixin-get-entity-graph.js +0 -269
  231. package/esm2015/mixin-save-queuing/breeze-client-mixin-save-queuing.js +0 -5
  232. package/esm2015/mixin-save-queuing/mixin-save-queuing.js +0 -400
  233. package/esm2015/src/abstract-data-service-adapter.js +0 -296
  234. package/esm2015/src/array.js +0 -4
  235. package/esm2015/src/assert-param.js +0 -312
  236. package/esm2015/src/breeze.js +0 -85
  237. package/esm2015/src/complex-array.js +0 -119
  238. package/esm2015/src/config.js +0 -223
  239. package/esm2015/src/core.js +0 -714
  240. package/esm2015/src/csdl-metadata-parser.js +0 -385
  241. package/esm2015/src/data-service.js +0 -203
  242. package/esm2015/src/data-type.js +0 -503
  243. package/esm2015/src/default-property-interceptor.js +0 -460
  244. package/esm2015/src/entity-aspect.js +0 -804
  245. package/esm2015/src/entity-group.js +0 -187
  246. package/esm2015/src/entity-key.js +0 -116
  247. package/esm2015/src/entity-manager.js +0 -2094
  248. package/esm2015/src/entity-metadata.js +0 -2109
  249. package/esm2015/src/entity-query.js +0 -996
  250. package/esm2015/src/entity-state.js +0 -107
  251. package/esm2015/src/enum.js +0 -141
  252. package/esm2015/src/event.js +0 -256
  253. package/esm2015/src/interface-registry.js +0 -41
  254. package/esm2015/src/key-generator.js +0 -108
  255. package/esm2015/src/local-query-comparison-options.js +0 -65
  256. package/esm2015/src/mapping-context.js +0 -411
  257. package/esm2015/src/naming-convention.js +0 -88
  258. package/esm2015/src/observable-array.js +0 -185
  259. package/esm2015/src/predicate.js +0 -1242
  260. package/esm2015/src/primitive-array.js +0 -87
  261. package/esm2015/src/query-options.js +0 -152
  262. package/esm2015/src/relation-array.js +0 -175
  263. package/esm2015/src/save-options.js +0 -41
  264. package/esm2015/src/unattached-children-map.js +0 -58
  265. package/esm2015/src/validate.js +0 -991
  266. package/esm2015/src/validation-options.js +0 -64
  267. package/esm5/adapter-ajax-angularjs/adapter-ajax-angularjs.js +0 -132
  268. package/esm5/adapter-ajax-angularjs/adapter-core.js +0 -49
  269. package/esm5/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +0 -5
  270. package/esm5/adapter-ajax-fetch/adapter-ajax-fetch.js +0 -132
  271. package/esm5/adapter-ajax-fetch/adapter-core.js +0 -49
  272. package/esm5/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +0 -5
  273. package/esm5/adapter-ajax-httpclient/adapter-ajax-httpclient.js +0 -139
  274. package/esm5/adapter-ajax-httpclient/adapter-core.js +0 -49
  275. package/esm5/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +0 -5
  276. package/esm5/adapter-ajax-jquery/adapter-ajax-jquery.js +0 -105
  277. package/esm5/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +0 -5
  278. package/esm5/adapter-ajax-post/adapter-ajax-post.js +0 -81
  279. package/esm5/adapter-ajax-post/breeze-client-adapter-ajax-post.js +0 -5
  280. package/esm5/adapter-data-service-odata/adapter-core.js +0 -49
  281. package/esm5/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +0 -5
  282. package/esm5/adapter-data-service-webapi/adapter-data-service-webapi.js +0 -105
  283. package/esm5/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +0 -5
  284. package/esm5/adapter-model-library-backing-store/adapter-model-library-backing-store.js +0 -270
  285. package/esm5/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +0 -5
  286. package/esm5/adapter-model-library-ko/adapter-model-library-ko.js +0 -242
  287. package/esm5/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +0 -5
  288. package/esm5/adapter-uri-builder-json/adapter-core.js +0 -49
  289. package/esm5/adapter-uri-builder-json/adapter-uri-builder-json.js +0 -38
  290. package/esm5/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +0 -5
  291. package/esm5/adapter-uri-builder-odata/adapter-core.js +0 -49
  292. package/esm5/adapter-uri-builder-odata/adapter-uri-builder-odata.js +0 -197
  293. package/esm5/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +0 -5
  294. package/esm5/breeze-client.js +0 -9
  295. package/esm5/index.js +0 -2
  296. package/esm5/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +0 -5
  297. package/esm5/mixin-get-entity-graph/mixin-get-entity-graph.js +0 -269
  298. package/esm5/mixin-save-queuing/breeze-client-mixin-save-queuing.js +0 -5
  299. package/esm5/mixin-save-queuing/mixin-save-queuing.js +0 -412
  300. package/esm5/src/abstract-data-service-adapter.js +0 -302
  301. package/esm5/src/array.js +0 -4
  302. package/esm5/src/assert-param.js +0 -317
  303. package/esm5/src/breeze.js +0 -85
  304. package/esm5/src/complex-array.js +0 -119
  305. package/esm5/src/config.js +0 -228
  306. package/esm5/src/core.js +0 -722
  307. package/esm5/src/csdl-metadata-parser.js +0 -385
  308. package/esm5/src/data-service.js +0 -207
  309. package/esm5/src/data-type.js +0 -510
  310. package/esm5/src/default-property-interceptor.js +0 -460
  311. package/esm5/src/entity-action.js +0 -52
  312. package/esm5/src/entity-aspect.js +0 -810
  313. package/esm5/src/entity-group.js +0 -189
  314. package/esm5/src/entity-key.js +0 -118
  315. package/esm5/src/entity-manager.js +0 -2112
  316. package/esm5/src/entity-metadata.js +0 -2144
  317. package/esm5/src/entity-query.js +0 -1023
  318. package/esm5/src/entity-state.js +0 -114
  319. package/esm5/src/enum.js +0 -144
  320. package/esm5/src/event.js +0 -259
  321. package/esm5/src/interface-registry.js +0 -43
  322. package/esm5/src/key-generator.js +0 -111
  323. package/esm5/src/local-query-comparison-options.js +0 -67
  324. package/esm5/src/mapping-context.js +0 -413
  325. package/esm5/src/observable-array.js +0 -201
  326. package/esm5/src/predicate.js +0 -1307
  327. package/esm5/src/primitive-array.js +0 -87
  328. package/esm5/src/query-options.js +0 -167
  329. package/esm5/src/relation-array.js +0 -175
  330. package/esm5/src/save-options.js +0 -43
  331. package/esm5/src/unattached-children-map.js +0 -60
  332. package/esm5/src/validation-options.js +0 -66
  333. package/fesm2015/breeze-client-adapter-ajax-angularjs.js.map +0 -1
  334. package/fesm2015/breeze-client-adapter-ajax-fetch.js.map +0 -1
  335. package/fesm2015/breeze-client-adapter-ajax-httpclient.js.map +0 -1
  336. package/fesm2015/breeze-client-adapter-ajax-jquery.js.map +0 -1
  337. package/fesm2015/breeze-client-adapter-ajax-post.js.map +0 -1
  338. package/fesm2015/breeze-client-adapter-data-service-odata.js.map +0 -1
  339. package/fesm2015/breeze-client-adapter-data-service-webapi.js.map +0 -1
  340. package/fesm2015/breeze-client-adapter-model-library-backing-store.js.map +0 -1
  341. package/fesm2015/breeze-client-adapter-model-library-ko.js.map +0 -1
  342. package/fesm2015/breeze-client-adapter-uri-builder-json.js.map +0 -1
  343. package/fesm2015/breeze-client-adapter-uri-builder-odata.js.map +0 -1
  344. package/fesm2015/breeze-client-mixin-get-entity-graph.js.map +0 -1
  345. package/fesm2015/breeze-client-mixin-save-queuing.js.map +0 -1
  346. package/fesm2015/breeze-client.js.map +0 -1
  347. package/fesm5/breeze-client-adapter-ajax-angularjs.js +0 -186
  348. package/fesm5/breeze-client-adapter-ajax-angularjs.js.map +0 -1
  349. package/fesm5/breeze-client-adapter-ajax-fetch.js +0 -186
  350. package/fesm5/breeze-client-adapter-ajax-fetch.js.map +0 -1
  351. package/fesm5/breeze-client-adapter-ajax-httpclient.js +0 -193
  352. package/fesm5/breeze-client-adapter-ajax-httpclient.js.map +0 -1
  353. package/fesm5/breeze-client-adapter-ajax-jquery.js +0 -111
  354. package/fesm5/breeze-client-adapter-ajax-jquery.js.map +0 -1
  355. package/fesm5/breeze-client-adapter-ajax-post.js +0 -86
  356. package/fesm5/breeze-client-adapter-ajax-post.js.map +0 -1
  357. package/fesm5/breeze-client-adapter-data-service-odata.js +0 -523
  358. package/fesm5/breeze-client-adapter-data-service-odata.js.map +0 -1
  359. package/fesm5/breeze-client-adapter-data-service-webapi.js +0 -111
  360. package/fesm5/breeze-client-adapter-data-service-webapi.js.map +0 -1
  361. package/fesm5/breeze-client-adapter-model-library-backing-store.js +0 -276
  362. package/fesm5/breeze-client-adapter-model-library-backing-store.js.map +0 -1
  363. package/fesm5/breeze-client-adapter-model-library-ko.js +0 -248
  364. package/fesm5/breeze-client-adapter-model-library-ko.js.map +0 -1
  365. package/fesm5/breeze-client-adapter-uri-builder-json.js +0 -92
  366. package/fesm5/breeze-client-adapter-uri-builder-json.js.map +0 -1
  367. package/fesm5/breeze-client-adapter-uri-builder-odata.js +0 -250
  368. package/fesm5/breeze-client-adapter-uri-builder-odata.js.map +0 -1
  369. package/fesm5/breeze-client-mixin-get-entity-graph.js +0 -254
  370. package/fesm5/breeze-client-mixin-get-entity-graph.js.map +0 -1
  371. package/fesm5/breeze-client-mixin-save-queuing.js +0 -356
  372. package/fesm5/breeze-client-mixin-save-queuing.js.map +0 -1
  373. package/fesm5/breeze-client.js +0 -13903
  374. package/fesm5/breeze-client.js.map +0 -1
  375. package/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.metadata.json +0 -1
  376. package/mixin-get-entity-graph/package.json +0 -13
  377. package/mixin-save-queuing/breeze-client-mixin-save-queuing.metadata.json +0 -1
  378. package/mixin-save-queuing/package.json +0 -13
@@ -1,87 +0,0 @@
1
- import { core } from './core';
2
- import { observableArray } from './observable-array';
3
- import { BreezeEvent } from './event';
4
- const ɵ0 = function (adds) {
5
- return adds;
6
- }, ɵ1 = function () {
7
- let entityAspect = this.getEntityAspect();
8
- if (entityAspect.entityState.isUnchanged()) {
9
- entityAspect.setModified();
10
- }
11
- if (entityAspect.entityState.isModified() && !this._origValues) {
12
- this._origValues = this.slice(0);
13
- }
14
- }, ɵ2 = function (adds) {
15
- // nothing needed
16
- }, ɵ3 = function (removes) {
17
- // nothing needed;
18
- }, ɵ4 = function () {
19
- if (!this._origValues)
20
- return;
21
- this.length = 0;
22
- Array.prototype.push.apply(this, this._origValues);
23
- }, ɵ5 = function () {
24
- this._origValues = null;
25
- };
26
- // TODO: mixin impl is not very typesafe
27
- // Not needed
28
- // interface IPrimitiveArray extends IObservableArray {
29
- // [index: number]: any;
30
- // parent?: IStructuralObject;
31
- // parentProperty?: DataProperty;
32
- // }
33
- let primitiveArrayMixin = {
34
- // complexArray will have the following props
35
- // parent
36
- // propertyPath
37
- // parentProperty
38
- // addedItems - only if modified
39
- // removedItems - only if modified
40
- // each complexAspect of any entity within a complexArray
41
- // will have its own _complexState = "A/M";
42
- /**
43
- Primitive arrays are not actually classes, they are objects that mimic arrays. A primitive array is collection of
44
- primitive types associated with a data property on a single entity or complex object. i.e. customer.invoiceNumbers.
45
- This collection looks like an array in that the basic methods on arrays such as 'push', 'pop', 'shift', 'unshift', 'splice'
46
- are all provided as well as several special purpose methods.
47
- @class {primitiveArray}
48
- **/
49
- /**
50
- An [[Event]] that fires whenever the contents of this array changed. This event
51
- is fired any time a new entity is attached or added to the EntityManager and happens to belong to this collection.
52
- Adds that occur as a result of query or import operations are batched so that all of the adds or removes to any individual
53
- collections are collected into a single notification event for each relation array.
54
- @example
55
- // assume order is an order entity attached to an EntityManager.
56
- orders.arrayChanged.subscribe(
57
- function (arrayChangedArgs) {
58
- let addedEntities = arrayChangedArgs.added;
59
- let removedEntities = arrayChanged.removed;
60
- });
61
- @event arrayChanged
62
- @param added {Array of Primitives} An array of all of the items added to this collection.
63
- @param removed {Array of Primitives} An array of all of the items removed from this collection.
64
- @readOnly
65
- **/
66
- // virtual impls
67
- _getGoodAdds: ɵ0,
68
- _beforeChange: ɵ1,
69
- _processAdds: ɵ2,
70
- _processRemoves: ɵ3,
71
- _rejectChanges: ɵ4,
72
- _acceptChanges: ɵ5
73
- };
74
- // local functions
75
- /** For use by breeze plugin authors only. The class is for use in building a [[IModelLibraryAdapter]] implementation.
76
- @adapter (see [[IModelLibraryAdapter]])
77
- @hidden
78
- */
79
- export function makePrimitiveArray(arr, parent, parentProperty) {
80
- let arrX = arr;
81
- observableArray.initializeParent(arrX, parent, parentProperty);
82
- arrX.arrayChanged = new BreezeEvent("arrayChanged", arrX);
83
- core.extend(arrX, observableArray.mixin);
84
- return core.extend(arrX, primitiveArrayMixin);
85
- }
86
- export { ɵ0, ɵ1, ɵ2, ɵ3, ɵ4, ɵ5 };
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLWFycmF5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYnJlZXplLWNsaWVudC8iLCJzb3VyY2VzIjpbInNyYy9wcmltaXRpdmUtYXJyYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRyxNQUFNLFFBQVEsQ0FBQztBQUMvQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQztXQW1EckIsVUFBUyxJQUFXO0lBQ2pDLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxPQUVjO0lBQ2IsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzFDLElBQUksWUFBWSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsRUFBRTtRQUMxQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7S0FDNUI7SUFDRCxJQUFJLFlBQVksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1FBQzlELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNsQztBQUNILENBQUMsT0FFYSxVQUFTLElBQVc7SUFDaEMsaUJBQWlCO0FBQ25CLENBQUMsT0FFZ0IsVUFBUyxPQUFjO0lBQ3RDLGtCQUFrQjtBQUNwQixDQUFDLE9BR2U7SUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVc7UUFBRSxPQUFPO0lBQzlCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2hCLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ3JELENBQUMsT0FFZTtJQUNkLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0FBQzFCLENBQUM7QUE5RUgsd0NBQXdDO0FBRXhDLGFBQWE7QUFDYix1REFBdUQ7QUFDdkQsMEJBQTBCO0FBQzFCLGdDQUFnQztBQUNoQyxtQ0FBbUM7QUFDbkMsSUFBSTtBQUVKLElBQUksbUJBQW1CLEdBQUc7SUFFeEIsNkNBQTZDO0lBQzdDLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLG9DQUFvQztJQUNwQyxzQ0FBc0M7SUFDdEMsMERBQTBEO0lBQzFELDRDQUE0QztJQUU1Qzs7Ozs7O09BTUc7SUFFSDs7Ozs7Ozs7Ozs7Ozs7OztPQWdCRztJQUVELGdCQUFnQjtJQUNsQixZQUFZLElBRVg7SUFFRCxhQUFhLElBUVo7SUFFRCxZQUFZLElBRVg7SUFFRCxlQUFlLElBRWQ7SUFHRCxjQUFjLElBSWI7SUFFRCxjQUFjLElBRWI7Q0FDRixDQUFDO0FBQ0Esa0JBQWtCO0FBRXBCOzs7RUFHRTtBQUNGLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxHQUFVLEVBQUUsTUFBd0IsRUFBRSxjQUE0QjtJQUNuRyxJQUFJLElBQUksR0FBRyxHQUFVLENBQUM7SUFDdEIsZUFBZSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDL0QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFdBQVcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQUNoRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29yZSAgfSBmcm9tICcuL2NvcmUnO1xyXG5pbXBvcnQgeyBvYnNlcnZhYmxlQXJyYXkgfSBmcm9tICcuL29ic2VydmFibGUtYXJyYXknO1xyXG5pbXBvcnQgeyBCcmVlemVFdmVudCB9IGZyb20gJy4vZXZlbnQnO1xyXG5pbXBvcnQgeyBTdHJ1Y3R1cmFsT2JqZWN0IH0gZnJvbSAnLi9lbnRpdHktYXNwZWN0JztcclxuaW1wb3J0IHsgRGF0YVByb3BlcnR5IH0gZnJvbSAnLi9lbnRpdHktbWV0YWRhdGEnO1xyXG5cclxuLy8gVE9ETzogbWl4aW4gaW1wbCBpcyBub3QgdmVyeSB0eXBlc2FmZVxyXG5cclxuLy8gTm90IG5lZWRlZFxyXG4vLyBpbnRlcmZhY2UgSVByaW1pdGl2ZUFycmF5IGV4dGVuZHMgSU9ic2VydmFibGVBcnJheSB7XHJcbi8vICAgW2luZGV4OiBudW1iZXJdOiBhbnk7XHJcbi8vICAgcGFyZW50PzogSVN0cnVjdHVyYWxPYmplY3Q7XHJcbi8vICAgcGFyZW50UHJvcGVydHk/OiBEYXRhUHJvcGVydHk7XHJcbi8vIH1cclxuXHJcbmxldCBwcmltaXRpdmVBcnJheU1peGluID0ge1xyXG5cclxuICAvLyBjb21wbGV4QXJyYXkgd2lsbCBoYXZlIHRoZSBmb2xsb3dpbmcgcHJvcHNcclxuICAvLyAgICBwYXJlbnRcclxuICAvLyAgICBwcm9wZXJ0eVBhdGhcclxuICAvLyAgICBwYXJlbnRQcm9wZXJ0eVxyXG4gIC8vICAgIGFkZGVkSXRlbXMgIC0gb25seSBpZiBtb2RpZmllZFxyXG4gIC8vICAgIHJlbW92ZWRJdGVtcyAgLSBvbmx5IGlmIG1vZGlmaWVkXHJcbiAgLy8gIGVhY2ggY29tcGxleEFzcGVjdCBvZiBhbnkgZW50aXR5IHdpdGhpbiBhIGNvbXBsZXhBcnJheVxyXG4gIC8vICB3aWxsIGhhdmUgaXRzIG93biBfY29tcGxleFN0YXRlID0gXCJBL01cIjtcclxuXHJcbiAgLyoqXHJcbiAgUHJpbWl0aXZlIGFycmF5cyBhcmUgbm90IGFjdHVhbGx5IGNsYXNzZXMsIHRoZXkgYXJlIG9iamVjdHMgdGhhdCBtaW1pYyBhcnJheXMuIEEgcHJpbWl0aXZlIGFycmF5IGlzIGNvbGxlY3Rpb24gb2ZcclxuICBwcmltaXRpdmUgdHlwZXMgYXNzb2NpYXRlZCB3aXRoIGEgZGF0YSBwcm9wZXJ0eSBvbiBhIHNpbmdsZSBlbnRpdHkgb3IgY29tcGxleCBvYmplY3QuIGkuZS4gY3VzdG9tZXIuaW52b2ljZU51bWJlcnMuXHJcbiAgVGhpcyBjb2xsZWN0aW9uIGxvb2tzIGxpa2UgYW4gYXJyYXkgaW4gdGhhdCB0aGUgYmFzaWMgbWV0aG9kcyBvbiBhcnJheXMgc3VjaCBhcyAncHVzaCcsICdwb3AnLCAnc2hpZnQnLCAndW5zaGlmdCcsICdzcGxpY2UnXHJcbiAgYXJlIGFsbCBwcm92aWRlZCBhcyB3ZWxsIGFzIHNldmVyYWwgc3BlY2lhbCBwdXJwb3NlIG1ldGhvZHMuXHJcbiAgQGNsYXNzIHtwcmltaXRpdmVBcnJheX1cclxuICAqKi9cclxuXHJcbiAgLyoqXHJcbiAgQW4gW1tFdmVudF1dIHRoYXQgZmlyZXMgd2hlbmV2ZXIgdGhlIGNvbnRlbnRzIG9mIHRoaXMgYXJyYXkgY2hhbmdlZC4gIFRoaXMgZXZlbnRcclxuICBpcyBmaXJlZCBhbnkgdGltZSBhIG5ldyBlbnRpdHkgaXMgYXR0YWNoZWQgb3IgYWRkZWQgdG8gdGhlIEVudGl0eU1hbmFnZXIgYW5kIGhhcHBlbnMgdG8gYmVsb25nIHRvIHRoaXMgY29sbGVjdGlvbi5cclxuICBBZGRzIHRoYXQgb2NjdXIgYXMgYSByZXN1bHQgb2YgcXVlcnkgb3IgaW1wb3J0IG9wZXJhdGlvbnMgYXJlIGJhdGNoZWQgc28gdGhhdCBhbGwgb2YgdGhlIGFkZHMgb3IgcmVtb3ZlcyB0byBhbnkgaW5kaXZpZHVhbFxyXG4gIGNvbGxlY3Rpb25zIGFyZSBjb2xsZWN0ZWQgaW50byBhIHNpbmdsZSBub3RpZmljYXRpb24gZXZlbnQgZm9yIGVhY2ggcmVsYXRpb24gYXJyYXkuXHJcbiAgQGV4YW1wbGVcclxuICAgICAgLy8gYXNzdW1lIG9yZGVyIGlzIGFuIG9yZGVyIGVudGl0eSBhdHRhY2hlZCB0byBhbiBFbnRpdHlNYW5hZ2VyLlxyXG4gICAgICBvcmRlcnMuYXJyYXlDaGFuZ2VkLnN1YnNjcmliZShcclxuICAgICAgZnVuY3Rpb24gKGFycmF5Q2hhbmdlZEFyZ3MpIHtcclxuICAgICAgICAgIGxldCBhZGRlZEVudGl0aWVzID0gYXJyYXlDaGFuZ2VkQXJncy5hZGRlZDtcclxuICAgICAgICAgIGxldCByZW1vdmVkRW50aXRpZXMgPSBhcnJheUNoYW5nZWQucmVtb3ZlZDtcclxuICAgICAgfSk7XHJcbiAgQGV2ZW50IGFycmF5Q2hhbmdlZFxyXG4gIEBwYXJhbSBhZGRlZCB7QXJyYXkgb2YgUHJpbWl0aXZlc30gQW4gYXJyYXkgb2YgYWxsIG9mIHRoZSBpdGVtcyBhZGRlZCB0byB0aGlzIGNvbGxlY3Rpb24uXHJcbiAgQHBhcmFtIHJlbW92ZWQge0FycmF5IG9mIFByaW1pdGl2ZXN9IEFuIGFycmF5IG9mIGFsbCBvZiB0aGUgaXRlbXMgcmVtb3ZlZCBmcm9tIHRoaXMgY29sbGVjdGlvbi5cclxuICBAcmVhZE9ubHlcclxuICAqKi9cclxuXHJcbiAgICAvLyB2aXJ0dWFsIGltcGxzXHJcbiAgX2dldEdvb2RBZGRzOiAgZnVuY3Rpb24oYWRkczogYW55W10pIHtcclxuICAgIHJldHVybiBhZGRzO1xyXG4gIH0sXHJcblxyXG4gIF9iZWZvcmVDaGFuZ2U6IGZ1bmN0aW9uKCkge1xyXG4gICAgbGV0IGVudGl0eUFzcGVjdCA9IHRoaXMuZ2V0RW50aXR5QXNwZWN0KCk7XHJcbiAgICBpZiAoZW50aXR5QXNwZWN0LmVudGl0eVN0YXRlLmlzVW5jaGFuZ2VkKCkpIHtcclxuICAgICAgZW50aXR5QXNwZWN0LnNldE1vZGlmaWVkKCk7XHJcbiAgICB9XHJcbiAgICBpZiAoZW50aXR5QXNwZWN0LmVudGl0eVN0YXRlLmlzTW9kaWZpZWQoKSAmJiAhdGhpcy5fb3JpZ1ZhbHVlcykge1xyXG4gICAgICB0aGlzLl9vcmlnVmFsdWVzID0gdGhpcy5zbGljZSgwKTtcclxuICAgIH1cclxuICB9LFxyXG5cclxuICBfcHJvY2Vzc0FkZHM6IGZ1bmN0aW9uKGFkZHM6IGFueVtdKSB7XHJcbiAgICAvLyBub3RoaW5nIG5lZWRlZFxyXG4gIH0sXHJcblxyXG4gIF9wcm9jZXNzUmVtb3ZlczogZnVuY3Rpb24ocmVtb3ZlczogYW55W10pIHtcclxuICAgIC8vIG5vdGhpbmcgbmVlZGVkO1xyXG4gIH0sXHJcblxyXG5cclxuICBfcmVqZWN0Q2hhbmdlczogZnVuY3Rpb24oKSB7XHJcbiAgICBpZiAoIXRoaXMuX29yaWdWYWx1ZXMpIHJldHVybjtcclxuICAgIHRoaXMubGVuZ3RoID0gMDtcclxuICAgIEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KHRoaXMsIHRoaXMuX29yaWdWYWx1ZXMpO1xyXG4gIH0sXHJcblxyXG4gIF9hY2NlcHRDaGFuZ2VzOiBmdW5jdGlvbigpIHtcclxuICAgIHRoaXMuX29yaWdWYWx1ZXMgPSBudWxsO1xyXG4gIH1cclxufTtcclxuICAvLyBsb2NhbCBmdW5jdGlvbnNcclxuXHJcbi8qKiBGb3IgdXNlIGJ5IGJyZWV6ZSBwbHVnaW4gYXV0aG9ycyBvbmx5LiBUaGUgY2xhc3MgaXMgZm9yIHVzZSBpbiBidWlsZGluZyBhIFtbSU1vZGVsTGlicmFyeUFkYXB0ZXJdXSBpbXBsZW1lbnRhdGlvbi4gXHJcbkBhZGFwdGVyIChzZWUgW1tJTW9kZWxMaWJyYXJ5QWRhcHRlcl1dKSAgICBcclxuQGhpZGRlbiBcclxuKi9cclxuZXhwb3J0IGZ1bmN0aW9uIG1ha2VQcmltaXRpdmVBcnJheShhcnI6IGFueVtdLCBwYXJlbnQ6IFN0cnVjdHVyYWxPYmplY3QsIHBhcmVudFByb3BlcnR5OiBEYXRhUHJvcGVydHkpIHtcclxuICBsZXQgYXJyWCA9IGFyciBhcyBhbnk7XHJcbiAgb2JzZXJ2YWJsZUFycmF5LmluaXRpYWxpemVQYXJlbnQoYXJyWCwgcGFyZW50LCBwYXJlbnRQcm9wZXJ0eSk7XHJcbiAgYXJyWC5hcnJheUNoYW5nZWQgPSBuZXcgQnJlZXplRXZlbnQoXCJhcnJheUNoYW5nZWRcIiwgYXJyWCk7XHJcbiAgY29yZS5leHRlbmQoYXJyWCwgb2JzZXJ2YWJsZUFycmF5Lm1peGluKTtcclxuICByZXR1cm4gY29yZS5leHRlbmQoYXJyWCwgcHJpbWl0aXZlQXJyYXlNaXhpbik7XHJcbn1cclxuXHJcblxyXG4iXX0=
@@ -1,152 +0,0 @@
1
- import { core } from './core';
2
- import { BreezeEnum } from './enum';
3
- import { assertConfig } from './assert-param';
4
- /**
5
- MergeStrategy is an 'Enum' that determines how entities are merged into an EntityManager.
6
-
7
- @class MergeStrategy
8
- @static
9
- **/
10
- export class MergeStrategy extends BreezeEnum {
11
- }
12
- /**
13
- MergeStrategy.PreserveChanges updates the cached entity with the incoming values unless the cached entity is in a changed
14
- state (added, modified, deleted) in which case the incoming values are ignored. The updated cached entity’s EntityState will
15
- remain [[EntityState.Unchanged]] unless you’re importing entities in which case the new EntityState will
16
- be that of the imported entities.
17
- **/
18
- MergeStrategy.PreserveChanges = new MergeStrategy();
19
- /**
20
- MergeStrategy.OverwriteChanges always updates the cached entity with incoming values even if the entity is in
21
- a changed state (added, modified, deleted). After the merge, the pending changes are lost.
22
- The new EntityState will be [[EntityState/Unchanged]] unless you’re importing entities
23
- in which case the new EntityState will be that of the imported entities.
24
- **/
25
- MergeStrategy.OverwriteChanges = new MergeStrategy();
26
- /**
27
- SkipMerge is used to ignore incoming values. Adds the incoming entity to the cache only if there is no cached entity with the same key.
28
- This is the fastest merge strategy but your existing cached data will remain “stale”.
29
- **/
30
- MergeStrategy.SkipMerge = new MergeStrategy();
31
- /**
32
- Disallowed is used to throw an exception if there is an incoming entity with the same key as an entity already in the cache.
33
- Use this strategy when you want to be sure that the incoming entity is not already in cache.
34
- This is the default strategy for EntityManager.attachEntity.
35
- **/
36
- MergeStrategy.Disallowed = new MergeStrategy();
37
- MergeStrategy.prototype._$typeName = "MergeStrategy";
38
- Error['x'] = MergeStrategy.resolveSymbols();
39
- /**
40
- FetchStrategy is an 'Enum' that determines how and where entities are retrieved from as a result of a query.
41
- **/
42
- export class FetchStrategy extends BreezeEnum {
43
- }
44
- /**
45
- FromServer is used to tell the query to execute the query against a remote data source on the server.
46
- **/
47
- FetchStrategy.FromServer = new FetchStrategy();
48
- /**
49
- FromLocalCache is used to tell the query to execute the query against a local EntityManager instead of going to a remote server.
50
- **/
51
- FetchStrategy.FromLocalCache = new FetchStrategy();
52
- FetchStrategy.prototype._$typeName = "FetchStrategy";
53
- Error['x'] = FetchStrategy.resolveSymbols();
54
- /**
55
- A QueryOptions instance is used to specify the 'options' under which a query will occur.
56
- **/
57
- export class QueryOptions {
58
- /**
59
- QueryOptions constructor
60
- > var newQo = new QueryOptions( { mergeStrategy: MergeStrategy.OverwriteChanges });
61
- > // assume em1 is a preexisting EntityManager
62
- > em1.setProperties( { queryOptions: newQo });
63
- Any QueryOptions property that is not defined will be defaulted from any QueryOptions defined at a higher level in the breeze hierarchy, i.e.
64
- - from query.queryOptions
65
- - to entityManager.queryOptions
66
- - to QueryOptions.defaultInstance;
67
-
68
- @param config - A configuration object.
69
- **/
70
- constructor(config) {
71
- QueryOptions._updateWithConfig(this, config);
72
- }
73
- static resolve(queryOptionsArray) {
74
- return new QueryOptions(core.resolveProperties(queryOptionsArray, ["fetchStrategy", "mergeStrategy", "includeDeleted"]));
75
- }
76
- /**
77
- Returns a copy of this QueryOptions with the specified [[MergeStrategy]],
78
- [[FetchStrategy]], or 'includeDeleted' option applied.
79
- > // Given an EntityManager instance, em
80
- > var queryOptions = em.queryOptions.using(MergeStrategy.PreserveChanges);
81
-
82
- or
83
- > var queryOptions = em.queryOptions.using(FetchStrategy.FromLocalCache);
84
-
85
- or
86
- > var queryOptions = em.queryOptions.using({ mergeStrategy: MergeStrategy.OverwriteChanges });
87
-
88
- or
89
- > var queryOptions = em.queryOptions.using({
90
- > includeDeleted: true,
91
- > fetchStrategy: FetchStrategy.FromLocalCache
92
- > });
93
- @param config - A configuration object or a standalone [[MergeStrategy]] or [[FetchStrategy]]
94
- @return A new QueryOptions instance.
95
- **/
96
- using(qoConfig) {
97
- if (!qoConfig)
98
- return this;
99
- let result = new QueryOptions(this);
100
- if (qoConfig instanceof MergeStrategy) {
101
- qoConfig = { mergeStrategy: qoConfig };
102
- }
103
- else if (qoConfig instanceof FetchStrategy) {
104
- qoConfig = { fetchStrategy: qoConfig };
105
- }
106
- return QueryOptions._updateWithConfig(result, qoConfig);
107
- }
108
- /**
109
- Sets the 'defaultInstance' by creating a copy of the current 'defaultInstance' and then applying all of the properties of the current instance.
110
- The current instance is returned unchanged.
111
- > var newQo = new QueryOptions( { mergeStrategy: MergeStrategy.OverwriteChanges });
112
- > newQo.setAsDefault();
113
- **/
114
- setAsDefault() {
115
- return core.setAsDefault(this, QueryOptions);
116
- }
117
- toJSON() {
118
- return core.toJson(this, {
119
- fetchStrategy: null,
120
- mergeStrategy: null,
121
- includeDeleted: false
122
- });
123
- }
124
- static fromJSON(json) {
125
- return new QueryOptions({
126
- fetchStrategy: FetchStrategy.fromName(json.fetchStrategy),
127
- mergeStrategy: MergeStrategy.fromName(json.mergeStrategy),
128
- includeDeleted: json.includeDeleted === true
129
- });
130
- }
131
- /** @hidden @internal */
132
- static _updateWithConfig(obj, config) {
133
- if (config) {
134
- assertConfig(config)
135
- .whereParam("fetchStrategy").isEnumOf(FetchStrategy).isOptional()
136
- .whereParam("mergeStrategy").isEnumOf(MergeStrategy).isOptional()
137
- .whereParam("includeDeleted").isBoolean().isOptional()
138
- .applyAll(obj);
139
- }
140
- return obj;
141
- }
142
- }
143
- /**
144
- The default instance for use whenever QueryOptions are not specified.
145
- **/
146
- QueryOptions.defaultInstance = new QueryOptions({
147
- fetchStrategy: FetchStrategy.FromServer,
148
- mergeStrategy: MergeStrategy.PreserveChanges,
149
- includeDeleted: false
150
- });
151
- QueryOptions.prototype._$typeName = "QueryOptions";
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2JyZWV6ZS1jbGllbnQvIiwic291cmNlcyI6WyJzcmMvcXVlcnktb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlDOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLGFBQWMsU0FBUSxVQUFVOztBQUUzQzs7Ozs7R0FLRztBQUNJLDZCQUFlLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztBQUM3Qzs7Ozs7R0FLRztBQUNJLDhCQUFnQixHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7QUFFOUM7OztHQUdHO0FBQ0ksdUJBQVMsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO0FBRXZDOzs7O0dBSUc7QUFDSSx3QkFBVSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7QUFJMUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsZUFBZSxDQUFDO0FBQ3JELEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxhQUFhLENBQUMsY0FBYyxFQUFFLENBQUM7QUFFNUM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sYUFBYyxTQUFRLFVBQVU7O0FBRTNDOztHQUVHO0FBQ0ksd0JBQVUsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO0FBQ3hDOztHQUVHO0FBQ0ksNEJBQWMsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO0FBRzlDLGFBQWEsQ0FBQyxTQUFTLENBQUMsVUFBVSxHQUFHLGVBQWUsQ0FBQztBQUNyRCxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLGNBQWMsRUFBRSxDQUFDO0FBWTVDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUFtQnZCOzs7Ozs7Ozs7OztPQVdHO0lBQ0gsWUFBWSxNQUEyQjtRQUNyQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLGlCQUF3QjtRQUNyQyxPQUFPLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0gsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BbUJHO0lBQ0gsS0FBSyxDQUFDLFFBQTREO1FBQ2hFLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDM0IsSUFBSSxNQUFNLEdBQUcsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsSUFBSyxRQUFRLFlBQVksYUFBYSxFQUFFO1lBQ3RDLFFBQVEsR0FBRyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsQ0FBQztTQUN4QzthQUFNLElBQUssUUFBUSxZQUFZLGFBQWEsRUFBRTtZQUM3QyxRQUFRLEdBQUcsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLENBQUM7U0FDeEM7UUFDRCxPQUFPLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ3ZCLGFBQWEsRUFBRSxJQUFJO1lBQ25CLGFBQWEsRUFBRSxJQUFJO1lBQ25CLGNBQWMsRUFBRSxLQUFLO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQVM7UUFDdkIsT0FBTyxJQUFJLFlBQVksQ0FBQztZQUN0QixhQUFhLEVBQUUsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ3pELGFBQWEsRUFBRSxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDekQsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjLEtBQUssSUFBSTtTQUM3QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsd0JBQXdCO0lBQ2hCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFpQixFQUFFLE1BQTJCO1FBQzdFLElBQUksTUFBTSxFQUFFO1lBQ1YsWUFBWSxDQUFDLE1BQU0sQ0FBQztpQkFDakIsVUFBVSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxVQUFVLEVBQUU7aUJBQ2hFLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsVUFBVSxFQUFFO2lCQUNoRSxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxVQUFVLEVBQUU7aUJBQ3JELFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNsQjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQzs7QUFoR0Q7O0dBRUc7QUFDSSw0QkFBZSxHQUFHLElBQUksWUFBWSxDQUFDO0lBQ3hDLGFBQWEsRUFBRSxhQUFhLENBQUMsVUFBVTtJQUN2QyxhQUFhLEVBQUUsYUFBYSxDQUFDLGVBQWU7SUFDNUMsY0FBYyxFQUFFLEtBQUs7Q0FDdEIsQ0FBQyxDQUFDO0FBNEZMLFlBQVksQ0FBQyxTQUFTLENBQUMsVUFBVSxHQUFHLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvcmUgfSBmcm9tICcuL2NvcmUnO1xyXG5pbXBvcnQgeyBCcmVlemVFbnVtIH0gZnJvbSAnLi9lbnVtJztcclxuaW1wb3J0IHsgYXNzZXJ0Q29uZmlnIH0gZnJvbSAnLi9hc3NlcnQtcGFyYW0nO1xyXG5cclxuLyoqXHJcbk1lcmdlU3RyYXRlZ3kgaXMgYW4gJ0VudW0nIHRoYXQgZGV0ZXJtaW5lcyBob3cgZW50aXRpZXMgYXJlIG1lcmdlZCBpbnRvIGFuIEVudGl0eU1hbmFnZXIuXHJcblxyXG5AY2xhc3MgTWVyZ2VTdHJhdGVneVxyXG5Ac3RhdGljXHJcbioqL1xyXG5leHBvcnQgY2xhc3MgTWVyZ2VTdHJhdGVneSBleHRlbmRzIEJyZWV6ZUVudW0ge1xyXG5cclxuICAvKipcclxuICBNZXJnZVN0cmF0ZWd5LlByZXNlcnZlQ2hhbmdlcyB1cGRhdGVzIHRoZSBjYWNoZWQgZW50aXR5IHdpdGggdGhlIGluY29taW5nIHZhbHVlcyB1bmxlc3MgdGhlIGNhY2hlZCBlbnRpdHkgaXMgaW4gYSBjaGFuZ2VkXHJcbiAgc3RhdGUgKGFkZGVkLCBtb2RpZmllZCwgZGVsZXRlZCkgaW4gd2hpY2ggY2FzZSB0aGUgaW5jb21pbmcgdmFsdWVzIGFyZSBpZ25vcmVkLiBUaGUgdXBkYXRlZCBjYWNoZWQgZW50aXR54oCZcyBFbnRpdHlTdGF0ZSB3aWxsXHJcbiAgcmVtYWluIFtbRW50aXR5U3RhdGUuVW5jaGFuZ2VkXV0gdW5sZXNzIHlvdeKAmXJlIGltcG9ydGluZyBlbnRpdGllcyBpbiB3aGljaCBjYXNlIHRoZSBuZXcgRW50aXR5U3RhdGUgd2lsbFxyXG4gIGJlIHRoYXQgb2YgdGhlIGltcG9ydGVkIGVudGl0aWVzLlxyXG4gICoqL1xyXG4gIHN0YXRpYyBQcmVzZXJ2ZUNoYW5nZXMgPSBuZXcgTWVyZ2VTdHJhdGVneSgpO1xyXG4gIC8qKlxyXG4gIE1lcmdlU3RyYXRlZ3kuT3ZlcndyaXRlQ2hhbmdlcyBhbHdheXMgdXBkYXRlcyB0aGUgY2FjaGVkIGVudGl0eSB3aXRoIGluY29taW5nIHZhbHVlcyBldmVuIGlmIHRoZSBlbnRpdHkgaXMgaW5cclxuICBhIGNoYW5nZWQgc3RhdGUgKGFkZGVkLCBtb2RpZmllZCwgZGVsZXRlZCkuIEFmdGVyIHRoZSBtZXJnZSwgdGhlIHBlbmRpbmcgY2hhbmdlcyBhcmUgbG9zdC5cclxuICBUaGUgbmV3IEVudGl0eVN0YXRlIHdpbGwgYmUgIFtbRW50aXR5U3RhdGUvVW5jaGFuZ2VkXV0gdW5sZXNzIHlvdeKAmXJlIGltcG9ydGluZyBlbnRpdGllc1xyXG4gIGluIHdoaWNoIGNhc2UgdGhlIG5ldyBFbnRpdHlTdGF0ZSB3aWxsIGJlIHRoYXQgb2YgdGhlIGltcG9ydGVkIGVudGl0aWVzLlxyXG4gICoqL1xyXG4gIHN0YXRpYyBPdmVyd3JpdGVDaGFuZ2VzID0gbmV3IE1lcmdlU3RyYXRlZ3koKTtcclxuXHJcbiAgLyoqXHJcbiAgU2tpcE1lcmdlIGlzIHVzZWQgdG8gaWdub3JlIGluY29taW5nIHZhbHVlcy4gQWRkcyB0aGUgaW5jb21pbmcgZW50aXR5IHRvIHRoZSBjYWNoZSBvbmx5IGlmIHRoZXJlIGlzIG5vIGNhY2hlZCBlbnRpdHkgd2l0aCB0aGUgc2FtZSBrZXkuXHJcbiAgVGhpcyBpcyB0aGUgZmFzdGVzdCBtZXJnZSBzdHJhdGVneSBidXQgeW91ciBleGlzdGluZyBjYWNoZWQgZGF0YSB3aWxsIHJlbWFpbiDigJxzdGFsZeKAnS5cclxuICAqKi9cclxuICBzdGF0aWMgU2tpcE1lcmdlID0gbmV3IE1lcmdlU3RyYXRlZ3koKTtcclxuXHJcbiAgLyoqXHJcbiAgRGlzYWxsb3dlZCBpcyB1c2VkIHRvIHRocm93IGFuIGV4Y2VwdGlvbiBpZiB0aGVyZSBpcyBhbiBpbmNvbWluZyBlbnRpdHkgd2l0aCB0aGUgc2FtZSBrZXkgYXMgYW4gZW50aXR5IGFscmVhZHkgaW4gdGhlIGNhY2hlLlxyXG4gIFVzZSB0aGlzIHN0cmF0ZWd5IHdoZW4geW91IHdhbnQgdG8gYmUgc3VyZSB0aGF0IHRoZSBpbmNvbWluZyBlbnRpdHkgaXMgbm90IGFscmVhZHkgaW4gY2FjaGUuXHJcbiAgVGhpcyBpcyB0aGUgZGVmYXVsdCBzdHJhdGVneSBmb3IgRW50aXR5TWFuYWdlci5hdHRhY2hFbnRpdHkuXHJcbiAgKiovXHJcbiAgc3RhdGljIERpc2FsbG93ZWQgPSBuZXcgTWVyZ2VTdHJhdGVneSgpO1xyXG5cclxuXHJcbn1cclxuTWVyZ2VTdHJhdGVneS5wcm90b3R5cGUuXyR0eXBlTmFtZSA9IFwiTWVyZ2VTdHJhdGVneVwiO1xyXG5FcnJvclsneCddID0gTWVyZ2VTdHJhdGVneS5yZXNvbHZlU3ltYm9scygpO1xyXG5cclxuLyoqXHJcbkZldGNoU3RyYXRlZ3kgaXMgYW4gJ0VudW0nIHRoYXQgZGV0ZXJtaW5lcyBob3cgYW5kIHdoZXJlIGVudGl0aWVzIGFyZSByZXRyaWV2ZWQgZnJvbSBhcyBhIHJlc3VsdCBvZiBhIHF1ZXJ5LlxyXG4qKi9cclxuZXhwb3J0IGNsYXNzIEZldGNoU3RyYXRlZ3kgZXh0ZW5kcyBCcmVlemVFbnVtIHtcclxuXHJcbiAgLyoqXHJcbiAgRnJvbVNlcnZlciBpcyB1c2VkIHRvIHRlbGwgdGhlIHF1ZXJ5IHRvIGV4ZWN1dGUgdGhlIHF1ZXJ5IGFnYWluc3QgYSByZW1vdGUgZGF0YSBzb3VyY2Ugb24gdGhlIHNlcnZlci5cclxuICAqKi9cclxuICBzdGF0aWMgRnJvbVNlcnZlciA9IG5ldyBGZXRjaFN0cmF0ZWd5KCk7XHJcbiAgLyoqXHJcbiAgRnJvbUxvY2FsQ2FjaGUgaXMgdXNlZCB0byB0ZWxsIHRoZSBxdWVyeSB0byBleGVjdXRlIHRoZSBxdWVyeSBhZ2FpbnN0IGEgbG9jYWwgRW50aXR5TWFuYWdlciBpbnN0ZWFkIG9mIGdvaW5nIHRvIGEgcmVtb3RlIHNlcnZlci5cclxuICAqKi9cclxuICBzdGF0aWMgRnJvbUxvY2FsQ2FjaGUgPSBuZXcgRmV0Y2hTdHJhdGVneSgpO1xyXG5cclxufVxyXG5GZXRjaFN0cmF0ZWd5LnByb3RvdHlwZS5fJHR5cGVOYW1lID0gXCJGZXRjaFN0cmF0ZWd5XCI7XHJcbkVycm9yWyd4J10gPSBGZXRjaFN0cmF0ZWd5LnJlc29sdmVTeW1ib2xzKCk7XHJcblxyXG4vKiogQ29uZmlndXJhdGlvbiBpbmZvIHRvIGJlIHBhc3NlZCB0byB0aGUgW1tRdWVyeU9wdGlvbnNdXSBjb25zdHJ1Y3Rvci4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBRdWVyeU9wdGlvbnNDb25maWcge1xyXG4gIC8qKiBUaGUgW1tGZXRjaFN0cmF0ZWd5XV0gdG8gdXNlIHdpdGggYW55IHF1ZXJpZXMuKi9cclxuICBmZXRjaFN0cmF0ZWd5PzogRmV0Y2hTdHJhdGVneTtcclxuICAvKiogVGhlIFtbTWVyZ2VTdHJhdGVneV1dIHRvIHVzZSB3aXRoIGFueSBxdWVyaWVzLiovXHJcbiAgbWVyZ2VTdHJhdGVneT86IE1lcmdlU3RyYXRlZ3k7XHJcbiAgLyoqIFdoZXRoZXIgdG8gaW5jbHVkZSBjYWNoZWQgZGVsZXRlZCBlbnRpdGllcyBpbiBhIHF1ZXJ5IHJlc3VsdCAoZmFsc2UgYnkgZGVmYXVsdCkuIF9fUmVhZCBPbmx5X18gKi9cclxuICBpbmNsdWRlRGVsZXRlZD86IGJvb2xlYW47XHJcbn1cclxuXHJcbi8qKlxyXG5BIFF1ZXJ5T3B0aW9ucyBpbnN0YW5jZSBpcyB1c2VkIHRvIHNwZWNpZnkgdGhlICdvcHRpb25zJyB1bmRlciB3aGljaCBhIHF1ZXJ5IHdpbGwgb2NjdXIuXHJcbioqL1xyXG5leHBvcnQgY2xhc3MgUXVlcnlPcHRpb25zIHtcclxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cclxuICBfJHR5cGVOYW1lOiBzdHJpbmc7XHJcbiAgLyoqIFRoZSBbW0ZldGNoU3RyYXRlZ3ldXSB0byB1c2Ugd2l0aCBhbnkgcXVlcmllcy4gX19SZWFkIE9ubHlfXyAqL1xyXG4gIGZldGNoU3RyYXRlZ3k6IEZldGNoU3RyYXRlZ3k7XHJcbiAgLyoqIFRoZSBbW01lcmdlU3RyYXRlZ3ldXSB0byB1c2Ugd2l0aCBhbnkgcXVlcmllcy4gX19SZWFkIE9ubHlfXyAqL1xyXG4gIG1lcmdlU3RyYXRlZ3k6IE1lcmdlU3RyYXRlZ3k7XHJcbiAgLyoqIFdoZXRoZXIgdG8gaW5jbHVkZSBjYWNoZWQgZGVsZXRlZCBlbnRpdGllcyBpbiBhIHF1ZXJ5IHJlc3VsdCAoZmFsc2UgYnkgZGVmYXVsdCkuIF9fUmVhZCBPbmx5X18gKi9cclxuICBpbmNsdWRlRGVsZXRlZDogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgVGhlIGRlZmF1bHQgaW5zdGFuY2UgZm9yIHVzZSB3aGVuZXZlciBRdWVyeU9wdGlvbnMgYXJlIG5vdCBzcGVjaWZpZWQuXHJcbiAgKiovXHJcbiAgc3RhdGljIGRlZmF1bHRJbnN0YW5jZSA9IG5ldyBRdWVyeU9wdGlvbnMoe1xyXG4gICAgZmV0Y2hTdHJhdGVneTogRmV0Y2hTdHJhdGVneS5Gcm9tU2VydmVyLFxyXG4gICAgbWVyZ2VTdHJhdGVneTogTWVyZ2VTdHJhdGVneS5QcmVzZXJ2ZUNoYW5nZXMsXHJcbiAgICBpbmNsdWRlRGVsZXRlZDogZmFsc2VcclxuICB9KTtcclxuXHJcbiAgLyoqXHJcbiAgUXVlcnlPcHRpb25zIGNvbnN0cnVjdG9yXHJcbiAgPiAgICAgdmFyIG5ld1FvID0gbmV3IFF1ZXJ5T3B0aW9ucyggeyBtZXJnZVN0cmF0ZWd5OiBNZXJnZVN0cmF0ZWd5Lk92ZXJ3cml0ZUNoYW5nZXMgfSk7XHJcbiAgPiAgICAgLy8gYXNzdW1lIGVtMSBpcyBhIHByZWV4aXN0aW5nIEVudGl0eU1hbmFnZXJcclxuICA+ICAgICBlbTEuc2V0UHJvcGVydGllcyggeyBxdWVyeU9wdGlvbnM6IG5ld1FvIH0pO1xyXG4gIEFueSBRdWVyeU9wdGlvbnMgcHJvcGVydHkgdGhhdCBpcyBub3QgZGVmaW5lZCB3aWxsIGJlIGRlZmF1bHRlZCBmcm9tIGFueSBRdWVyeU9wdGlvbnMgZGVmaW5lZCBhdCBhIGhpZ2hlciBsZXZlbCBpbiB0aGUgYnJlZXplIGhpZXJhcmNoeSwgaS5lLlxyXG4gIC0gIGZyb20gcXVlcnkucXVlcnlPcHRpb25zXHJcbiAgLSAgdG8gICBlbnRpdHlNYW5hZ2VyLnF1ZXJ5T3B0aW9uc1xyXG4gIC0gIHRvICAgUXVlcnlPcHRpb25zLmRlZmF1bHRJbnN0YW5jZTtcclxuXHJcbiAgQHBhcmFtIGNvbmZpZyAtIEEgY29uZmlndXJhdGlvbiBvYmplY3QuXHJcbiAgKiovXHJcbiAgY29uc3RydWN0b3IoY29uZmlnPzogUXVlcnlPcHRpb25zQ29uZmlnKSB7XHJcbiAgICBRdWVyeU9wdGlvbnMuX3VwZGF0ZVdpdGhDb25maWcodGhpcywgY29uZmlnKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyByZXNvbHZlKHF1ZXJ5T3B0aW9uc0FycmF5OiBhbnlbXSkge1xyXG4gICAgcmV0dXJuIG5ldyBRdWVyeU9wdGlvbnMoY29yZS5yZXNvbHZlUHJvcGVydGllcyhxdWVyeU9wdGlvbnNBcnJheSwgW1wiZmV0Y2hTdHJhdGVneVwiLCBcIm1lcmdlU3RyYXRlZ3lcIiwgXCJpbmNsdWRlRGVsZXRlZFwiXSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgUmV0dXJucyBhIGNvcHkgb2YgdGhpcyBRdWVyeU9wdGlvbnMgd2l0aCB0aGUgc3BlY2lmaWVkIFtbTWVyZ2VTdHJhdGVneV1dLFxyXG4gIFtbRmV0Y2hTdHJhdGVneV1dLCBvciAnaW5jbHVkZURlbGV0ZWQnIG9wdGlvbiBhcHBsaWVkLlxyXG4gID4gICAgIC8vIEdpdmVuIGFuIEVudGl0eU1hbmFnZXIgaW5zdGFuY2UsIGVtXHJcbiAgPiAgICAgdmFyIHF1ZXJ5T3B0aW9ucyA9IGVtLnF1ZXJ5T3B0aW9ucy51c2luZyhNZXJnZVN0cmF0ZWd5LlByZXNlcnZlQ2hhbmdlcyk7XHJcblxyXG4gIG9yXHJcbiAgPiAgICAgdmFyIHF1ZXJ5T3B0aW9ucyA9IGVtLnF1ZXJ5T3B0aW9ucy51c2luZyhGZXRjaFN0cmF0ZWd5LkZyb21Mb2NhbENhY2hlKTtcclxuXHJcbiAgb3JcclxuICA+ICAgICB2YXIgcXVlcnlPcHRpb25zID0gZW0ucXVlcnlPcHRpb25zLnVzaW5nKHsgbWVyZ2VTdHJhdGVneTogTWVyZ2VTdHJhdGVneS5PdmVyd3JpdGVDaGFuZ2VzIH0pO1xyXG5cclxuICBvclxyXG4gID4gICAgIHZhciBxdWVyeU9wdGlvbnMgPSBlbS5xdWVyeU9wdGlvbnMudXNpbmcoe1xyXG4gID4gICAgICAgIGluY2x1ZGVEZWxldGVkOiB0cnVlLFxyXG4gID4gICAgICAgIGZldGNoU3RyYXRlZ3k6ICBGZXRjaFN0cmF0ZWd5LkZyb21Mb2NhbENhY2hlIFxyXG4gID4gICAgIH0pO1xyXG4gIEBwYXJhbSBjb25maWcgLSBBIGNvbmZpZ3VyYXRpb24gb2JqZWN0IG9yIGEgc3RhbmRhbG9uZSBbW01lcmdlU3RyYXRlZ3ldXSBvciBbW0ZldGNoU3RyYXRlZ3ldXSBcclxuICBAcmV0dXJuIEEgbmV3IFF1ZXJ5T3B0aW9ucyBpbnN0YW5jZS5cclxuICAqKi9cclxuICB1c2luZyhxb0NvbmZpZzogUXVlcnlPcHRpb25zQ29uZmlnIHwgTWVyZ2VTdHJhdGVneSB8IEZldGNoU3RyYXRlZ3kpIHtcclxuICAgIGlmICghcW9Db25maWcpIHJldHVybiB0aGlzO1xyXG4gICAgbGV0IHJlc3VsdCA9IG5ldyBRdWVyeU9wdGlvbnModGhpcyk7XHJcbiAgICBpZiAoIHFvQ29uZmlnIGluc3RhbmNlb2YgTWVyZ2VTdHJhdGVneSkge1xyXG4gICAgICBxb0NvbmZpZyA9IHsgbWVyZ2VTdHJhdGVneTogcW9Db25maWcgfTtcclxuICAgIH0gZWxzZSBpZiAoIHFvQ29uZmlnIGluc3RhbmNlb2YgRmV0Y2hTdHJhdGVneSkge1xyXG4gICAgICBxb0NvbmZpZyA9IHsgZmV0Y2hTdHJhdGVneTogcW9Db25maWcgfTtcclxuICAgIH1cclxuICAgIHJldHVybiBRdWVyeU9wdGlvbnMuX3VwZGF0ZVdpdGhDb25maWcocmVzdWx0LCBxb0NvbmZpZyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICBTZXRzIHRoZSAnZGVmYXVsdEluc3RhbmNlJyBieSBjcmVhdGluZyBhIGNvcHkgb2YgdGhlIGN1cnJlbnQgJ2RlZmF1bHRJbnN0YW5jZScgYW5kIHRoZW4gYXBwbHlpbmcgYWxsIG9mIHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBjdXJyZW50IGluc3RhbmNlLlxyXG4gIFRoZSBjdXJyZW50IGluc3RhbmNlIGlzIHJldHVybmVkIHVuY2hhbmdlZC5cclxuICA+ICAgICB2YXIgbmV3UW8gPSBuZXcgUXVlcnlPcHRpb25zKCB7IG1lcmdlU3RyYXRlZ3k6IE1lcmdlU3RyYXRlZ3kuT3ZlcndyaXRlQ2hhbmdlcyB9KTtcclxuICA+ICAgICBuZXdRby5zZXRBc0RlZmF1bHQoKTtcclxuICAqKi9cclxuICBzZXRBc0RlZmF1bHQoKSB7XHJcbiAgICByZXR1cm4gY29yZS5zZXRBc0RlZmF1bHQodGhpcywgUXVlcnlPcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHRvSlNPTigpIHtcclxuICAgIHJldHVybiBjb3JlLnRvSnNvbih0aGlzLCB7XHJcbiAgICAgIGZldGNoU3RyYXRlZ3k6IG51bGwsXHJcbiAgICAgIG1lcmdlU3RyYXRlZ3k6IG51bGwsXHJcbiAgICAgIGluY2x1ZGVEZWxldGVkOiBmYWxzZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZnJvbUpTT04oanNvbjogYW55KSB7XHJcbiAgICByZXR1cm4gbmV3IFF1ZXJ5T3B0aW9ucyh7XHJcbiAgICAgIGZldGNoU3RyYXRlZ3k6IEZldGNoU3RyYXRlZ3kuZnJvbU5hbWUoanNvbi5mZXRjaFN0cmF0ZWd5KSxcclxuICAgICAgbWVyZ2VTdHJhdGVneTogTWVyZ2VTdHJhdGVneS5mcm9tTmFtZShqc29uLm1lcmdlU3RyYXRlZ3kpLFxyXG4gICAgICBpbmNsdWRlRGVsZXRlZDoganNvbi5pbmNsdWRlRGVsZXRlZCA9PT0gdHJ1ZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cclxuICBwcml2YXRlIHN0YXRpYyBfdXBkYXRlV2l0aENvbmZpZyhvYmo6IFF1ZXJ5T3B0aW9ucywgY29uZmlnPzogUXVlcnlPcHRpb25zQ29uZmlnKSB7XHJcbiAgICBpZiAoY29uZmlnKSB7XHJcbiAgICAgIGFzc2VydENvbmZpZyhjb25maWcpXHJcbiAgICAgICAgLndoZXJlUGFyYW0oXCJmZXRjaFN0cmF0ZWd5XCIpLmlzRW51bU9mKEZldGNoU3RyYXRlZ3kpLmlzT3B0aW9uYWwoKVxyXG4gICAgICAgIC53aGVyZVBhcmFtKFwibWVyZ2VTdHJhdGVneVwiKS5pc0VudW1PZihNZXJnZVN0cmF0ZWd5KS5pc09wdGlvbmFsKClcclxuICAgICAgICAud2hlcmVQYXJhbShcImluY2x1ZGVEZWxldGVkXCIpLmlzQm9vbGVhbigpLmlzT3B0aW9uYWwoKVxyXG4gICAgICAgIC5hcHBseUFsbChvYmopO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG9iajtcclxuICB9XHJcblxyXG59XHJcblF1ZXJ5T3B0aW9ucy5wcm90b3R5cGUuXyR0eXBlTmFtZSA9IFwiUXVlcnlPcHRpb25zXCI7XHJcbiJdfQ==
@@ -1,175 +0,0 @@
1
- import { core } from './core';
2
- import { EntityQuery } from './entity-query';
3
- import { EntityState } from './entity-state';
4
- import { BreezeEvent } from './event';
5
- import { observableArray } from './observable-array';
6
- const ɵ0 = function (callback, errorCallback) {
7
- let parent = this.parentEntity;
8
- let query = EntityQuery.fromEntityNavigation(this.parentEntity, this.navigationProperty);
9
- let em = parent.entityAspect.entityManager;
10
- return em.executeQuery(query, callback, errorCallback);
11
- }, ɵ1 = function () {
12
- return this.parentEntity.entityAspect;
13
- }, ɵ2 = function () {
14
- let em = this.parentEntity.entityAspect.entityManager;
15
- return em && em._pendingPubs;
16
- }, ɵ3 = function (adds) {
17
- return getGoodAdds(this, adds);
18
- }, ɵ4 = function (adds) {
19
- processAdds(this, adds);
20
- }, ɵ5 = function (removes) {
21
- processRemoves(this, removes);
22
- };
23
- let relationArrayMixin = {
24
- /**
25
- Relation arrays are not actually classes, they are objects that mimic arrays. A relation array is collection of
26
- entities associated with a navigation property on a single entity. i.e. customer.orders or order.orderDetails.
27
- This collection looks like an array in that the basic methods on arrays such as 'push', 'pop', 'shift', 'unshift', 'splice'
28
- are all provided as well as several special purpose methods.
29
- @class {relationArray}
30
- **/
31
- /**
32
- An [[Event]] that fires whenever the contents of this array changed. This event
33
- is fired any time a new entity is attached or added to the EntityManager and happens to belong to this collection.
34
- Adds that occur as a result of query or import operations are batched so that all of the adds or removes to any individual
35
- collections are collected into a single notification event for each relation array.
36
- @example
37
- // assume order is an order entity attached to an EntityManager.
38
- orders.arrayChanged.subscribe(
39
- function (arrayChangedArgs) {
40
- let addedEntities = arrayChangedArgs.added;
41
- let removedEntities = arrayChanged.removed;
42
- });
43
- @event arrayChanged
44
- @param added {Array of Entity} An array of all of the entities added to this collection.
45
- @param removed {Array of Entity} An array of all of the removed from this collection.
46
- @readOnly
47
- **/
48
- /**
49
- Performs an asynchronous load of all other the entities associated with this relationArray.
50
- @example
51
- // assume orders is an empty, as yet unpopulated, relation array of orders
52
- // associated with a specific customer.
53
- orders.load().then(...)
54
- @method load
55
- @param [callback] {Function}
56
- @param [errorCallback] {Function}
57
- @return {Promise}
58
- **/
59
- load: ɵ0,
60
- _getEventParent: ɵ1,
61
- _getPendingPubs: ɵ2,
62
- // virtual impls
63
- _getGoodAdds: ɵ3,
64
- _processAdds: ɵ4,
65
- _processRemoves: ɵ5
66
- };
67
- function getGoodAdds(relationArray, adds) {
68
- let goodAdds = checkForDups(relationArray, adds);
69
- if (!goodAdds.length) {
70
- return goodAdds;
71
- }
72
- let parentEntity = relationArray.parentEntity;
73
- let entityManager = parentEntity.entityAspect.entityManager;
74
- // we do not want to attach an entity during loading
75
- // because these will all be 'attached' at a later step.
76
- if (entityManager && !entityManager.isLoading) {
77
- goodAdds.forEach(function (add) {
78
- if (add.entityAspect.entityState.isDetached()) {
79
- relationArray._inProgress = true;
80
- try {
81
- entityManager.attachEntity(add, EntityState.Added);
82
- }
83
- finally {
84
- relationArray._inProgress = false;
85
- }
86
- }
87
- });
88
- }
89
- return goodAdds;
90
- }
91
- function processAdds(relationArray, adds) {
92
- let parentEntity = relationArray.parentEntity;
93
- let np = relationArray.navigationProperty;
94
- let addsInProcess = relationArray._addsInProcess;
95
- let invNp = np.inverse;
96
- let startIx = addsInProcess.length;
97
- try {
98
- adds.forEach(function (childEntity) {
99
- addsInProcess.push(childEntity);
100
- if (invNp) {
101
- childEntity.setProperty(invNp.name, parentEntity);
102
- }
103
- else {
104
- // This occurs with a unidirectional 1-n navigation - in this case
105
- // we need to update the fks instead of the navProp
106
- let pks = parentEntity.entityType.keyProperties;
107
- np.invForeignKeyNames.forEach(function (fk, i) {
108
- childEntity.setProperty(fk, parentEntity.getProperty(pks[i].name));
109
- });
110
- }
111
- });
112
- }
113
- finally {
114
- addsInProcess.splice(startIx, adds.length);
115
- }
116
- }
117
- function processRemoves(relationArray, removes) {
118
- let inp = relationArray.navigationProperty.inverse;
119
- if (inp) {
120
- removes.forEach(function (childEntity) {
121
- childEntity.setProperty(inp.name, null);
122
- });
123
- }
124
- }
125
- function checkForDups(relationArray, adds) {
126
- // don't allow dups in this array. - also prevents recursion
127
- let parentEntity = relationArray.parentEntity;
128
- let navProp = relationArray.navigationProperty;
129
- let inverseProp = navProp.inverse;
130
- let goodAdds;
131
- if (inverseProp) {
132
- goodAdds = adds.filter(function (a) {
133
- if (relationArray._addsInProcess.indexOf(a) >= 0) {
134
- return false;
135
- }
136
- let inverseValue = a.getProperty(inverseProp.name);
137
- return inverseValue !== parentEntity;
138
- });
139
- }
140
- else {
141
- // This occurs with a unidirectional 1->N relation ( where there is no n -> 1)
142
- // in this case we compare fks.
143
- let fkPropNames = navProp.invForeignKeyNames;
144
- let keyProps = parentEntity.entityType.keyProperties;
145
- goodAdds = adds.filter(function (a) {
146
- if (relationArray._addsInProcess.indexOf(a) >= 0) {
147
- return false;
148
- }
149
- return fkPropNames.some(function (fk, i) {
150
- let keyProp = keyProps[i].name;
151
- let keyVal = parentEntity.getProperty(keyProp);
152
- let fkVal = a.getProperty(fk);
153
- return keyVal !== fkVal;
154
- });
155
- });
156
- }
157
- return goodAdds;
158
- }
159
- /** For use by breeze plugin authors only. The class is for use in building a [[IModelLibraryAdapter]] implementation.
160
- @adapter (see [[IModelLibraryAdapter]])
161
- @hidden
162
- */
163
- export function makeRelationArray(arr, parentEntity, navigationProperty) {
164
- let arrX = arr;
165
- arrX.parentEntity = parentEntity;
166
- arrX.navigationProperty = navigationProperty;
167
- arrX.arrayChanged = new BreezeEvent("arrayChanged", arrX);
168
- // array of pushes currently in process on this relation array - used to prevent recursion.
169
- arrX._addsInProcess = [];
170
- // need to use mixins here instead of inheritance because we are starting from an existing array object.
171
- core.extend(arrX, observableArray.mixin);
172
- return core.extend(arrX, relationArrayMixin);
173
- }
174
- export { ɵ0, ɵ1, ɵ2, ɵ3, ɵ4, ɵ5 };
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tYXJyYXkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9icmVlemUtY2xpZW50LyIsInNvdXJjZXMiOlsic3JjL3JlbGF0aW9uLWFycmF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFJOUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3RDLE9BQU8sRUFBbUIsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7V0FzRDlELFVBQVMsUUFBK0IsRUFBRSxhQUFrQztJQUNoRixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQy9CLElBQUksS0FBSyxHQUFHLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3pGLElBQUksRUFBRSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDO0lBQzNDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0FBQ3pELENBQUMsT0FFZ0I7SUFDZixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDO0FBQ3hDLENBQUMsT0FFZ0I7SUFDZixJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUM7SUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQztBQUMvQixDQUFDLE9BR2EsVUFBUyxJQUFjO0lBQ25DLE9BQU8sV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNqQyxDQUFDLE9BRWEsVUFBUyxJQUFjO0lBQ25DLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDMUIsQ0FBQyxPQUVnQixVQUFTLE9BQWlCO0lBQ3pDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDaEMsQ0FBQztBQW5FSCxJQUFJLGtCQUFrQixHQUFHO0lBRXZCOzs7Ozs7T0FNRztJQUVIOzs7Ozs7Ozs7Ozs7Ozs7O09BZ0JHO0lBR0g7Ozs7Ozs7Ozs7T0FVRztJQUNILElBQUksSUFLSDtJQUVELGVBQWUsSUFFZDtJQUVELGVBQWUsSUFHZDtJQUVELGdCQUFnQjtJQUNoQixZQUFZLElBRVg7SUFFRCxZQUFZLElBRVg7SUFFRCxlQUFlLElBRWQ7Q0FFRixDQUFDO0FBRUYsU0FBUyxXQUFXLENBQUMsYUFBNEIsRUFBRSxJQUFjO0lBQy9ELElBQUksUUFBUSxHQUFHLFlBQVksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7UUFDcEIsT0FBTyxRQUFRLENBQUM7S0FDakI7SUFDRCxJQUFJLFlBQVksR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFDO0lBQzlDLElBQUksYUFBYSxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDO0lBQzVELG9EQUFvRDtJQUNwRCx3REFBd0Q7SUFDeEQsSUFBSSxhQUFhLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFO1FBQzdDLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxHQUFHO1lBQzVCLElBQUksR0FBRyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLEVBQUU7Z0JBQzdDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2dCQUNqQyxJQUFJO29CQUNGLGFBQWMsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDckQ7d0JBQVM7b0JBQ1IsYUFBYSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7aUJBQ25DO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztLQUNKO0lBQ0QsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLGFBQTRCLEVBQUUsSUFBYztJQUMvRCxJQUFJLFlBQVksR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFDO0lBQzlDLElBQUksRUFBRSxHQUFHLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQztJQUMxQyxJQUFJLGFBQWEsR0FBRyxhQUFhLENBQUMsY0FBYyxDQUFDO0lBRWpELElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7SUFDdkIsSUFBSSxPQUFPLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQztJQUNuQyxJQUFJO1FBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLFdBQVc7WUFDaEMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNoQyxJQUFJLEtBQUssRUFBRTtnQkFDVCxXQUFXLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7YUFDbkQ7aUJBQU07Z0JBQ0wsa0VBQWtFO2dCQUNsRSxtREFBbUQ7Z0JBQ25ELElBQUksR0FBRyxHQUFHLFlBQVksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO2dCQUNoRCxFQUFFLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7b0JBQzNDLFdBQVcsQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLFlBQVksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ3JFLENBQUMsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FBQztLQUNKO1lBQVM7UUFDUixhQUFhLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDNUM7QUFFSCxDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsYUFBNEIsRUFBRSxPQUFpQjtJQUNyRSxJQUFJLEdBQUcsR0FBRyxhQUFhLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDO0lBQ25ELElBQUksR0FBRyxFQUFFO1FBQ1AsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLFdBQVc7WUFDbkMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxHQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO0tBQ0o7QUFDSCxDQUFDO0FBRUQsU0FBUyxZQUFZLENBQUMsYUFBNEIsRUFBRSxJQUFjO0lBQ2hFLDREQUE0RDtJQUM1RCxJQUFJLFlBQVksR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFDO0lBQzlDLElBQUksT0FBTyxHQUFHLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQztJQUMvQyxJQUFJLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO0lBQ2xDLElBQUksUUFBa0IsQ0FBQztJQUN2QixJQUFJLFdBQVcsRUFBRTtRQUNmLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztZQUNoQyxJQUFJLGFBQWEsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDaEQsT0FBTyxLQUFLLENBQUM7YUFDZDtZQUNELElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsV0FBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BELE9BQU8sWUFBWSxLQUFLLFlBQVksQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztLQUNKO1NBQU07UUFDTCw4RUFBOEU7UUFDOUUsK0JBQStCO1FBQy9CLElBQUksV0FBVyxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztRQUM3QyxJQUFJLFFBQVEsR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUNyRCxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7WUFDaEMsSUFBSSxhQUFhLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ2hELE9BQU8sS0FBSyxDQUFDO2FBQ2Q7WUFDRCxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztnQkFDckMsSUFBSSxPQUFPLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDL0IsSUFBSSxNQUFNLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDL0MsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDOUIsT0FBTyxNQUFNLEtBQUssS0FBSyxDQUFDO1lBQzFCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7S0FDSjtJQUNELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRDs7O0VBR0U7QUFDRixNQUFNLFVBQVUsaUJBQWlCLENBQUMsR0FBVSxFQUFFLFlBQW9CLEVBQUUsa0JBQXNDO0lBQ3hHLElBQUksSUFBSSxHQUFHLEdBQVUsQ0FBQztJQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztJQUNqQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUM7SUFDN0MsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFdBQVcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUQsMkZBQTJGO0lBQzNGLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLHdHQUF3RztJQUN4RyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxrQkFBa0IsQ0FBa0IsQ0FBQztBQUNoRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29yZSB9IGZyb20gJy4vY29yZSc7XHJcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gJy4vZW50aXR5LWFzcGVjdCc7XHJcbmltcG9ydCB7IFF1ZXJ5RXJyb3JDYWxsYmFjaywgUXVlcnlSZXN1bHQsIFF1ZXJ5U3VjY2Vzc0NhbGxiYWNrIH0gZnJvbSAnLi9lbnRpdHktbWFuYWdlcic7XHJcbmltcG9ydCB7IERhdGFQcm9wZXJ0eSwgTmF2aWdhdGlvblByb3BlcnR5IH0gZnJvbSAnLi9lbnRpdHktbWV0YWRhdGEnO1xyXG5pbXBvcnQgeyBFbnRpdHlRdWVyeSB9IGZyb20gJy4vZW50aXR5LXF1ZXJ5JztcclxuaW1wb3J0IHsgRW50aXR5U3RhdGUgfSBmcm9tICcuL2VudGl0eS1zdGF0ZSc7XHJcbmltcG9ydCB7IEJyZWV6ZUV2ZW50IH0gZnJvbSAnLi9ldmVudCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGVBcnJheSwgb2JzZXJ2YWJsZUFycmF5IH0gZnJvbSAnLi9vYnNlcnZhYmxlLWFycmF5JztcclxuXHJcbi8vIFRPRE86IG1peGluIGltcGwgaXMgbm90IHZlcnkgdHlwZXNhZmVcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVsYXRpb25BcnJheSBleHRlbmRzIE9ic2VydmFibGVBcnJheSB7XHJcbiAgW2luZGV4OiBudW1iZXJdOiBFbnRpdHk7XHJcbiAgcGFyZW50RW50aXR5OiBFbnRpdHk7XHJcbiAgcGFyZW50UHJvcGVydHk/OiBEYXRhUHJvcGVydHk7XHJcbiAgbmF2aWdhdGlvblByb3BlcnR5OiBOYXZpZ2F0aW9uUHJvcGVydHk7XHJcbiAgX2luUHJvZ3Jlc3M/OiBib29sZWFuO1xyXG4gIF9hZGRzSW5Qcm9jZXNzOiBFbnRpdHlbXTtcclxuICBsb2FkKHF1ZXJ5U3VjY2Vzc0NhbGxiYWNrPzogUXVlcnlTdWNjZXNzQ2FsbGJhY2ssIHF1ZXJ5RXJyb3JDYWxsYmFjaz86IFF1ZXJ5RXJyb3JDYWxsYmFjayk6IFByb21pc2U8UXVlcnlSZXN1bHQ+OyBcclxufVxyXG5cclxubGV0IHJlbGF0aW9uQXJyYXlNaXhpbiA9IHtcclxuXHJcbiAgLyoqXHJcbiAgUmVsYXRpb24gYXJyYXlzIGFyZSBub3QgYWN0dWFsbHkgY2xhc3NlcywgdGhleSBhcmUgb2JqZWN0cyB0aGF0IG1pbWljIGFycmF5cy4gQSByZWxhdGlvbiBhcnJheSBpcyBjb2xsZWN0aW9uIG9mXHJcbiAgZW50aXRpZXMgYXNzb2NpYXRlZCB3aXRoIGEgbmF2aWdhdGlvbiBwcm9wZXJ0eSBvbiBhIHNpbmdsZSBlbnRpdHkuIGkuZS4gY3VzdG9tZXIub3JkZXJzIG9yIG9yZGVyLm9yZGVyRGV0YWlscy5cclxuICBUaGlzIGNvbGxlY3Rpb24gbG9va3MgbGlrZSBhbiBhcnJheSBpbiB0aGF0IHRoZSBiYXNpYyBtZXRob2RzIG9uIGFycmF5cyBzdWNoIGFzICdwdXNoJywgJ3BvcCcsICdzaGlmdCcsICd1bnNoaWZ0JywgJ3NwbGljZSdcclxuICBhcmUgYWxsIHByb3ZpZGVkIGFzIHdlbGwgYXMgc2V2ZXJhbCBzcGVjaWFsIHB1cnBvc2UgbWV0aG9kcy5cclxuICBAY2xhc3Mge3JlbGF0aW9uQXJyYXl9XHJcbiAgKiovXHJcblxyXG4gIC8qKlxyXG4gIEFuIFtbRXZlbnRdXSB0aGF0IGZpcmVzIHdoZW5ldmVyIHRoZSBjb250ZW50cyBvZiB0aGlzIGFycmF5IGNoYW5nZWQuICBUaGlzIGV2ZW50XHJcbiAgaXMgZmlyZWQgYW55IHRpbWUgYSBuZXcgZW50aXR5IGlzIGF0dGFjaGVkIG9yIGFkZGVkIHRvIHRoZSBFbnRpdHlNYW5hZ2VyIGFuZCBoYXBwZW5zIHRvIGJlbG9uZyB0byB0aGlzIGNvbGxlY3Rpb24uXHJcbiAgQWRkcyB0aGF0IG9jY3VyIGFzIGEgcmVzdWx0IG9mIHF1ZXJ5IG9yIGltcG9ydCBvcGVyYXRpb25zIGFyZSBiYXRjaGVkIHNvIHRoYXQgYWxsIG9mIHRoZSBhZGRzIG9yIHJlbW92ZXMgdG8gYW55IGluZGl2aWR1YWxcclxuICBjb2xsZWN0aW9ucyBhcmUgY29sbGVjdGVkIGludG8gYSBzaW5nbGUgbm90aWZpY2F0aW9uIGV2ZW50IGZvciBlYWNoIHJlbGF0aW9uIGFycmF5LlxyXG4gIEBleGFtcGxlXHJcbiAgICAgIC8vIGFzc3VtZSBvcmRlciBpcyBhbiBvcmRlciBlbnRpdHkgYXR0YWNoZWQgdG8gYW4gRW50aXR5TWFuYWdlci5cclxuICAgICAgb3JkZXJzLmFycmF5Q2hhbmdlZC5zdWJzY3JpYmUoXHJcbiAgICAgIGZ1bmN0aW9uIChhcnJheUNoYW5nZWRBcmdzKSB7XHJcbiAgICAgICAgICBsZXQgYWRkZWRFbnRpdGllcyA9IGFycmF5Q2hhbmdlZEFyZ3MuYWRkZWQ7XHJcbiAgICAgICAgICBsZXQgcmVtb3ZlZEVudGl0aWVzID0gYXJyYXlDaGFuZ2VkLnJlbW92ZWQ7XHJcbiAgICAgIH0pO1xyXG4gIEBldmVudCBhcnJheUNoYW5nZWRcclxuICBAcGFyYW0gYWRkZWQge0FycmF5IG9mIEVudGl0eX0gQW4gYXJyYXkgb2YgYWxsIG9mIHRoZSBlbnRpdGllcyBhZGRlZCB0byB0aGlzIGNvbGxlY3Rpb24uXHJcbiAgQHBhcmFtIHJlbW92ZWQge0FycmF5IG9mIEVudGl0eX0gQW4gYXJyYXkgb2YgYWxsIG9mIHRoZSByZW1vdmVkIGZyb20gdGhpcyBjb2xsZWN0aW9uLlxyXG4gIEByZWFkT25seVxyXG4gICoqL1xyXG5cclxuXHJcbiAgLyoqXHJcbiAgUGVyZm9ybXMgYW4gYXN5bmNocm9ub3VzIGxvYWQgb2YgYWxsIG90aGVyIHRoZSBlbnRpdGllcyBhc3NvY2lhdGVkIHdpdGggdGhpcyByZWxhdGlvbkFycmF5LlxyXG4gIEBleGFtcGxlXHJcbiAgICAgIC8vIGFzc3VtZSBvcmRlcnMgaXMgYW4gZW1wdHksIGFzIHlldCB1bnBvcHVsYXRlZCwgcmVsYXRpb24gYXJyYXkgb2Ygb3JkZXJzXHJcbiAgICAgIC8vIGFzc29jaWF0ZWQgd2l0aCBhIHNwZWNpZmljIGN1c3RvbWVyLlxyXG4gICAgICBvcmRlcnMubG9hZCgpLnRoZW4oLi4uKVxyXG4gIEBtZXRob2QgbG9hZFxyXG4gIEBwYXJhbSBbY2FsbGJhY2tdIHtGdW5jdGlvbn1cclxuICBAcGFyYW0gW2Vycm9yQ2FsbGJhY2tdIHtGdW5jdGlvbn1cclxuICBAcmV0dXJuIHtQcm9taXNlfVxyXG4gICoqL1xyXG4gIGxvYWQ6IGZ1bmN0aW9uKGNhbGxiYWNrPzogUXVlcnlTdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2s/OiBRdWVyeUVycm9yQ2FsbGJhY2spOiBQcm9taXNlPFF1ZXJ5UmVzdWx0PiB7XHJcbiAgICBsZXQgcGFyZW50ID0gdGhpcy5wYXJlbnRFbnRpdHk7XHJcbiAgICBsZXQgcXVlcnkgPSBFbnRpdHlRdWVyeS5mcm9tRW50aXR5TmF2aWdhdGlvbih0aGlzLnBhcmVudEVudGl0eSwgdGhpcy5uYXZpZ2F0aW9uUHJvcGVydHkpO1xyXG4gICAgbGV0IGVtID0gcGFyZW50LmVudGl0eUFzcGVjdC5lbnRpdHlNYW5hZ2VyO1xyXG4gICAgcmV0dXJuIGVtLmV4ZWN1dGVRdWVyeShxdWVyeSwgY2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spO1xyXG4gIH0sXHJcblxyXG4gIF9nZXRFdmVudFBhcmVudDogZnVuY3Rpb24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wYXJlbnRFbnRpdHkuZW50aXR5QXNwZWN0O1xyXG4gIH0sXHJcblxyXG4gIF9nZXRQZW5kaW5nUHViczogZnVuY3Rpb24oKSB7XHJcbiAgICBsZXQgZW0gPSB0aGlzLnBhcmVudEVudGl0eS5lbnRpdHlBc3BlY3QuZW50aXR5TWFuYWdlcjtcclxuICAgIHJldHVybiBlbSAmJiBlbS5fcGVuZGluZ1B1YnM7XHJcbiAgfSxcclxuXHJcbiAgLy8gdmlydHVhbCBpbXBsc1xyXG4gIF9nZXRHb29kQWRkczogZnVuY3Rpb24oYWRkczogRW50aXR5W10pIHtcclxuICAgIHJldHVybiBnZXRHb29kQWRkcyh0aGlzLCBhZGRzKTtcclxuICB9LFxyXG5cclxuICBfcHJvY2Vzc0FkZHM6IGZ1bmN0aW9uKGFkZHM6IEVudGl0eVtdKSB7XHJcbiAgICBwcm9jZXNzQWRkcyh0aGlzLCBhZGRzKTtcclxuICB9LFxyXG5cclxuICBfcHJvY2Vzc1JlbW92ZXM6IGZ1bmN0aW9uKHJlbW92ZXM6IEVudGl0eVtdKSB7XHJcbiAgICBwcm9jZXNzUmVtb3Zlcyh0aGlzLCByZW1vdmVzKTtcclxuICB9XHJcblxyXG59O1xyXG5cclxuZnVuY3Rpb24gZ2V0R29vZEFkZHMocmVsYXRpb25BcnJheTogUmVsYXRpb25BcnJheSwgYWRkczogRW50aXR5W10pIHtcclxuICBsZXQgZ29vZEFkZHMgPSBjaGVja0ZvckR1cHMocmVsYXRpb25BcnJheSwgYWRkcyk7XHJcbiAgaWYgKCFnb29kQWRkcy5sZW5ndGgpIHtcclxuICAgIHJldHVybiBnb29kQWRkcztcclxuICB9XHJcbiAgbGV0IHBhcmVudEVudGl0eSA9IHJlbGF0aW9uQXJyYXkucGFyZW50RW50aXR5O1xyXG4gIGxldCBlbnRpdHlNYW5hZ2VyID0gcGFyZW50RW50aXR5LmVudGl0eUFzcGVjdC5lbnRpdHlNYW5hZ2VyO1xyXG4gIC8vIHdlIGRvIG5vdCB3YW50IHRvIGF0dGFjaCBhbiBlbnRpdHkgZHVyaW5nIGxvYWRpbmdcclxuICAvLyBiZWNhdXNlIHRoZXNlIHdpbGwgYWxsIGJlICdhdHRhY2hlZCcgYXQgYSBsYXRlciBzdGVwLlxyXG4gIGlmIChlbnRpdHlNYW5hZ2VyICYmICFlbnRpdHlNYW5hZ2VyLmlzTG9hZGluZykge1xyXG4gICAgZ29vZEFkZHMuZm9yRWFjaChmdW5jdGlvbiAoYWRkKSB7XHJcbiAgICAgIGlmIChhZGQuZW50aXR5QXNwZWN0LmVudGl0eVN0YXRlLmlzRGV0YWNoZWQoKSkge1xyXG4gICAgICAgIHJlbGF0aW9uQXJyYXkuX2luUHJvZ3Jlc3MgPSB0cnVlO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBlbnRpdHlNYW5hZ2VyIS5hdHRhY2hFbnRpdHkoYWRkLCBFbnRpdHlTdGF0ZS5BZGRlZCk7XHJcbiAgICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICAgIHJlbGF0aW9uQXJyYXkuX2luUHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICByZXR1cm4gZ29vZEFkZHM7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHByb2Nlc3NBZGRzKHJlbGF0aW9uQXJyYXk6IFJlbGF0aW9uQXJyYXksIGFkZHM6IEVudGl0eVtdKSB7XHJcbiAgbGV0IHBhcmVudEVudGl0eSA9IHJlbGF0aW9uQXJyYXkucGFyZW50RW50aXR5O1xyXG4gIGxldCBucCA9IHJlbGF0aW9uQXJyYXkubmF2aWdhdGlvblByb3BlcnR5O1xyXG4gIGxldCBhZGRzSW5Qcm9jZXNzID0gcmVsYXRpb25BcnJheS5fYWRkc0luUHJvY2VzcztcclxuXHJcbiAgbGV0IGludk5wID0gbnAuaW52ZXJzZTtcclxuICBsZXQgc3RhcnRJeCA9IGFkZHNJblByb2Nlc3MubGVuZ3RoO1xyXG4gIHRyeSB7XHJcbiAgICBhZGRzLmZvckVhY2goZnVuY3Rpb24gKGNoaWxkRW50aXR5KSB7XHJcbiAgICAgIGFkZHNJblByb2Nlc3MucHVzaChjaGlsZEVudGl0eSk7XHJcbiAgICAgIGlmIChpbnZOcCkge1xyXG4gICAgICAgIGNoaWxkRW50aXR5LnNldFByb3BlcnR5KGludk5wLm5hbWUsIHBhcmVudEVudGl0eSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gVGhpcyBvY2N1cnMgd2l0aCBhIHVuaWRpcmVjdGlvbmFsIDEtbiBuYXZpZ2F0aW9uIC0gaW4gdGhpcyBjYXNlXHJcbiAgICAgICAgLy8gd2UgbmVlZCB0byB1cGRhdGUgdGhlIGZrcyBpbnN0ZWFkIG9mIHRoZSBuYXZQcm9wXHJcbiAgICAgICAgbGV0IHBrcyA9IHBhcmVudEVudGl0eS5lbnRpdHlUeXBlLmtleVByb3BlcnRpZXM7XHJcbiAgICAgICAgbnAuaW52Rm9yZWlnbktleU5hbWVzLmZvckVhY2goZnVuY3Rpb24gKGZrLCBpKSB7XHJcbiAgICAgICAgICBjaGlsZEVudGl0eS5zZXRQcm9wZXJ0eShmaywgcGFyZW50RW50aXR5LmdldFByb3BlcnR5KHBrc1tpXS5uYW1lKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH0gZmluYWxseSB7XHJcbiAgICBhZGRzSW5Qcm9jZXNzLnNwbGljZShzdGFydEl4LCBhZGRzLmxlbmd0aCk7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuZnVuY3Rpb24gcHJvY2Vzc1JlbW92ZXMocmVsYXRpb25BcnJheTogUmVsYXRpb25BcnJheSwgcmVtb3ZlczogRW50aXR5W10pIHtcclxuICBsZXQgaW5wID0gcmVsYXRpb25BcnJheS5uYXZpZ2F0aW9uUHJvcGVydHkuaW52ZXJzZTtcclxuICBpZiAoaW5wKSB7XHJcbiAgICByZW1vdmVzLmZvckVhY2goZnVuY3Rpb24gKGNoaWxkRW50aXR5KSB7XHJcbiAgICAgIGNoaWxkRW50aXR5LnNldFByb3BlcnR5KGlucCEubmFtZSwgbnVsbCk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNoZWNrRm9yRHVwcyhyZWxhdGlvbkFycmF5OiBSZWxhdGlvbkFycmF5LCBhZGRzOiBFbnRpdHlbXSkge1xyXG4gIC8vIGRvbid0IGFsbG93IGR1cHMgaW4gdGhpcyBhcnJheS4gLSBhbHNvIHByZXZlbnRzIHJlY3Vyc2lvblxyXG4gIGxldCBwYXJlbnRFbnRpdHkgPSByZWxhdGlvbkFycmF5LnBhcmVudEVudGl0eTtcclxuICBsZXQgbmF2UHJvcCA9IHJlbGF0aW9uQXJyYXkubmF2aWdhdGlvblByb3BlcnR5O1xyXG4gIGxldCBpbnZlcnNlUHJvcCA9IG5hdlByb3AuaW52ZXJzZTtcclxuICBsZXQgZ29vZEFkZHM6IEVudGl0eVtdO1xyXG4gIGlmIChpbnZlcnNlUHJvcCkge1xyXG4gICAgZ29vZEFkZHMgPSBhZGRzLmZpbHRlcihmdW5jdGlvbiAoYSkge1xyXG4gICAgICBpZiAocmVsYXRpb25BcnJheS5fYWRkc0luUHJvY2Vzcy5pbmRleE9mKGEpID49IDApIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IGludmVyc2VWYWx1ZSA9IGEuZ2V0UHJvcGVydHkoaW52ZXJzZVByb3AhLm5hbWUpO1xyXG4gICAgICByZXR1cm4gaW52ZXJzZVZhbHVlICE9PSBwYXJlbnRFbnRpdHk7XHJcbiAgICB9KTtcclxuICB9IGVsc2Uge1xyXG4gICAgLy8gVGhpcyBvY2N1cnMgd2l0aCBhIHVuaWRpcmVjdGlvbmFsIDEtPk4gcmVsYXRpb24gKCB3aGVyZSB0aGVyZSBpcyBubyBuIC0+IDEpXHJcbiAgICAvLyBpbiB0aGlzIGNhc2Ugd2UgY29tcGFyZSBma3MuXHJcbiAgICBsZXQgZmtQcm9wTmFtZXMgPSBuYXZQcm9wLmludkZvcmVpZ25LZXlOYW1lcztcclxuICAgIGxldCBrZXlQcm9wcyA9IHBhcmVudEVudGl0eS5lbnRpdHlUeXBlLmtleVByb3BlcnRpZXM7XHJcbiAgICBnb29kQWRkcyA9IGFkZHMuZmlsdGVyKGZ1bmN0aW9uIChhKSB7XHJcbiAgICAgIGlmIChyZWxhdGlvbkFycmF5Ll9hZGRzSW5Qcm9jZXNzLmluZGV4T2YoYSkgPj0gMCkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gZmtQcm9wTmFtZXMuc29tZShmdW5jdGlvbiAoZmssIGkpIHtcclxuICAgICAgICBsZXQga2V5UHJvcCA9IGtleVByb3BzW2ldLm5hbWU7XHJcbiAgICAgICAgbGV0IGtleVZhbCA9IHBhcmVudEVudGl0eS5nZXRQcm9wZXJ0eShrZXlQcm9wKTtcclxuICAgICAgICBsZXQgZmtWYWwgPSBhLmdldFByb3BlcnR5KGZrKTtcclxuICAgICAgICByZXR1cm4ga2V5VmFsICE9PSBma1ZhbDtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcmV0dXJuIGdvb2RBZGRzO1xyXG59XHJcblxyXG4vKiogRm9yIHVzZSBieSBicmVlemUgcGx1Z2luIGF1dGhvcnMgb25seS4gVGhlIGNsYXNzIGlzIGZvciB1c2UgaW4gYnVpbGRpbmcgYSBbW0lNb2RlbExpYnJhcnlBZGFwdGVyXV0gaW1wbGVtZW50YXRpb24uIFxyXG5AYWRhcHRlciAoc2VlIFtbSU1vZGVsTGlicmFyeUFkYXB0ZXJdXSkgICAgXHJcbkBoaWRkZW4gXHJcbiovXHJcbmV4cG9ydCBmdW5jdGlvbiBtYWtlUmVsYXRpb25BcnJheShhcnI6IGFueVtdLCBwYXJlbnRFbnRpdHk6IEVudGl0eSwgbmF2aWdhdGlvblByb3BlcnR5OiBOYXZpZ2F0aW9uUHJvcGVydHkpOiBSZWxhdGlvbkFycmF5IHtcclxuICBsZXQgYXJyWCA9IGFyciBhcyBhbnk7XHJcbiAgYXJyWC5wYXJlbnRFbnRpdHkgPSBwYXJlbnRFbnRpdHk7XHJcbiAgYXJyWC5uYXZpZ2F0aW9uUHJvcGVydHkgPSBuYXZpZ2F0aW9uUHJvcGVydHk7XHJcbiAgYXJyWC5hcnJheUNoYW5nZWQgPSBuZXcgQnJlZXplRXZlbnQoXCJhcnJheUNoYW5nZWRcIiwgYXJyWCk7XHJcbiAgLy8gYXJyYXkgb2YgcHVzaGVzIGN1cnJlbnRseSBpbiBwcm9jZXNzIG9uIHRoaXMgcmVsYXRpb24gYXJyYXkgLSB1c2VkIHRvIHByZXZlbnQgcmVjdXJzaW9uLlxyXG4gIGFyclguX2FkZHNJblByb2Nlc3MgPSBbXTtcclxuICAvLyBuZWVkIHRvIHVzZSBtaXhpbnMgaGVyZSBpbnN0ZWFkIG9mIGluaGVyaXRhbmNlIGJlY2F1c2Ugd2UgYXJlIHN0YXJ0aW5nIGZyb20gYW4gZXhpc3RpbmcgYXJyYXkgb2JqZWN0LlxyXG4gIGNvcmUuZXh0ZW5kKGFyclgsIG9ic2VydmFibGVBcnJheS5taXhpbik7XHJcbiAgcmV0dXJuIGNvcmUuZXh0ZW5kKGFyclgsIHJlbGF0aW9uQXJyYXlNaXhpbikgYXMgUmVsYXRpb25BcnJheTtcclxufVxyXG4iXX0=
@@ -1,41 +0,0 @@
1
- import { core } from './core';
2
- import { assertConfig } from './assert-param';
3
- import { DataService } from './data-service';
4
- /**
5
- A SaveOptions instance is used to specify the 'options' under which a save will occur.
6
- **/
7
- export class SaveOptions {
8
- constructor(config) {
9
- SaveOptions._updateWithConfig(this, config);
10
- }
11
- /**
12
- Sets the 'defaultInstance' by creating a copy of the current 'defaultInstance' and then applying all of the properties of the current instance.
13
- The current instance is returned unchanged.
14
- **/
15
- setAsDefault() {
16
- return core.setAsDefault(this, SaveOptions);
17
- }
18
- /**
19
- Returns a copy of this SaveOptions with the specified config options applied.
20
- > var saveOptions = em1.saveOptions.using( {resourceName: "anotherResource" });
21
- **/
22
- using(config) {
23
- return SaveOptions._updateWithConfig(this, config);
24
- }
25
- /** @hidden @internal */
26
- static _updateWithConfig(obj, config) {
27
- if (config) {
28
- assertConfig(config)
29
- .whereParam("resourceName").isOptional().isString()
30
- .whereParam("dataService").isOptional().isInstanceOf(DataService)
31
- .whereParam("allowConcurrentSaves").isBoolean().isOptional()
32
- .whereParam("tag").isOptional()
33
- .applyAll(obj);
34
- }
35
- return obj;
36
- }
37
- }
38
- /** The default value whenever SaveOptions are not specified. */
39
- SaveOptions.defaultInstance = new SaveOptions({ allowConcurrentSaves: false });
40
- SaveOptions.prototype._$typeName = "SaveOptions";
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYnJlZXplLWNsaWVudC8iLCJzb3VyY2VzIjpbInNyYy9zYXZlLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBYzdDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFldEIsWUFBWSxNQUEwQjtRQUNwQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFHRDs7O09BR0c7SUFDSCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLE1BQXlCO1FBQzdCLE9BQU8sV0FBVyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsd0JBQXdCO0lBQ2hCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFnQixFQUFFLE1BQXlCO1FBQzFFLElBQUksTUFBTSxFQUFFO1lBQ1YsWUFBWSxDQUFDLE1BQU0sQ0FBQztpQkFDZixVQUFVLENBQUMsY0FBYyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxFQUFFO2lCQUNsRCxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQztpQkFDaEUsVUFBVSxDQUFDLHNCQUFzQixDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFO2lCQUMzRCxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsVUFBVSxFQUFFO2lCQUM5QixRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDcEI7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7O0FBbkNELGdFQUFnRTtBQUN6RCwyQkFBZSxHQUFHLElBQUksV0FBVyxDQUFDLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztBQXFDM0UsV0FBVyxDQUFDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29yZSB9IGZyb20gJy4vY29yZSc7XHJcbmltcG9ydCB7IGFzc2VydENvbmZpZyB9IGZyb20gJy4vYXNzZXJ0LXBhcmFtJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuL2RhdGEtc2VydmljZSc7XHJcblxyXG4vKiogQ29uZmlndXJhdGlvbiBpbmZvIHRvIGJlIHBhc3NlZCB0byB0aGUgW1tTYXZlT3B0aW9uc11dIGNvbnN0cnVjdG9yICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2F2ZU9wdGlvbnNDb25maWcge1xyXG4gIC8qKiBSZXNvdXJjZSBuYW1lIHRvIGJlIHVzZWQgZHVyaW5nIHRoZSBzYXZlIC0gdGhpcyBkZWZhdWx0cyB0byBcIlNhdmVDaGFuZ2VzXCIgKi9cclxuICByZXNvdXJjZU5hbWU/OiBzdHJpbmc7XHJcbiAgLyoqIFRoZSBEYXRhU2VydmljZSB0byBiZSB1c2VkIGZvciB0aGlzIHNhdmUuICovXHJcbiAgZGF0YVNlcnZpY2U/OiBEYXRhU2VydmljZTtcclxuICAvKiogV2hldGhlciBtdWx0aXBsZSBzYXZlcyBjYW4gYmUgaW4tZmxpZ2h0IGF0IHRoZSBzYW1lIHRpbWUuIFRoZSBkZWZhdWx0IGlzIGZhbHNlLiAqL1xyXG4gIGFsbG93Q29uY3VycmVudFNhdmVzPzogYm9vbGVhbjtcclxuICAvKiogRnJlZSBmb3JtIHZhbHVlIHRoYXQgd2lsbCBiZSBzZW50IHRvIHRoZSBzZXJ2ZXIgZHVyaW5nIHRoZSBzYXZlLiAqL1xyXG4gIHRhZz86IGFueTtcclxufVxyXG5cclxuLyoqXHJcbkEgU2F2ZU9wdGlvbnMgaW5zdGFuY2UgaXMgdXNlZCB0byBzcGVjaWZ5IHRoZSAnb3B0aW9ucycgdW5kZXIgd2hpY2ggYSBzYXZlIHdpbGwgb2NjdXIuXHJcbioqL1xyXG5leHBvcnQgY2xhc3MgU2F2ZU9wdGlvbnMge1xyXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xyXG4gIF8kdHlwZU5hbWU6IHN0cmluZzsgLy8gb24gcHJvdG9cclxuICAvKiogUmVzb3VyY2UgbmFtZSB0byBiZSB1c2VkIGR1cmluZyB0aGUgc2F2ZSAtIHRoaXMgZGVmYXVsdHMgdG8gXCJTYXZlQ2hhbmdlc1wiLiBfX1JlYWQgT25seV9fICovXHJcbiAgcmVzb3VyY2VOYW1lOiBzdHJpbmc7XHJcbiAgLyoqIFRoZSBEYXRhU2VydmljZSB0byBiZSB1c2VkIGZvciB0aGlzIHNhdmUuIF9fUmVhZCBPbmx5X18gKi9cclxuICBkYXRhU2VydmljZTogRGF0YVNlcnZpY2U7XHJcbiAgLyoqIFdoZXRoZXIgbXVsdGlwbGUgc2F2ZXMgY2FuIGJlIGluLWZsaWdodCBhdCB0aGUgc2FtZSB0aW1lLiBUaGUgZGVmYXVsdCBpcyBmYWxzZS4gX19SZWFkIE9ubHlfXyAqL1xyXG4gIGFsbG93Q29uY3VycmVudFNhdmVzOiBib29sZWFuO1xyXG4gIC8qKiBGcmVlIGZvcm0gdmFsdWUgdGhhdCB3aWxsIGJlIHNlbnQgdG8gdGhlIHNlcnZlciBkdXJpbmcgdGhlIHNhdmUuIF9fUmVhZCBPbmx5X18gKi9cclxuICB0YWc6IGFueTtcclxuXHJcbiAgLyoqIFRoZSBkZWZhdWx0IHZhbHVlIHdoZW5ldmVyIFNhdmVPcHRpb25zIGFyZSBub3Qgc3BlY2lmaWVkLiAqL1xyXG4gIHN0YXRpYyBkZWZhdWx0SW5zdGFuY2UgPSBuZXcgU2F2ZU9wdGlvbnMoeyBhbGxvd0NvbmN1cnJlbnRTYXZlczogZmFsc2V9KTtcclxuXHJcbiAgY29uc3RydWN0b3IoY29uZmlnPzogU2F2ZU9wdGlvbnNDb25maWcpIHtcclxuICAgIFNhdmVPcHRpb25zLl91cGRhdGVXaXRoQ29uZmlnKHRoaXMsIGNvbmZpZyk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgU2V0cyB0aGUgJ2RlZmF1bHRJbnN0YW5jZScgYnkgY3JlYXRpbmcgYSBjb3B5IG9mIHRoZSBjdXJyZW50ICdkZWZhdWx0SW5zdGFuY2UnIGFuZCB0aGVuIGFwcGx5aW5nIGFsbCBvZiB0aGUgcHJvcGVydGllcyBvZiB0aGUgY3VycmVudCBpbnN0YW5jZS5cclxuICBUaGUgY3VycmVudCBpbnN0YW5jZSBpcyByZXR1cm5lZCB1bmNoYW5nZWQuXHJcbiAgKiovXHJcbiAgc2V0QXNEZWZhdWx0KCkge1xyXG4gICAgcmV0dXJuIGNvcmUuc2V0QXNEZWZhdWx0KHRoaXMsIFNhdmVPcHRpb25zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gIFJldHVybnMgYSBjb3B5IG9mIHRoaXMgU2F2ZU9wdGlvbnMgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbmZpZyBvcHRpb25zIGFwcGxpZWQuXHJcbiAgPiAgICAgdmFyIHNhdmVPcHRpb25zID0gZW0xLnNhdmVPcHRpb25zLnVzaW5nKCB7cmVzb3VyY2VOYW1lOiBcImFub3RoZXJSZXNvdXJjZVwiIH0pO1xyXG4gICoqL1xyXG4gIHVzaW5nKGNvbmZpZzogU2F2ZU9wdGlvbnNDb25maWcpIHtcclxuICAgIHJldHVybiBTYXZlT3B0aW9ucy5fdXBkYXRlV2l0aENvbmZpZyh0aGlzLCBjb25maWcpO1xyXG4gIH1cclxuXHJcbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXHJcbiAgcHJpdmF0ZSBzdGF0aWMgX3VwZGF0ZVdpdGhDb25maWcob2JqOiBTYXZlT3B0aW9ucywgY29uZmlnOiBTYXZlT3B0aW9uc0NvbmZpZykge1xyXG4gICAgaWYgKGNvbmZpZykge1xyXG4gICAgICBhc3NlcnRDb25maWcoY29uZmlnKVxyXG4gICAgICAgICAgLndoZXJlUGFyYW0oXCJyZXNvdXJjZU5hbWVcIikuaXNPcHRpb25hbCgpLmlzU3RyaW5nKClcclxuICAgICAgICAgIC53aGVyZVBhcmFtKFwiZGF0YVNlcnZpY2VcIikuaXNPcHRpb25hbCgpLmlzSW5zdGFuY2VPZihEYXRhU2VydmljZSlcclxuICAgICAgICAgIC53aGVyZVBhcmFtKFwiYWxsb3dDb25jdXJyZW50U2F2ZXNcIikuaXNCb29sZWFuKCkuaXNPcHRpb25hbCgpXHJcbiAgICAgICAgICAud2hlcmVQYXJhbShcInRhZ1wiKS5pc09wdGlvbmFsKClcclxuICAgICAgICAgIC5hcHBseUFsbChvYmopO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG9iajtcclxuICB9XHJcblxyXG59XHJcblNhdmVPcHRpb25zLnByb3RvdHlwZS5fJHR5cGVOYW1lID0gXCJTYXZlT3B0aW9uc1wiO1xyXG5cclxuXHJcblxyXG4iXX0=
@@ -1,58 +0,0 @@
1
- import { core } from './core';
2
- /** @hidden @internal */
3
- // Represents entities not yet attached to navigationProperties.
4
- export class UnattachedChildrenMap {
5
- constructor() {
6
- // key is EntityKey.toString(), value is array of { navigationProperty, children }
7
- this.map = {};
8
- }
9
- addChild(parentEntityKey, navigationProperty, child) {
10
- let tuple = this.getTuple(parentEntityKey, navigationProperty);
11
- if (!tuple) {
12
- tuple = { navigationProperty: navigationProperty, children: [] };
13
- core.getArray(this.map, parentEntityKey.toString()).push(tuple);
14
- }
15
- tuple.children.push(child);
16
- }
17
- removeChildren(parentEntityKeyString, navigationProperty) {
18
- let tuples = this.map[parentEntityKeyString];
19
- if (!tuples)
20
- return;
21
- core.arrayRemoveItem(tuples, (t) => {
22
- return t.navigationProperty === navigationProperty;
23
- });
24
- if (!tuples.length) {
25
- delete this.map[parentEntityKeyString];
26
- }
27
- }
28
- getTuple(parentEntityKey, navigationProperty) {
29
- let tuples = this.getTuples(parentEntityKey);
30
- if (!tuples)
31
- return null;
32
- let tuple = core.arrayFirst(tuples, function (t) {
33
- return t.navigationProperty === navigationProperty;
34
- });
35
- return tuple;
36
- }
37
- getTuples(parentEntityKey) {
38
- let allTuples = [];
39
- let tuples = this.map[parentEntityKey.toString()];
40
- if (tuples) {
41
- allTuples = allTuples.concat(tuples);
42
- }
43
- let entityType = parentEntityKey.entityType;
44
- while (entityType.baseEntityType) {
45
- entityType = entityType.baseEntityType;
46
- let baseKey = parentEntityKey.toString(entityType);
47
- tuples = this.map[baseKey];
48
- if (tuples) {
49
- allTuples = allTuples.concat(tuples);
50
- }
51
- }
52
- return (allTuples.length) ? allTuples : undefined;
53
- }
54
- getTuplesByString(parentEntityKeyString) {
55
- return this.map[parentEntityKeyString];
56
- }
57
- }
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5hdHRhY2hlZC1jaGlsZHJlbi1tYXAuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9icmVlemUtY2xpZW50LyIsInNvdXJjZXMiOlsic3JjL3VuYXR0YWNoZWQtY2hpbGRyZW4tbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFXOUIsd0JBQXdCO0FBQ3hCLGlFQUFpRTtBQUNqRSxNQUFNLE9BQU8scUJBQXFCO0lBQWxDO1FBQ0Usa0ZBQWtGO1FBQ2xGLFFBQUcsR0FBcUMsRUFBRSxDQUFDO0lBc0Q3QyxDQUFDO0lBbkRDLFFBQVEsQ0FBQyxlQUEwQixFQUFFLGtCQUFzQyxFQUFFLEtBQWE7UUFDeEYsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsS0FBSyxHQUFHLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ2pFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDakU7UUFDRCxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsY0FBYyxDQUFDLHFCQUE2QixFQUFFLGtCQUFzQztRQUNsRixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPO1FBQ3BCLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBTSxFQUFFLEVBQUU7WUFDdEMsT0FBTyxDQUFDLENBQUMsa0JBQWtCLEtBQUssa0JBQWtCLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNsQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztTQUN4QztJQUNILENBQUM7SUFFRCxRQUFRLENBQUMsZUFBMEIsRUFBRSxrQkFBc0M7UUFDekUsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3pCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQztZQUM3QyxPQUFPLENBQUMsQ0FBQyxrQkFBa0IsS0FBSyxrQkFBa0IsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFNBQVMsQ0FBQyxlQUEwQjtRQUNsQyxJQUFJLFNBQVMsR0FBZ0IsRUFBRSxDQUFDO1FBQ2hDLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDbEQsSUFBSSxNQUFNLEVBQUU7WUFDVixTQUFTLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN0QztRQUNELElBQUksVUFBVSxHQUFHLGVBQWUsQ0FBQyxVQUFVLENBQUM7UUFDNUMsT0FBTyxVQUFVLENBQUMsY0FBYyxFQUFFO1lBQ2hDLFVBQVUsR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFDO1lBQ3ZDLElBQUksT0FBTyxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDbkQsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDM0IsSUFBSSxNQUFNLEVBQUU7Z0JBQ1YsU0FBUyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDdEM7U0FDRjtRQUNELE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3BELENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxxQkFBNkI7UUFDN0MsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDekMsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29yZSB9IGZyb20gJy4vY29yZSc7XHJcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gJy4vZW50aXR5LWFzcGVjdCc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25Qcm9wZXJ0eSB9IGZyb20gJy4vZW50aXR5LW1ldGFkYXRhJztcclxuaW1wb3J0IHsgRW50aXR5S2V5IH0gZnJvbSAnLi9lbnRpdHkta2V5JztcclxuXHJcbi8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElOYXZUdXBsZSB7XHJcbiAgbmF2aWdhdGlvblByb3BlcnR5OiBOYXZpZ2F0aW9uUHJvcGVydHk7XHJcbiAgY2hpbGRyZW46IEVudGl0eVtdO1xyXG59XHJcblxyXG4vKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cclxuLy8gUmVwcmVzZW50cyBlbnRpdGllcyBub3QgeWV0IGF0dGFjaGVkIHRvIG5hdmlnYXRpb25Qcm9wZXJ0aWVzLiBcclxuZXhwb3J0IGNsYXNzIFVuYXR0YWNoZWRDaGlsZHJlbk1hcCB7XHJcbiAgLy8ga2V5IGlzIEVudGl0eUtleS50b1N0cmluZygpLCB2YWx1ZSBpcyBhcnJheSBvZiB7IG5hdmlnYXRpb25Qcm9wZXJ0eSwgY2hpbGRyZW4gfVxyXG4gIG1hcDogeyBbaW5kZXg6IHN0cmluZ106IElOYXZUdXBsZVtdIH0gPSB7fTtcclxuXHJcblxyXG4gIGFkZENoaWxkKHBhcmVudEVudGl0eUtleTogRW50aXR5S2V5LCBuYXZpZ2F0aW9uUHJvcGVydHk6IE5hdmlnYXRpb25Qcm9wZXJ0eSwgY2hpbGQ6IEVudGl0eSkge1xyXG4gICAgbGV0IHR1cGxlID0gdGhpcy5nZXRUdXBsZShwYXJlbnRFbnRpdHlLZXksIG5hdmlnYXRpb25Qcm9wZXJ0eSk7XHJcbiAgICBpZiAoIXR1cGxlKSB7XHJcbiAgICAgIHR1cGxlID0geyBuYXZpZ2F0aW9uUHJvcGVydHk6IG5hdmlnYXRpb25Qcm9wZXJ0eSwgY2hpbGRyZW46IFtdIH07XHJcbiAgICAgIGNvcmUuZ2V0QXJyYXkodGhpcy5tYXAsIHBhcmVudEVudGl0eUtleS50b1N0cmluZygpKS5wdXNoKHR1cGxlKTtcclxuICAgIH1cclxuICAgIHR1cGxlLmNoaWxkcmVuLnB1c2goY2hpbGQpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlQ2hpbGRyZW4ocGFyZW50RW50aXR5S2V5U3RyaW5nOiBzdHJpbmcsIG5hdmlnYXRpb25Qcm9wZXJ0eTogTmF2aWdhdGlvblByb3BlcnR5KSB7XHJcbiAgICBsZXQgdHVwbGVzID0gdGhpcy5tYXBbcGFyZW50RW50aXR5S2V5U3RyaW5nXTtcclxuICAgIGlmICghdHVwbGVzKSByZXR1cm47XHJcbiAgICBjb3JlLmFycmF5UmVtb3ZlSXRlbSh0dXBsZXMsICh0OiBhbnkpID0+IHtcclxuICAgICAgcmV0dXJuIHQubmF2aWdhdGlvblByb3BlcnR5ID09PSBuYXZpZ2F0aW9uUHJvcGVydHk7XHJcbiAgICB9KTtcclxuICAgIGlmICghdHVwbGVzLmxlbmd0aCkge1xyXG4gICAgICBkZWxldGUgdGhpcy5tYXBbcGFyZW50RW50aXR5S2V5U3RyaW5nXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFR1cGxlKHBhcmVudEVudGl0eUtleTogRW50aXR5S2V5LCBuYXZpZ2F0aW9uUHJvcGVydHk6IE5hdmlnYXRpb25Qcm9wZXJ0eSkge1xyXG4gICAgbGV0IHR1cGxlcyA9IHRoaXMuZ2V0VHVwbGVzKHBhcmVudEVudGl0eUtleSk7XHJcbiAgICBpZiAoIXR1cGxlcykgcmV0dXJuIG51bGw7XHJcbiAgICBsZXQgdHVwbGUgPSBjb3JlLmFycmF5Rmlyc3QodHVwbGVzLCBmdW5jdGlvbiAodCkge1xyXG4gICAgICByZXR1cm4gdC5uYXZpZ2F0aW9uUHJvcGVydHkgPT09IG5hdmlnYXRpb25Qcm9wZXJ0eTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHR1cGxlO1xyXG4gIH1cclxuXHJcbiAgZ2V0VHVwbGVzKHBhcmVudEVudGl0eUtleTogRW50aXR5S2V5KSB7XHJcbiAgICBsZXQgYWxsVHVwbGVzOiBJTmF2VHVwbGVbXSA9IFtdO1xyXG4gICAgbGV0IHR1cGxlcyA9IHRoaXMubWFwW3BhcmVudEVudGl0eUtleS50b1N0cmluZygpXTtcclxuICAgIGlmICh0dXBsZXMpIHtcclxuICAgICAgYWxsVHVwbGVzID0gYWxsVHVwbGVzLmNvbmNhdCh0dXBsZXMpO1xyXG4gICAgfVxyXG4gICAgbGV0IGVudGl0eVR5cGUgPSBwYXJlbnRFbnRpdHlLZXkuZW50aXR5VHlwZTtcclxuICAgIHdoaWxlIChlbnRpdHlUeXBlLmJhc2VFbnRpdHlUeXBlKSB7XHJcbiAgICAgIGVudGl0eVR5cGUgPSBlbnRpdHlUeXBlLmJhc2VFbnRpdHlUeXBlO1xyXG4gICAgICBsZXQgYmFzZUtleSA9IHBhcmVudEVudGl0eUtleS50b1N0cmluZyhlbnRpdHlUeXBlKTtcclxuICAgICAgdHVwbGVzID0gdGhpcy5tYXBbYmFzZUtleV07XHJcbiAgICAgIGlmICh0dXBsZXMpIHtcclxuICAgICAgICBhbGxUdXBsZXMgPSBhbGxUdXBsZXMuY29uY2F0KHR1cGxlcyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiAoYWxsVHVwbGVzLmxlbmd0aCkgPyBhbGxUdXBsZXMgOiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBnZXRUdXBsZXNCeVN0cmluZyhwYXJlbnRFbnRpdHlLZXlTdHJpbmc6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMubWFwW3BhcmVudEVudGl0eUtleVN0cmluZ107XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=