breeze-client 2.2.0 → 2.2.1-cjs

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 (377) hide show
  1. package/adapter-ajax-angularjs/{index.d.ts → breeze-client-adapter-ajax-angularjs.d.ts} +0 -1
  2. package/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.metadata.json +1 -0
  3. package/adapter-ajax-angularjs/package.json +13 -0
  4. package/adapter-ajax-fetch/{index.d.ts → breeze-client-adapter-ajax-fetch.d.ts} +0 -1
  5. package/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.metadata.json +1 -0
  6. package/adapter-ajax-fetch/package.json +13 -0
  7. package/adapter-ajax-httpclient/{index.d.ts → breeze-client-adapter-ajax-httpclient.d.ts} +0 -1
  8. package/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.metadata.json +1 -0
  9. package/adapter-ajax-httpclient/package.json +13 -0
  10. package/adapter-ajax-jquery/{index.d.ts → breeze-client-adapter-ajax-jquery.d.ts} +0 -1
  11. package/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.metadata.json +1 -0
  12. package/adapter-ajax-jquery/package.json +13 -0
  13. package/adapter-ajax-post/{index.d.ts → breeze-client-adapter-ajax-post.d.ts} +0 -1
  14. package/adapter-ajax-post/breeze-client-adapter-ajax-post.metadata.json +1 -0
  15. package/adapter-ajax-post/package.json +13 -0
  16. package/adapter-data-service-odata/{index.d.ts → breeze-client-adapter-data-service-odata.d.ts} +0 -1
  17. package/adapter-data-service-odata/breeze-client-adapter-data-service-odata.metadata.json +1 -0
  18. package/adapter-data-service-odata/package.json +13 -0
  19. package/adapter-data-service-webapi/{index.d.ts → breeze-client-adapter-data-service-webapi.d.ts} +0 -1
  20. package/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.metadata.json +1 -0
  21. package/adapter-data-service-webapi/package.json +13 -0
  22. package/adapter-model-library-backing-store/{index.d.ts → breeze-client-adapter-model-library-backing-store.d.ts} +0 -1
  23. package/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.metadata.json +1 -0
  24. package/adapter-model-library-backing-store/package.json +13 -0
  25. package/adapter-model-library-ko/{index.d.ts → breeze-client-adapter-model-library-ko.d.ts} +0 -1
  26. package/adapter-model-library-ko/breeze-client-adapter-model-library-ko.metadata.json +1 -0
  27. package/adapter-model-library-ko/package.json +13 -0
  28. package/adapter-uri-builder-json/{index.d.ts → breeze-client-adapter-uri-builder-json.d.ts} +0 -1
  29. package/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.metadata.json +1 -0
  30. package/adapter-uri-builder-json/package.json +13 -0
  31. package/adapter-uri-builder-odata/{index.d.ts → breeze-client-adapter-uri-builder-odata.d.ts} +0 -1
  32. package/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.metadata.json +1 -0
  33. package/adapter-uri-builder-odata/package.json +13 -0
  34. package/breeze-client.d.ts +8 -0
  35. package/breeze-client.metadata.json +1 -0
  36. package/bundles/breeze-client-adapter-ajax-angularjs.umd.js +190 -0
  37. package/bundles/breeze-client-adapter-ajax-angularjs.umd.js.map +1 -0
  38. package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js +2 -0
  39. package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js.map +1 -0
  40. package/bundles/breeze-client-adapter-ajax-fetch.umd.js +190 -0
  41. package/bundles/breeze-client-adapter-ajax-fetch.umd.js.map +1 -0
  42. package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js +2 -0
  43. package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js.map +1 -0
  44. package/bundles/breeze-client-adapter-ajax-httpclient.umd.js +195 -0
  45. package/bundles/breeze-client-adapter-ajax-httpclient.umd.js.map +1 -0
  46. package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js +2 -0
  47. package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js.map +1 -0
  48. package/bundles/breeze-client-adapter-ajax-jquery.umd.js +115 -0
  49. package/bundles/breeze-client-adapter-ajax-jquery.umd.js.map +1 -0
  50. package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js +2 -0
  51. package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js.map +1 -0
  52. package/bundles/breeze-client-adapter-ajax-post.umd.js +92 -0
  53. package/bundles/breeze-client-adapter-ajax-post.umd.js.map +1 -0
  54. package/bundles/breeze-client-adapter-ajax-post.umd.min.js +2 -0
  55. package/bundles/breeze-client-adapter-ajax-post.umd.min.js.map +1 -0
  56. package/bundles/breeze-client-adapter-data-service-odata.umd.js +747 -0
  57. package/bundles/breeze-client-adapter-data-service-odata.umd.js.map +1 -0
  58. package/bundles/breeze-client-adapter-data-service-odata.umd.min.js +16 -0
  59. package/bundles/breeze-client-adapter-data-service-odata.umd.min.js.map +1 -0
  60. package/bundles/breeze-client-adapter-data-service-webapi.umd.js +333 -0
  61. package/bundles/breeze-client-adapter-data-service-webapi.umd.js.map +1 -0
  62. package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js +16 -0
  63. package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js.map +1 -0
  64. package/bundles/breeze-client-adapter-model-library-backing-store.umd.js +280 -0
  65. package/bundles/breeze-client-adapter-model-library-backing-store.umd.js.map +1 -0
  66. package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js +2 -0
  67. package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js.map +1 -0
  68. package/bundles/breeze-client-adapter-model-library-ko.umd.js +252 -0
  69. package/bundles/breeze-client-adapter-model-library-ko.umd.js.map +1 -0
  70. package/bundles/breeze-client-adapter-model-library-ko.umd.min.js +2 -0
  71. package/bundles/breeze-client-adapter-model-library-ko.umd.min.js.map +1 -0
  72. package/bundles/breeze-client-adapter-uri-builder-json.umd.js +96 -0
  73. package/bundles/breeze-client-adapter-uri-builder-json.umd.js.map +1 -0
  74. package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js +2 -0
  75. package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js.map +1 -0
  76. package/bundles/breeze-client-adapter-uri-builder-odata.umd.js +262 -0
  77. package/bundles/breeze-client-adapter-uri-builder-odata.umd.js.map +1 -0
  78. package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js +2 -0
  79. package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js.map +1 -0
  80. package/bundles/breeze-client-mixin-get-entity-graph.umd.js +258 -0
  81. package/bundles/breeze-client-mixin-get-entity-graph.umd.js.map +1 -0
  82. package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js +2 -0
  83. package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js.map +1 -0
  84. package/bundles/breeze-client-mixin-save-queuing.umd.js +579 -0
  85. package/bundles/breeze-client-mixin-save-queuing.umd.js.map +1 -0
  86. package/bundles/breeze-client-mixin-save-queuing.umd.min.js +16 -0
  87. package/bundles/breeze-client-mixin-save-queuing.umd.min.js.map +1 -0
  88. package/bundles/breeze-client.umd.js +14234 -0
  89. package/bundles/breeze-client.umd.js.map +1 -0
  90. package/bundles/breeze-client.umd.min.js +16 -0
  91. package/bundles/breeze-client.umd.min.js.map +1 -0
  92. package/esm2015/adapter-ajax-angularjs/adapter-ajax-angularjs.js +130 -0
  93. package/esm2015/adapter-ajax-angularjs/adapter-core.js +49 -0
  94. package/esm2015/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +5 -0
  95. package/esm2015/adapter-ajax-fetch/adapter-ajax-fetch.js +130 -0
  96. package/esm2015/adapter-ajax-fetch/adapter-core.js +49 -0
  97. package/esm2015/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +5 -0
  98. package/esm2015/adapter-ajax-httpclient/adapter-ajax-httpclient.js +137 -0
  99. package/esm2015/adapter-ajax-httpclient/adapter-core.js +49 -0
  100. package/esm2015/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +5 -0
  101. package/esm2015/adapter-ajax-jquery/adapter-ajax-jquery.js +103 -0
  102. package/esm2015/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +5 -0
  103. package/esm2015/adapter-ajax-post/adapter-ajax-post.js +77 -0
  104. package/esm2015/adapter-ajax-post/breeze-client-adapter-ajax-post.js +5 -0
  105. package/esm2015/adapter-data-service-odata/adapter-core.js +49 -0
  106. package/esm2015/adapter-data-service-odata/adapter-data-service-odata.js +463 -0
  107. package/esm2015/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +5 -0
  108. package/esm2015/adapter-data-service-webapi/adapter-data-service-webapi.js +100 -0
  109. package/esm2015/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +5 -0
  110. package/esm2015/adapter-model-library-backing-store/adapter-model-library-backing-store.js +268 -0
  111. package/esm2015/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +5 -0
  112. package/esm2015/adapter-model-library-ko/adapter-model-library-ko.js +240 -0
  113. package/esm2015/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +5 -0
  114. package/esm2015/adapter-uri-builder-json/adapter-core.js +49 -0
  115. package/esm2015/adapter-uri-builder-json/adapter-uri-builder-json.js +36 -0
  116. package/esm2015/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +5 -0
  117. package/esm2015/adapter-uri-builder-odata/adapter-core.js +49 -0
  118. package/esm2015/adapter-uri-builder-odata/adapter-uri-builder-odata.js +192 -0
  119. package/esm2015/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +5 -0
  120. package/esm2015/breeze-client.js +9 -0
  121. package/esm2015/index.js +2 -0
  122. package/esm2015/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +5 -0
  123. package/esm2015/mixin-get-entity-graph/mixin-get-entity-graph.js +269 -0
  124. package/esm2015/mixin-save-queuing/breeze-client-mixin-save-queuing.js +5 -0
  125. package/esm2015/mixin-save-queuing/mixin-save-queuing.js +400 -0
  126. package/esm2015/src/abstract-data-service-adapter.js +327 -0
  127. package/esm2015/src/array.js +4 -0
  128. package/esm2015/src/assert-param.js +312 -0
  129. package/esm2015/src/breeze.js +85 -0
  130. package/esm2015/src/complex-array.js +119 -0
  131. package/esm2015/src/config.js +223 -0
  132. package/esm2015/src/core.js +714 -0
  133. package/esm2015/src/csdl-metadata-parser.js +385 -0
  134. package/esm2015/src/data-service.js +203 -0
  135. package/esm2015/src/data-type.js +506 -0
  136. package/esm2015/src/default-property-interceptor.js +460 -0
  137. package/{esm2022/src/entity-action.mjs → esm2015/src/entity-action.js} +25 -25
  138. package/esm2015/src/entity-aspect.js +804 -0
  139. package/esm2015/src/entity-group.js +187 -0
  140. package/esm2015/src/entity-key.js +116 -0
  141. package/esm2015/src/entity-manager.js +2094 -0
  142. package/esm2015/src/entity-metadata.js +2109 -0
  143. package/esm2015/src/entity-query.js +1015 -0
  144. package/esm2015/src/entity-state.js +107 -0
  145. package/esm2015/src/enum.js +141 -0
  146. package/esm2015/src/event.js +256 -0
  147. package/esm2015/src/interface-registry.js +41 -0
  148. package/esm2015/src/key-generator.js +108 -0
  149. package/esm2015/src/local-query-comparison-options.js +65 -0
  150. package/esm2015/src/mapping-context.js +411 -0
  151. package/esm2015/src/naming-convention.js +88 -0
  152. package/esm2015/src/observable-array.js +185 -0
  153. package/esm2015/src/predicate.js +1242 -0
  154. package/esm2015/src/primitive-array.js +87 -0
  155. package/esm2015/src/query-options.js +152 -0
  156. package/esm2015/src/relation-array.js +175 -0
  157. package/esm2015/src/save-options.js +41 -0
  158. package/esm2015/src/unattached-children-map.js +58 -0
  159. package/esm2015/src/validate.js +991 -0
  160. package/esm2015/src/validation-options.js +64 -0
  161. package/esm5/adapter-ajax-angularjs/adapter-ajax-angularjs.js +132 -0
  162. package/esm5/adapter-ajax-angularjs/adapter-core.js +49 -0
  163. package/esm5/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +5 -0
  164. package/esm5/adapter-ajax-fetch/adapter-ajax-fetch.js +132 -0
  165. package/esm5/adapter-ajax-fetch/adapter-core.js +49 -0
  166. package/esm5/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +5 -0
  167. package/esm5/adapter-ajax-httpclient/adapter-ajax-httpclient.js +139 -0
  168. package/esm5/adapter-ajax-httpclient/adapter-core.js +49 -0
  169. package/esm5/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +5 -0
  170. package/esm5/adapter-ajax-jquery/adapter-ajax-jquery.js +105 -0
  171. package/esm5/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +5 -0
  172. package/esm5/adapter-ajax-post/adapter-ajax-post.js +81 -0
  173. package/esm5/adapter-ajax-post/breeze-client-adapter-ajax-post.js +5 -0
  174. package/esm5/adapter-data-service-odata/adapter-core.js +49 -0
  175. package/{esm2022/adapter-data-service-odata/adapter-data-service-odata.mjs → esm5/adapter-data-service-odata/adapter-data-service-odata.js} +147 -138
  176. package/esm5/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +5 -0
  177. package/esm5/adapter-data-service-webapi/adapter-data-service-webapi.js +105 -0
  178. package/esm5/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +5 -0
  179. package/esm5/adapter-model-library-backing-store/adapter-model-library-backing-store.js +270 -0
  180. package/esm5/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +5 -0
  181. package/esm5/adapter-model-library-ko/adapter-model-library-ko.js +242 -0
  182. package/esm5/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +5 -0
  183. package/esm5/adapter-uri-builder-json/adapter-core.js +49 -0
  184. package/esm5/adapter-uri-builder-json/adapter-uri-builder-json.js +38 -0
  185. package/esm5/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +5 -0
  186. package/esm5/adapter-uri-builder-odata/adapter-core.js +49 -0
  187. package/esm5/adapter-uri-builder-odata/adapter-uri-builder-odata.js +197 -0
  188. package/esm5/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +5 -0
  189. package/esm5/breeze-client.js +9 -0
  190. package/esm5/index.js +2 -0
  191. package/esm5/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +5 -0
  192. package/esm5/mixin-get-entity-graph/mixin-get-entity-graph.js +269 -0
  193. package/esm5/mixin-save-queuing/breeze-client-mixin-save-queuing.js +5 -0
  194. package/esm5/mixin-save-queuing/mixin-save-queuing.js +412 -0
  195. package/esm5/src/abstract-data-service-adapter.js +333 -0
  196. package/esm5/src/array.js +4 -0
  197. package/esm5/src/assert-param.js +317 -0
  198. package/esm5/src/breeze.js +85 -0
  199. package/esm5/src/complex-array.js +119 -0
  200. package/esm5/src/config.js +228 -0
  201. package/esm5/src/core.js +722 -0
  202. package/esm5/src/csdl-metadata-parser.js +385 -0
  203. package/esm5/src/data-service.js +207 -0
  204. package/esm5/src/data-type.js +513 -0
  205. package/esm5/src/default-property-interceptor.js +460 -0
  206. package/esm5/src/entity-action.js +52 -0
  207. package/esm5/src/entity-aspect.js +810 -0
  208. package/esm5/src/entity-group.js +189 -0
  209. package/esm5/src/entity-key.js +118 -0
  210. package/esm5/src/entity-manager.js +2112 -0
  211. package/esm5/src/entity-metadata.js +2144 -0
  212. package/esm5/src/entity-query.js +1042 -0
  213. package/esm5/src/entity-state.js +114 -0
  214. package/esm5/src/enum.js +144 -0
  215. package/esm5/src/event.js +259 -0
  216. package/esm5/src/interface-registry.js +43 -0
  217. package/esm5/src/key-generator.js +111 -0
  218. package/esm5/src/local-query-comparison-options.js +67 -0
  219. package/esm5/src/mapping-context.js +413 -0
  220. package/esm5/src/naming-convention.js +90 -0
  221. package/esm5/src/observable-array.js +201 -0
  222. package/esm5/src/predicate.js +1307 -0
  223. package/esm5/src/primitive-array.js +87 -0
  224. package/esm5/src/query-options.js +167 -0
  225. package/esm5/src/relation-array.js +175 -0
  226. package/esm5/src/save-options.js +43 -0
  227. package/esm5/src/unattached-children-map.js +60 -0
  228. package/{esm2022/src/validate.mjs → esm5/src/validate.js} +110 -116
  229. package/esm5/src/validation-options.js +66 -0
  230. package/{fesm2022/breeze-client-adapter-ajax-angularjs.mjs → fesm2015/breeze-client-adapter-ajax-angularjs.js} +1 -6
  231. package/fesm2015/breeze-client-adapter-ajax-angularjs.js.map +1 -0
  232. package/{fesm2022/breeze-client-adapter-ajax-fetch.mjs → fesm2015/breeze-client-adapter-ajax-fetch.js} +4 -9
  233. package/fesm2015/breeze-client-adapter-ajax-fetch.js.map +1 -0
  234. package/{fesm2022/breeze-client-adapter-ajax-httpclient.mjs → fesm2015/breeze-client-adapter-ajax-httpclient.js} +4 -6
  235. package/fesm2015/breeze-client-adapter-ajax-httpclient.js.map +1 -0
  236. package/{fesm2022/breeze-client-adapter-ajax-jquery.mjs → fesm2015/breeze-client-adapter-ajax-jquery.js} +2 -6
  237. package/fesm2015/breeze-client-adapter-ajax-jquery.js.map +1 -0
  238. package/{fesm2022/breeze-client-adapter-ajax-post.mjs → fesm2015/breeze-client-adapter-ajax-post.js} +1 -1
  239. package/fesm2015/breeze-client-adapter-ajax-post.js.map +1 -0
  240. package/{fesm2022/breeze-client-adapter-data-service-odata.mjs → fesm2015/breeze-client-adapter-data-service-odata.js} +69 -68
  241. package/fesm2015/breeze-client-adapter-data-service-odata.js.map +1 -0
  242. package/{fesm2022/breeze-client-adapter-data-service-webapi.mjs → fesm2015/breeze-client-adapter-data-service-webapi.js} +30 -30
  243. package/fesm2015/breeze-client-adapter-data-service-webapi.js.map +1 -0
  244. package/{fesm2022/breeze-client-adapter-model-library-backing-store.mjs → fesm2015/breeze-client-adapter-model-library-backing-store.js} +13 -14
  245. package/fesm2015/breeze-client-adapter-model-library-backing-store.js.map +1 -0
  246. package/{fesm2022/breeze-client-adapter-model-library-ko.mjs → fesm2015/breeze-client-adapter-model-library-ko.js} +13 -14
  247. package/fesm2015/breeze-client-adapter-model-library-ko.js.map +1 -0
  248. package/{fesm2022/breeze-client-adapter-uri-builder-json.mjs → fesm2015/breeze-client-adapter-uri-builder-json.js} +8 -9
  249. package/fesm2015/breeze-client-adapter-uri-builder-json.js.map +1 -0
  250. package/{fesm2022/breeze-client-adapter-uri-builder-odata.mjs → fesm2015/breeze-client-adapter-uri-builder-odata.js} +86 -86
  251. package/fesm2015/breeze-client-adapter-uri-builder-odata.js.map +1 -0
  252. package/{fesm2022/breeze-client-mixin-get-entity-graph.mjs → fesm2015/breeze-client-mixin-get-entity-graph.js} +1 -1
  253. package/fesm2015/breeze-client-mixin-get-entity-graph.js.map +1 -0
  254. package/{fesm2022/breeze-client-mixin-save-queuing.mjs → fesm2015/breeze-client-mixin-save-queuing.js} +2 -23
  255. package/fesm2015/breeze-client-mixin-save-queuing.js.map +1 -0
  256. package/{fesm2022/breeze-client.mjs → fesm2015/breeze-client.js} +1543 -2042
  257. package/fesm2015/breeze-client.js.map +1 -0
  258. package/fesm5/breeze-client-adapter-ajax-angularjs.js +186 -0
  259. package/fesm5/breeze-client-adapter-ajax-angularjs.js.map +1 -0
  260. package/fesm5/breeze-client-adapter-ajax-fetch.js +186 -0
  261. package/fesm5/breeze-client-adapter-ajax-fetch.js.map +1 -0
  262. package/fesm5/breeze-client-adapter-ajax-httpclient.js +193 -0
  263. package/fesm5/breeze-client-adapter-ajax-httpclient.js.map +1 -0
  264. package/fesm5/breeze-client-adapter-ajax-jquery.js +111 -0
  265. package/fesm5/breeze-client-adapter-ajax-jquery.js.map +1 -0
  266. package/fesm5/breeze-client-adapter-ajax-post.js +86 -0
  267. package/fesm5/breeze-client-adapter-ajax-post.js.map +1 -0
  268. package/fesm5/breeze-client-adapter-data-service-odata.js +523 -0
  269. package/fesm5/breeze-client-adapter-data-service-odata.js.map +1 -0
  270. package/fesm5/breeze-client-adapter-data-service-webapi.js +111 -0
  271. package/fesm5/breeze-client-adapter-data-service-webapi.js.map +1 -0
  272. package/fesm5/breeze-client-adapter-model-library-backing-store.js +276 -0
  273. package/fesm5/breeze-client-adapter-model-library-backing-store.js.map +1 -0
  274. package/fesm5/breeze-client-adapter-model-library-ko.js +248 -0
  275. package/fesm5/breeze-client-adapter-model-library-ko.js.map +1 -0
  276. package/fesm5/breeze-client-adapter-uri-builder-json.js +92 -0
  277. package/fesm5/breeze-client-adapter-uri-builder-json.js.map +1 -0
  278. package/fesm5/breeze-client-adapter-uri-builder-odata.js +250 -0
  279. package/fesm5/breeze-client-adapter-uri-builder-odata.js.map +1 -0
  280. package/fesm5/breeze-client-mixin-get-entity-graph.js +254 -0
  281. package/fesm5/breeze-client-mixin-get-entity-graph.js.map +1 -0
  282. package/fesm5/breeze-client-mixin-save-queuing.js +356 -0
  283. package/fesm5/breeze-client-mixin-save-queuing.js.map +1 -0
  284. package/fesm5/breeze-client.js +13956 -0
  285. package/fesm5/breeze-client.js.map +1 -0
  286. package/mixin-get-entity-graph/{index.d.ts → breeze-client-mixin-get-entity-graph.d.ts} +0 -1
  287. package/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.metadata.json +1 -0
  288. package/mixin-get-entity-graph/package.json +13 -0
  289. package/mixin-save-queuing/{index.d.ts → breeze-client-mixin-save-queuing.d.ts} +0 -1
  290. package/mixin-save-queuing/breeze-client-mixin-save-queuing.metadata.json +1 -0
  291. package/mixin-save-queuing/package.json +13 -0
  292. package/package.json +12 -94
  293. package/src/config.d.ts +1 -1
  294. package/src/core.d.ts +1 -1
  295. package/src/entity-aspect.d.ts +1 -1
  296. package/src/entity-metadata.d.ts +6 -8
  297. package/src/entity-query.d.ts +1 -1
  298. package/esm2022/adapter-ajax-angularjs/adapter-ajax-angularjs.mjs +0 -135
  299. package/esm2022/adapter-ajax-angularjs/adapter-core.mjs +0 -49
  300. package/esm2022/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.mjs +0 -5
  301. package/esm2022/adapter-ajax-fetch/adapter-ajax-fetch.mjs +0 -135
  302. package/esm2022/adapter-ajax-fetch/adapter-core.mjs +0 -49
  303. package/esm2022/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.mjs +0 -5
  304. package/esm2022/adapter-ajax-httpclient/adapter-ajax-httpclient.mjs +0 -139
  305. package/esm2022/adapter-ajax-httpclient/adapter-core.mjs +0 -49
  306. package/esm2022/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.mjs +0 -5
  307. package/esm2022/adapter-ajax-jquery/adapter-ajax-jquery.mjs +0 -107
  308. package/esm2022/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.mjs +0 -5
  309. package/esm2022/adapter-ajax-post/adapter-ajax-post.mjs +0 -77
  310. package/esm2022/adapter-ajax-post/breeze-client-adapter-ajax-post.mjs +0 -5
  311. package/esm2022/adapter-data-service-odata/adapter-core.mjs +0 -49
  312. package/esm2022/adapter-data-service-odata/breeze-client-adapter-data-service-odata.mjs +0 -5
  313. package/esm2022/adapter-data-service-webapi/adapter-data-service-webapi.mjs +0 -100
  314. package/esm2022/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.mjs +0 -5
  315. package/esm2022/adapter-model-library-backing-store/adapter-model-library-backing-store.mjs +0 -269
  316. package/esm2022/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.mjs +0 -5
  317. package/esm2022/adapter-model-library-ko/adapter-model-library-ko.mjs +0 -241
  318. package/esm2022/adapter-model-library-ko/breeze-client-adapter-model-library-ko.mjs +0 -5
  319. package/esm2022/adapter-uri-builder-json/adapter-core.mjs +0 -49
  320. package/esm2022/adapter-uri-builder-json/adapter-uri-builder-json.mjs +0 -37
  321. package/esm2022/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.mjs +0 -5
  322. package/esm2022/adapter-uri-builder-odata/adapter-core.mjs +0 -49
  323. package/esm2022/adapter-uri-builder-odata/adapter-uri-builder-odata.mjs +0 -191
  324. package/esm2022/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.mjs +0 -5
  325. package/esm2022/breeze-client.mjs +0 -5
  326. package/esm2022/index.mjs +0 -2
  327. package/esm2022/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.mjs +0 -5
  328. package/esm2022/mixin-get-entity-graph/mixin-get-entity-graph.mjs +0 -269
  329. package/esm2022/mixin-save-queuing/breeze-client-mixin-save-queuing.mjs +0 -5
  330. package/esm2022/mixin-save-queuing/mixin-save-queuing.mjs +0 -421
  331. package/esm2022/src/abstract-data-service-adapter.mjs +0 -325
  332. package/esm2022/src/array.mjs +0 -4
  333. package/esm2022/src/assert-param.mjs +0 -330
  334. package/esm2022/src/breeze.mjs +0 -85
  335. package/esm2022/src/complex-array.mjs +0 -117
  336. package/esm2022/src/config.mjs +0 -232
  337. package/esm2022/src/core.mjs +0 -712
  338. package/esm2022/src/csdl-metadata-parser.mjs +0 -385
  339. package/esm2022/src/data-service.mjs +0 -239
  340. package/esm2022/src/data-type.mjs +0 -510
  341. package/esm2022/src/default-property-interceptor.mjs +0 -460
  342. package/esm2022/src/entity-aspect.mjs +0 -897
  343. package/esm2022/src/entity-group.mjs +0 -192
  344. package/esm2022/src/entity-key.mjs +0 -127
  345. package/esm2022/src/entity-manager.mjs +0 -2183
  346. package/esm2022/src/entity-metadata.mjs +0 -2242
  347. package/esm2022/src/entity-query.mjs +0 -1024
  348. package/esm2022/src/entity-state.mjs +0 -107
  349. package/esm2022/src/enum.mjs +0 -143
  350. package/esm2022/src/event.mjs +0 -264
  351. package/esm2022/src/interface-registry.mjs +0 -39
  352. package/esm2022/src/key-generator.mjs +0 -110
  353. package/esm2022/src/local-query-comparison-options.mjs +0 -75
  354. package/esm2022/src/mapping-context.mjs +0 -422
  355. package/esm2022/src/naming-convention.mjs +0 -96
  356. package/esm2022/src/observable-array.mjs +0 -183
  357. package/esm2022/src/predicate.mjs +0 -1259
  358. package/esm2022/src/primitive-array.mjs +0 -85
  359. package/esm2022/src/query-options.mjs +0 -160
  360. package/esm2022/src/relation-array.mjs +0 -173
  361. package/esm2022/src/save-options.mjs +0 -51
  362. package/esm2022/src/unattached-children-map.mjs +0 -56
  363. package/esm2022/src/validation-options.mjs +0 -78
  364. package/fesm2022/breeze-client-adapter-ajax-angularjs.mjs.map +0 -1
  365. package/fesm2022/breeze-client-adapter-ajax-fetch.mjs.map +0 -1
  366. package/fesm2022/breeze-client-adapter-ajax-httpclient.mjs.map +0 -1
  367. package/fesm2022/breeze-client-adapter-ajax-jquery.mjs.map +0 -1
  368. package/fesm2022/breeze-client-adapter-ajax-post.mjs.map +0 -1
  369. package/fesm2022/breeze-client-adapter-data-service-odata.mjs.map +0 -1
  370. package/fesm2022/breeze-client-adapter-data-service-webapi.mjs.map +0 -1
  371. package/fesm2022/breeze-client-adapter-model-library-backing-store.mjs.map +0 -1
  372. package/fesm2022/breeze-client-adapter-model-library-ko.mjs.map +0 -1
  373. package/fesm2022/breeze-client-adapter-uri-builder-json.mjs.map +0 -1
  374. package/fesm2022/breeze-client-adapter-uri-builder-odata.mjs.map +0 -1
  375. package/fesm2022/breeze-client-mixin-get-entity-graph.mjs.map +0 -1
  376. package/fesm2022/breeze-client-mixin-save-queuing.mjs.map +0 -1
  377. package/fesm2022/breeze-client.mjs.map +0 -1
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './adapter-data-service-odata';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlZXplLWNsaWVudC1hZGFwdGVyLWRhdGEtc2VydmljZS1vZGF0YS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2JyZWV6ZS1jbGllbnQvYWRhcHRlci1kYXRhLXNlcnZpY2Utb2RhdGEvIiwic291cmNlcyI6WyJicmVlemUtY2xpZW50LWFkYXB0ZXItZGF0YS1zZXJ2aWNlLW9kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9hZGFwdGVyLWRhdGEtc2VydmljZS1vZGF0YSc7XG4iXX0=
@@ -0,0 +1,105 @@
1
+ import { __extends } from "tslib";
2
+ import * as breeze from 'breeze-client';
3
+ // import { JsonResultsAdapter, KeyMapping } from './breeze';
4
+ /** @hidden */
5
+ var DataServiceWebApiAdapter = /** @class */ (function (_super) {
6
+ __extends(DataServiceWebApiAdapter, _super);
7
+ function DataServiceWebApiAdapter() {
8
+ var _this = _super.call(this) || this;
9
+ _this.jsonResultsAdapter = new breeze.JsonResultsAdapter({
10
+ name: "webApi_default",
11
+ visitNode: function (node, mappingContext, nodeContext) {
12
+ if (node == null)
13
+ return {};
14
+ var entityTypeName = breeze.MetadataStore.normalizeTypeName(node.$type);
15
+ var entityType = entityTypeName && mappingContext.entityManager.metadataStore.getEntityType(entityTypeName, true);
16
+ var propertyName = nodeContext.propertyName;
17
+ var ignore = propertyName && propertyName.substr(0, 1) === "$";
18
+ return {
19
+ entityType: entityType,
20
+ nodeId: node.$id,
21
+ nodeRefId: node.$ref,
22
+ ignore: ignore
23
+ };
24
+ }
25
+ });
26
+ _this.name = "webApi";
27
+ return _this;
28
+ }
29
+ DataServiceWebApiAdapter.register = function (config) {
30
+ config = config || breeze.config;
31
+ config.registerAdapter("dataService", DataServiceWebApiAdapter);
32
+ return config.initializeAdapterInstance("dataService", "webApi", true);
33
+ };
34
+ /** @hidden @internal */
35
+ DataServiceWebApiAdapter.prototype._prepareSaveBundle = function (saveContext, saveBundle) {
36
+ var changeRequestInterceptor = this._createChangeRequestInterceptor(saveContext, saveBundle);
37
+ var em = saveContext.entityManager;
38
+ var metadataStore = em.metadataStore;
39
+ var helper = em.helper;
40
+ var serSaveBundle = {};
41
+ serSaveBundle.entities = saveBundle.entities.map(function (e, ix) {
42
+ var rawEntity = helper.unwrapInstance(e, transformValue);
43
+ var autoGeneratedKey;
44
+ if (e.entityType.autoGeneratedKeyType !== breeze.AutoGeneratedKeyType.None) {
45
+ autoGeneratedKey = {
46
+ propertyName: e.entityType.keyProperties[0].nameOnServer,
47
+ autoGeneratedKeyType: e.entityType.autoGeneratedKeyType.name
48
+ };
49
+ }
50
+ var originalValuesOnServer = helper.unwrapOriginalValues(e, metadataStore);
51
+ rawEntity.entityAspect = {
52
+ entityTypeName: e.entityType.name,
53
+ defaultResourceName: e.entityType.defaultResourceName,
54
+ entityState: e.entityAspect.entityState.name,
55
+ originalValuesMap: originalValuesOnServer,
56
+ autoGeneratedKey: autoGeneratedKey
57
+ };
58
+ rawEntity = changeRequestInterceptor.getRequest(rawEntity, e, ix);
59
+ return rawEntity;
60
+ });
61
+ serSaveBundle.saveOptions = { tag: saveBundle.saveOptions.tag };
62
+ changeRequestInterceptor.done(serSaveBundle.entities);
63
+ return serSaveBundle;
64
+ };
65
+ /** @hidden @internal */
66
+ DataServiceWebApiAdapter.prototype._prepareSaveResult = function (saveContext, data) {
67
+ // use the jsonResultAdapter to extractResults and extractKeyMappings
68
+ var jra = saveContext.dataService.jsonResultsAdapter || this.jsonResultsAdapter;
69
+ var entities = jra.extractSaveResults(data) || [];
70
+ var keyMappings = jra.extractKeyMappings(data) || [];
71
+ var deletedKeys = jra.extractDeletedKeys ? (jra.extractDeletedKeys(data)) || [] : [];
72
+ if (keyMappings.length) {
73
+ // HACK: need to change the 'case' of properties in the saveResult
74
+ // but KeyMapping properties internally are still ucase. ugh...
75
+ keyMappings = keyMappings.map(function (km) {
76
+ if (km.entityTypeName)
77
+ return km; // it's already lower case
78
+ var kmHack = km;
79
+ var entityTypeName = breeze.MetadataStore.normalizeTypeName(kmHack.EntityTypeName);
80
+ return { entityTypeName: entityTypeName, tempValue: kmHack.TempValue, realValue: kmHack.RealValue };
81
+ });
82
+ }
83
+ if (deletedKeys.length) {
84
+ deletedKeys = deletedKeys.map(function (dk) {
85
+ if (dk.entityTypeName)
86
+ return dk; // it's already lower case
87
+ var entityTypeName = breeze.MetadataStore.normalizeTypeName(dk.EntityTypeName);
88
+ // NOTE the dk.KeyValue => keyValues transition - needed because we are deserializing an .NET EntityKey
89
+ return { entityTypeName: entityTypeName, keyValues: dk.KeyValue };
90
+ });
91
+ }
92
+ return { entities: entities, keyMappings: keyMappings, deletedKeys: deletedKeys };
93
+ };
94
+ return DataServiceWebApiAdapter;
95
+ }(breeze.AbstractDataServiceAdapter));
96
+ export { DataServiceWebApiAdapter };
97
+ /** Transform data properties while unwrapping entities before save */
98
+ function transformValue(prop, val) {
99
+ if (prop.dataType === breeze.DataType.DateOnly) {
100
+ val = breeze.DataType.toDateOnlyString(val);
101
+ }
102
+ return val;
103
+ }
104
+ breeze.config.registerAdapter("dataService", DataServiceWebApiAdapter);
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRlci1kYXRhLXNlcnZpY2Utd2ViYXBpLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYnJlZXplLWNsaWVudC9hZGFwdGVyLWRhdGEtc2VydmljZS13ZWJhcGkvIiwic291cmNlcyI6WyJhZGFwdGVyLWRhdGEtc2VydmljZS13ZWJhcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLDZEQUE2RDtBQUU3RCxjQUFjO0FBQ2Q7SUFBOEMsNENBQWlDO0lBRTdFO1FBQUEsWUFDRSxpQkFBTyxTQUVSO1FBMkVELHdCQUFrQixHQUE4QixJQUFJLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQztZQUU1RSxJQUFJLEVBQUUsZ0JBQWdCO1lBRXRCLFNBQVMsRUFBRSxVQUFVLElBQVMsRUFBRSxjQUFxQyxFQUFFLFdBQStCO2dCQUNwRyxJQUFJLElBQUksSUFBSSxJQUFJO29CQUFFLE9BQU8sRUFBRSxDQUFDO2dCQUM1QixJQUFJLGNBQWMsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDeEUsSUFBSSxVQUFVLEdBQUcsY0FBYyxJQUFJLGNBQWMsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ2xILElBQUksWUFBWSxHQUFHLFdBQVcsQ0FBQyxZQUFZLENBQUM7Z0JBQzVDLElBQUksTUFBTSxHQUFHLFlBQVksSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUM7Z0JBRS9ELE9BQU87b0JBQ0wsVUFBVSxFQUFFLFVBQVU7b0JBQ3RCLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRztvQkFDaEIsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJO29CQUNwQixNQUFNLEVBQUUsTUFBTTtpQkFDUixDQUFDO1lBQ1gsQ0FBQztT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V0FBVyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUVwRixDQUFDO0lBdUJILCtCQUFDO0FBQUQsQ0FBQyxBQXJHRCxDQUE4QyxNQUFNLENBQUMsMEJBQTBCLEdBcUc5RTs7QUFFRCxzRUFBc0U7QUFDdEUsU0FBUyxjQUFjLENBQUMsSUFBeUIsRUFBRSxHQUFRO0lBQ3pELElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRTtRQUM5QyxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUM3QztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUdELE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYnJlZXplIGZyb20gJ2JyZWV6ZS1jbGllbnQnO1xyXG4vLyBpbXBvcnQgeyBKc29uUmVzdWx0c0FkYXB0ZXIsIEtleU1hcHBpbmcgfSBmcm9tICcuL2JyZWV6ZSc7XHJcblxyXG4vKiogQGhpZGRlbiAqL1xyXG5leHBvcnQgY2xhc3MgRGF0YVNlcnZpY2VXZWJBcGlBZGFwdGVyIGV4dGVuZHMgYnJlZXplLkFic3RyYWN0RGF0YVNlcnZpY2VBZGFwdGVyIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5uYW1lID0gXCJ3ZWJBcGlcIjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyByZWdpc3Rlcihjb25maWc/OiBicmVlemUuQnJlZXplQ29uZmlnKSB7XHJcbiAgICBjb25maWcgPSBjb25maWcgfHwgYnJlZXplLmNvbmZpZztcclxuICAgIGNvbmZpZy5yZWdpc3RlckFkYXB0ZXIoXCJkYXRhU2VydmljZVwiLCBEYXRhU2VydmljZVdlYkFwaUFkYXB0ZXIpO1xyXG4gICAgcmV0dXJuIGNvbmZpZy5pbml0aWFsaXplQWRhcHRlckluc3RhbmNlKFwiZGF0YVNlcnZpY2VcIiwgXCJ3ZWJBcGlcIiwgdHJ1ZSkgYXMgRGF0YVNlcnZpY2VXZWJBcGlBZGFwdGVyO1xyXG4gIH1cclxuXHJcbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXHJcbiAgX3ByZXBhcmVTYXZlQnVuZGxlKHNhdmVDb250ZXh0OiBicmVlemUuU2F2ZUNvbnRleHQsIHNhdmVCdW5kbGU6IGJyZWV6ZS5TYXZlQnVuZGxlKSB7XHJcbiAgICBsZXQgY2hhbmdlUmVxdWVzdEludGVyY2VwdG9yID0gdGhpcy5fY3JlYXRlQ2hhbmdlUmVxdWVzdEludGVyY2VwdG9yKHNhdmVDb250ZXh0LCBzYXZlQnVuZGxlKTtcclxuICAgIGxldCBlbSA9IHNhdmVDb250ZXh0LmVudGl0eU1hbmFnZXI7XHJcbiAgICBsZXQgbWV0YWRhdGFTdG9yZSA9IGVtLm1ldGFkYXRhU3RvcmU7XHJcbiAgICBsZXQgaGVscGVyID0gZW0uaGVscGVyO1xyXG4gICAgbGV0IHNlclNhdmVCdW5kbGU6IGFueSA9IHt9O1xyXG4gICAgc2VyU2F2ZUJ1bmRsZS5lbnRpdGllcyA9IHNhdmVCdW5kbGUuZW50aXRpZXMubWFwKGZ1bmN0aW9uIChlLCBpeCkge1xyXG4gICAgICBsZXQgcmF3RW50aXR5ID0gaGVscGVyLnVud3JhcEluc3RhbmNlKGUsIHRyYW5zZm9ybVZhbHVlKTtcclxuXHJcbiAgICAgIGxldCBhdXRvR2VuZXJhdGVkS2V5OiBPYmplY3QgfCB1bmRlZmluZWQ7XHJcbiAgICAgIGlmIChlLmVudGl0eVR5cGUuYXV0b0dlbmVyYXRlZEtleVR5cGUgIT09IGJyZWV6ZS5BdXRvR2VuZXJhdGVkS2V5VHlwZS5Ob25lKSB7XHJcbiAgICAgICAgYXV0b0dlbmVyYXRlZEtleSA9IHtcclxuICAgICAgICAgIHByb3BlcnR5TmFtZTogZS5lbnRpdHlUeXBlLmtleVByb3BlcnRpZXNbMF0ubmFtZU9uU2VydmVyLFxyXG4gICAgICAgICAgYXV0b0dlbmVyYXRlZEtleVR5cGU6IGUuZW50aXR5VHlwZS5hdXRvR2VuZXJhdGVkS2V5VHlwZS5uYW1lXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG5cclxuICAgICAgbGV0IG9yaWdpbmFsVmFsdWVzT25TZXJ2ZXIgPSBoZWxwZXIudW53cmFwT3JpZ2luYWxWYWx1ZXMoZSwgbWV0YWRhdGFTdG9yZSk7XHJcbiAgICAgIHJhd0VudGl0eS5lbnRpdHlBc3BlY3QgPSB7XHJcbiAgICAgICAgZW50aXR5VHlwZU5hbWU6IGUuZW50aXR5VHlwZS5uYW1lLFxyXG4gICAgICAgIGRlZmF1bHRSZXNvdXJjZU5hbWU6IGUuZW50aXR5VHlwZS5kZWZhdWx0UmVzb3VyY2VOYW1lLFxyXG4gICAgICAgIGVudGl0eVN0YXRlOiBlLmVudGl0eUFzcGVjdC5lbnRpdHlTdGF0ZS5uYW1lLFxyXG4gICAgICAgIG9yaWdpbmFsVmFsdWVzTWFwOiBvcmlnaW5hbFZhbHVlc09uU2VydmVyLFxyXG4gICAgICAgIGF1dG9HZW5lcmF0ZWRLZXk6IGF1dG9HZW5lcmF0ZWRLZXlcclxuICAgICAgfTtcclxuICAgICAgcmF3RW50aXR5ID0gY2hhbmdlUmVxdWVzdEludGVyY2VwdG9yLmdldFJlcXVlc3QocmF3RW50aXR5LCBlLCBpeCk7XHJcbiAgICAgIHJldHVybiByYXdFbnRpdHk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBzZXJTYXZlQnVuZGxlLnNhdmVPcHRpb25zID0geyB0YWc6IHNhdmVCdW5kbGUuc2F2ZU9wdGlvbnMudGFnIH07XHJcbiAgICBjaGFuZ2VSZXF1ZXN0SW50ZXJjZXB0b3IuZG9uZShzZXJTYXZlQnVuZGxlLmVudGl0aWVzKTtcclxuICAgIHJldHVybiBzZXJTYXZlQnVuZGxlO1xyXG4gIH1cclxuXHJcbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXHJcbiAgX3ByZXBhcmVTYXZlUmVzdWx0KHNhdmVDb250ZXh0OiBicmVlemUuU2F2ZUNvbnRleHQsIGRhdGE6IGFueSkge1xyXG4gICAgLy8gdXNlIHRoZSBqc29uUmVzdWx0QWRhcHRlciB0byBleHRyYWN0UmVzdWx0cyBhbmQgZXh0cmFjdEtleU1hcHBpbmdzXHJcbiAgICBsZXQganJhID0gc2F2ZUNvbnRleHQuZGF0YVNlcnZpY2UuanNvblJlc3VsdHNBZGFwdGVyIHx8IHRoaXMuanNvblJlc3VsdHNBZGFwdGVyO1xyXG4gICAgbGV0IGVudGl0aWVzID0ganJhLmV4dHJhY3RTYXZlUmVzdWx0cyhkYXRhKSB8fCBbXTtcclxuICAgIGxldCBrZXlNYXBwaW5nczogYnJlZXplLktleU1hcHBpbmdbXSA9IGpyYS5leHRyYWN0S2V5TWFwcGluZ3MoZGF0YSkgfHwgW107XHJcbiAgICBsZXQgZGVsZXRlZEtleXMgPSBqcmEuZXh0cmFjdERlbGV0ZWRLZXlzID8gKGpyYS5leHRyYWN0RGVsZXRlZEtleXMoZGF0YSkpIHx8IFtdIDogW107XHJcblxyXG4gICAgaWYgKGtleU1hcHBpbmdzLmxlbmd0aCkge1xyXG4gICAgICAvLyBIQUNLOiBuZWVkIHRvIGNoYW5nZSB0aGUgJ2Nhc2UnIG9mIHByb3BlcnRpZXMgaW4gdGhlIHNhdmVSZXN1bHRcclxuICAgICAgLy8gYnV0IEtleU1hcHBpbmcgcHJvcGVydGllcyBpbnRlcm5hbGx5IGFyZSBzdGlsbCB1Y2FzZS4gdWdoLi4uXHJcbiAgICAgIGtleU1hcHBpbmdzID0ga2V5TWFwcGluZ3MubWFwKGZ1bmN0aW9uIChrbSkge1xyXG4gICAgICAgIGlmIChrbS5lbnRpdHlUeXBlTmFtZSkgcmV0dXJuIGttOyAvLyBpdCdzIGFscmVhZHkgbG93ZXIgY2FzZVxyXG4gICAgICAgIGxldCBrbUhhY2sgPSBrbSBhcyBhbnk7XHJcbiAgICAgICAgbGV0IGVudGl0eVR5cGVOYW1lID0gYnJlZXplLk1ldGFkYXRhU3RvcmUubm9ybWFsaXplVHlwZU5hbWUoa21IYWNrLkVudGl0eVR5cGVOYW1lKTtcclxuICAgICAgICByZXR1cm4geyBlbnRpdHlUeXBlTmFtZTogZW50aXR5VHlwZU5hbWUsIHRlbXBWYWx1ZToga21IYWNrLlRlbXBWYWx1ZSwgcmVhbFZhbHVlOiBrbUhhY2suUmVhbFZhbHVlIH07XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChkZWxldGVkS2V5cy5sZW5ndGgpIHtcclxuICAgICAgZGVsZXRlZEtleXMgPSBkZWxldGVkS2V5cy5tYXAoZnVuY3Rpb24gKGRrKSB7XHJcbiAgICAgICAgaWYgKGRrLmVudGl0eVR5cGVOYW1lKSByZXR1cm4gZGs7IC8vIGl0J3MgYWxyZWFkeSBsb3dlciBjYXNlXHJcbiAgICAgICAgbGV0IGVudGl0eVR5cGVOYW1lID0gYnJlZXplLk1ldGFkYXRhU3RvcmUubm9ybWFsaXplVHlwZU5hbWUoZGsuRW50aXR5VHlwZU5hbWUpO1xyXG4gICAgICAgIC8vIE5PVEUgdGhlIGRrLktleVZhbHVlID0+IGtleVZhbHVlcyB0cmFuc2l0aW9uIC0gbmVlZGVkIGJlY2F1c2Ugd2UgYXJlIGRlc2VyaWFsaXppbmcgYW4gLk5FVCBFbnRpdHlLZXlcclxuICAgICAgICByZXR1cm4geyBlbnRpdHlUeXBlTmFtZTogZW50aXR5VHlwZU5hbWUsIGtleVZhbHVlczogZGsuS2V5VmFsdWUgfTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHsgZW50aXRpZXM6IGVudGl0aWVzLCBrZXlNYXBwaW5nczoga2V5TWFwcGluZ3MsIGRlbGV0ZWRLZXlzOiBkZWxldGVkS2V5cyB9O1xyXG5cclxuICB9XHJcblxyXG4gIGpzb25SZXN1bHRzQWRhcHRlcjogYnJlZXplLkpzb25SZXN1bHRzQWRhcHRlciA9IG5ldyBicmVlemUuSnNvblJlc3VsdHNBZGFwdGVyKHtcclxuXHJcbiAgICBuYW1lOiBcIndlYkFwaV9kZWZhdWx0XCIsXHJcblxyXG4gICAgdmlzaXROb2RlOiBmdW5jdGlvbiAobm9kZTogYW55LCBtYXBwaW5nQ29udGV4dDogYnJlZXplLk1hcHBpbmdDb250ZXh0LCBub2RlQ29udGV4dDogYnJlZXplLk5vZGVDb250ZXh0KSB7XHJcbiAgICAgIGlmIChub2RlID09IG51bGwpIHJldHVybiB7fTtcclxuICAgICAgbGV0IGVudGl0eVR5cGVOYW1lID0gYnJlZXplLk1ldGFkYXRhU3RvcmUubm9ybWFsaXplVHlwZU5hbWUobm9kZS4kdHlwZSk7XHJcbiAgICAgIGxldCBlbnRpdHlUeXBlID0gZW50aXR5VHlwZU5hbWUgJiYgbWFwcGluZ0NvbnRleHQuZW50aXR5TWFuYWdlci5tZXRhZGF0YVN0b3JlLmdldEVudGl0eVR5cGUoZW50aXR5VHlwZU5hbWUsIHRydWUpO1xyXG4gICAgICBsZXQgcHJvcGVydHlOYW1lID0gbm9kZUNvbnRleHQucHJvcGVydHlOYW1lO1xyXG4gICAgICBsZXQgaWdub3JlID0gcHJvcGVydHlOYW1lICYmIHByb3BlcnR5TmFtZS5zdWJzdHIoMCwgMSkgPT09IFwiJFwiO1xyXG5cclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBlbnRpdHlUeXBlOiBlbnRpdHlUeXBlLFxyXG4gICAgICAgIG5vZGVJZDogbm9kZS4kaWQsXHJcbiAgICAgICAgbm9kZVJlZklkOiBub2RlLiRyZWYsXHJcbiAgICAgICAgaWdub3JlOiBpZ25vcmVcclxuICAgICAgfSBhcyBhbnk7XHJcbiAgICB9XHJcblxyXG4gIH0pO1xyXG5cclxufVxyXG5cclxuLyoqIFRyYW5zZm9ybSBkYXRhIHByb3BlcnRpZXMgd2hpbGUgdW53cmFwcGluZyBlbnRpdGllcyBiZWZvcmUgc2F2ZSAqL1xyXG5mdW5jdGlvbiB0cmFuc2Zvcm1WYWx1ZShwcm9wOiBicmVlemUuRGF0YVByb3BlcnR5LCB2YWw6IGFueSkge1xyXG4gIGlmIChwcm9wLmRhdGFUeXBlID09PSBicmVlemUuRGF0YVR5cGUuRGF0ZU9ubHkpIHtcclxuICAgIHZhbCA9IGJyZWV6ZS5EYXRhVHlwZS50b0RhdGVPbmx5U3RyaW5nKHZhbCk7XHJcbiAgfVxyXG4gIHJldHVybiB2YWw7XHJcbn1cclxuXHJcblxyXG5icmVlemUuY29uZmlnLnJlZ2lzdGVyQWRhcHRlcihcImRhdGFTZXJ2aWNlXCIsIERhdGFTZXJ2aWNlV2ViQXBpQWRhcHRlcik7XHJcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './adapter-data-service-webapi';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlZXplLWNsaWVudC1hZGFwdGVyLWRhdGEtc2VydmljZS13ZWJhcGkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9icmVlemUtY2xpZW50L2FkYXB0ZXItZGF0YS1zZXJ2aWNlLXdlYmFwaS8iLCJzb3VyY2VzIjpbImJyZWV6ZS1jbGllbnQtYWRhcHRlci1kYXRhLXNlcnZpY2Utd2ViYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9hZGFwdGVyLWRhdGEtc2VydmljZS13ZWJhcGknO1xuIl19
@@ -0,0 +1,270 @@
1
+ import * as breeze from 'breeze-client';
2
+ var core = breeze.core;
3
+ var ModelLibraryBackingStoreAdapter = /** @class */ (function () {
4
+ function ModelLibraryBackingStoreAdapter() {
5
+ this.name = "backingStore";
6
+ }
7
+ ModelLibraryBackingStoreAdapter.register = function (config) {
8
+ config = config || breeze.config;
9
+ config.registerAdapter("modelLibrary", ModelLibraryBackingStoreAdapter);
10
+ return config.initializeAdapterInstance("modelLibrary", "backingStore", true);
11
+ };
12
+ ModelLibraryBackingStoreAdapter.prototype.initialize = function () {
13
+ };
14
+ ModelLibraryBackingStoreAdapter.prototype.getTrackablePropertyNames = function (entity) {
15
+ var names = [];
16
+ for (var p in entity) {
17
+ if (p === "entityAspect" || p === "entityType")
18
+ continue;
19
+ if (p === "_$typeName" || p === "_pendingSets" || p === "_backingStore")
20
+ continue;
21
+ var val = entity[p];
22
+ if (!core.isFunction(val)) {
23
+ names.push(p);
24
+ }
25
+ }
26
+ return names;
27
+ };
28
+ // This method is called during Metadata initialization
29
+ ModelLibraryBackingStoreAdapter.prototype.initializeEntityPrototype = function (proto) {
30
+ proto.getProperty = function (propertyName) {
31
+ return this[propertyName];
32
+ };
33
+ proto.setProperty = function (propertyName, value) {
34
+ //if (!this._backingStore.hasOwnProperty(propertyName)) {
35
+ // throw new Error("Unknown property name:" + propertyName);
36
+ //}
37
+ this[propertyName] = value;
38
+ // allow setProperty chaining.
39
+ return this;
40
+ };
41
+ movePropDefsToProto(proto);
42
+ };
43
+ // This method is called when an EntityAspect is first created - this will occur as part of the entityType.createEntity call.
44
+ // which can be called either directly or via standard query materialization
45
+ // entity is either an entity or a complexObject
46
+ ModelLibraryBackingStoreAdapter.prototype.startTracking = function (entity, proto) {
47
+ // can't touch the normal property sets within this method - access the backingStore directly instead.
48
+ var bs = movePropsToBackingStore(entity);
49
+ // assign default values to the entity
50
+ var stype = breeze.EntityAspect.isEntity(entity) ? entity.entityType : entity.complexType;
51
+ stype.getProperties().forEach(function (prop) {
52
+ var propName = prop.name;
53
+ var val = entity[propName];
54
+ if (prop instanceof breeze.DataProperty) {
55
+ if (prop.isComplexProperty) {
56
+ if (prop.isScalar) {
57
+ val = prop.dataType._createInstanceCore(entity, prop);
58
+ }
59
+ else {
60
+ val = breeze.makeComplexArray([], entity, prop);
61
+ }
62
+ }
63
+ else if (!prop.isScalar) {
64
+ val = breeze.makePrimitiveArray([], entity, prop);
65
+ }
66
+ else if (val === undefined) {
67
+ val = prop.defaultValue;
68
+ }
69
+ }
70
+ else if (prop.isNavigationProperty) {
71
+ if (val !== undefined && val !== null) {
72
+ throw new Error("Cannot assign a navigation property in an entity ctor.: " + propName);
73
+ }
74
+ if (prop.isScalar) {
75
+ // TODO: change this to nullstob later.
76
+ val = null;
77
+ }
78
+ else {
79
+ val = breeze.makeRelationArray([], entity, prop);
80
+ }
81
+ }
82
+ else {
83
+ throw new Error("unknown property: " + propName);
84
+ }
85
+ // can't touch the normal property sets within this method (IE9 Bug) - so we access the backingStore directly instead.
86
+ // otherwise we could just do
87
+ // entity[propName] = val
88
+ // after all of the interception logic had been injected.
89
+ if (prop.isSettable || prop.isNavigationProperty) {
90
+ bs[propName] = val;
91
+ }
92
+ });
93
+ };
94
+ return ModelLibraryBackingStoreAdapter;
95
+ }());
96
+ export { ModelLibraryBackingStoreAdapter };
97
+ breeze.config.registerAdapter("modelLibrary", ModelLibraryBackingStoreAdapter);
98
+ // private methods
99
+ // This method is called during Metadata initialization to correctly "wrap" properties.
100
+ function movePropDefsToProto(proto) {
101
+ var stype = (proto.entityType || proto.complexType);
102
+ var extra = stype._extra;
103
+ var alreadyWrapped = extra.alreadyWrappedProps || {};
104
+ stype.getProperties().forEach(function (prop) {
105
+ var propName = prop.name;
106
+ // we only want to wrap props that haven't already been wrapped
107
+ if (alreadyWrapped[propName])
108
+ return;
109
+ // If property is already defined on the prototype then wrap it in another propertyDescriptor.
110
+ // otherwise create a propDescriptor for it.
111
+ var descr;
112
+ if (propName in proto) {
113
+ descr = wrapPropDescription(proto, prop);
114
+ }
115
+ else {
116
+ descr = makePropDescription(proto, prop);
117
+ }
118
+ // descr will be null for a wrapped descr that is not configurable
119
+ if (descr != null) {
120
+ Object.defineProperty(proto, propName, descr);
121
+ }
122
+ alreadyWrapped[propName] = true;
123
+ });
124
+ extra.alreadyWrappedProps = alreadyWrapped;
125
+ }
126
+ // This method is called when an instance is first created via materialization or createEntity.
127
+ // this method cannot be called while a 'defineProperty' accessor is executing
128
+ // because of IE bug mentioned above.
129
+ function movePropsToBackingStore(instance) {
130
+ var bs = getBackingStore(instance);
131
+ var proto = Object.getPrototypeOf(instance);
132
+ var stype = (proto.entityType || proto.complexType);
133
+ stype.getProperties().forEach(function (prop) {
134
+ var propName = prop.name;
135
+ if (prop.isUnmapped) {
136
+ // insure that any unmapped properties that were added after entityType
137
+ // was first created are wrapped with a property descriptor.
138
+ if (!core.getPropertyDescriptor(proto, propName)) {
139
+ var descr = makePropDescription(proto, prop);
140
+ Object.defineProperty(proto, propName, descr);
141
+ }
142
+ }
143
+ if (!instance.hasOwnProperty(propName))
144
+ return;
145
+ // pulls off the value, removes the instance property and then rewrites it via ES5 accessor
146
+ var value = instance[propName];
147
+ delete instance[propName];
148
+ instance[propName] = value;
149
+ });
150
+ return bs;
151
+ }
152
+ function makePropDescription(proto, property) {
153
+ var propName = property.name;
154
+ var pendingStores = proto._pendingBackingStores;
155
+ if (!pendingStores) {
156
+ pendingStores = [];
157
+ proto._pendingBackingStores = pendingStores;
158
+ }
159
+ var descr = {
160
+ get: function () {
161
+ var bs = this._backingStore || getBackingStore(this);
162
+ return bs[propName];
163
+ },
164
+ set: function (value) {
165
+ // IE9 cannot touch instance._backingStore here
166
+ var bs = this._backingStore || getPendingBackingStore(this);
167
+ var accessorFn = getAccessorFn(bs, propName);
168
+ this._$interceptor(property, value, accessorFn);
169
+ },
170
+ enumerable: true,
171
+ configurable: true
172
+ };
173
+ descr.set.rawSet = function (value) {
174
+ var bs = this._backingStore || getPendingBackingStore(this);
175
+ var accessorFn = getAccessorFn(bs, propName);
176
+ accessorFn(value);
177
+ };
178
+ return descr;
179
+ }
180
+ function getAccessorFn(bs, propName) {
181
+ return function () {
182
+ if (arguments.length === 0) {
183
+ return bs[propName];
184
+ }
185
+ else {
186
+ bs[propName] = arguments[0];
187
+ return undefined;
188
+ }
189
+ };
190
+ }
191
+ function wrapPropDescription(proto, property) {
192
+ if (!proto.hasOwnProperty(property.name)) {
193
+ var nextProto = Object.getPrototypeOf(proto);
194
+ return wrapPropDescription(nextProto, property);
195
+ }
196
+ var propDescr = Object.getOwnPropertyDescriptor(proto, property.name);
197
+ if (!propDescr)
198
+ return undefined;
199
+ // if not configurable; we can't touch it - so leave.
200
+ if (!propDescr.configurable)
201
+ return undefined;
202
+ // if a data descriptor - don't change it - this is basically a static property - i.e. defined on every instance of the type with the same value.
203
+ if (propDescr.value)
204
+ return undefined;
205
+ // if a read only property descriptor - no need to change it.
206
+ if (!propDescr.set)
207
+ return undefined;
208
+ var localAccessorFn = function (entity) {
209
+ return function () {
210
+ if (!propDescr)
211
+ return undefined;
212
+ if (arguments.length === 0) {
213
+ return propDescr.get.bind(entity)();
214
+ }
215
+ else {
216
+ var set = propDescr.set;
217
+ var rawSet = set.rawSet || set;
218
+ rawSet.bind(entity)(arguments[0]);
219
+ return undefined;
220
+ }
221
+ };
222
+ };
223
+ var newDescr = {
224
+ get: function () {
225
+ if (!propDescr)
226
+ return undefined;
227
+ return propDescr.get.bind(this)();
228
+ },
229
+ set: function (value) {
230
+ this._$interceptor(property, value, localAccessorFn(this));
231
+ },
232
+ enumerable: propDescr.enumerable,
233
+ configurable: true
234
+ };
235
+ newDescr.set.rawSet = propDescr.set;
236
+ return newDescr;
237
+ }
238
+ function getBackingStore(instance) {
239
+ var proto = Object.getPrototypeOf(instance);
240
+ processPendingStores(proto);
241
+ var bs = instance._backingStore;
242
+ if (!bs) {
243
+ bs = {};
244
+ instance._backingStore = bs;
245
+ }
246
+ return bs;
247
+ }
248
+ // workaround for IE9 bug where instance properties cannot be changed when executing a property 'set' method.
249
+ function getPendingBackingStore(instance) {
250
+ var proto = Object.getPrototypeOf(instance);
251
+ var pendingStores = proto._pendingBackingStores;
252
+ var pending = core.arrayFirst(pendingStores, function (pending) {
253
+ return pending.entity === instance;
254
+ });
255
+ if (pending)
256
+ return pending.backingStore;
257
+ var bs = {};
258
+ pendingStores.push({ entity: instance, backingStore: bs });
259
+ return bs;
260
+ }
261
+ function processPendingStores(proto) {
262
+ var pendingStores = proto._pendingBackingStores;
263
+ if (pendingStores) {
264
+ pendingStores.forEach(function (pending) {
265
+ pending.entity._backingStore = pending.backingStore;
266
+ });
267
+ pendingStores.length = 0;
268
+ }
269
+ }
270
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRlci1tb2RlbC1saWJyYXJ5LWJhY2tpbmctc3RvcmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9icmVlemUtY2xpZW50L2FkYXB0ZXItbW9kZWwtbGlicmFyeS1iYWNraW5nLXN0b3JlLyIsInNvdXJjZXMiOlsiYWRhcHRlci1tb2RlbC1saWJyYXJ5LWJhY2tpbmctc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUM7QUFFeEMsSUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztBQUV2QjtJQUdFO1FBQ0UsSUFBSSxDQUFDLElBQUksR0FBRyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVNLHdDQUFRLEdBQWYsVUFBZ0IsTUFBNEI7UUFDMUMsTUFBTSxHQUFHLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQ2pDLE1BQU0sQ0FBQyxlQUFlLENBQUMsY0FBYyxFQUFFLCtCQUErQixDQUFDLENBQUM7UUFDeEUsT0FBTyxNQUFNLENBQUMseUJBQXlCLENBQUMsY0FBYyxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQW9DLENBQUM7SUFDbkgsQ0FBQztJQUVELG9EQUFVLEdBQVY7SUFDQSxDQUFDO0lBRUQsbUVBQXlCLEdBQXpCLFVBQTBCLE1BQXFCO1FBQzdDLElBQUksS0FBSyxHQUFhLEVBQUUsQ0FBQztRQUN6QixLQUFLLElBQUksQ0FBQyxJQUFJLE1BQU0sRUFBRTtZQUNwQixJQUFJLENBQUMsS0FBSyxjQUFjLElBQUksQ0FBQyxLQUFLLFlBQVk7Z0JBQUUsU0FBUztZQUN6RCxJQUFJLENBQUMsS0FBSyxZQUFZLElBQUksQ0FBQyxLQUFLLGNBQWMsSUFBSSxDQUFDLEtBQUssZUFBZTtnQkFBRSxTQUFTO1lBQ2xGLElBQUksR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFB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R0FBRyxFQUFFLENBQUM7S0FDN0I7SUFDRCxPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUM7QUFFRCw2R0FBNkc7QUFDN0csU0FBUyxzQkFBc0IsQ0FBQyxRQUFhO0lBQzNDLElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUMsSUFBSSxhQUFhLEdBQUcsS0FBSyxDQUFDLHFCQUFxQixDQUFDO0lBQ2hELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFVBQVUsT0FBTztRQUM1RCxPQUFPLE9BQU8sQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDO0lBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ0gsSUFBSSxPQUFPO1FBQUUsT0FBUSxPQUFlLENBQUMsWUFBWSxDQUFDO0lBQ2xELElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNaLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzNELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQztBQUVELFNBQVMsb0JBQW9CLENBQUMsS0FBVTtJQUN0QyxJQUFJLGFBQWEsR0FBRyxLQUFLLENBQUMscUJBQXFCLENBQUM7SUFDaEQsSUFBSSxhQUFhLEVBQUU7UUFDakIsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLE9BQVk7WUFDMUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztRQUNILGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0tBQzFCO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGJyZWV6ZSBmcm9tICdicmVlemUtY2xpZW50JztcclxuXHJcbmxldCBjb3JlID0gYnJlZXplLmNvcmU7XHJcblxyXG5leHBvcnQgY2xhc3MgTW9kZWxMaWJyYXJ5QmFja2luZ1N0b3JlQWRhcHRlciBpbXBsZW1lbnRzIGJyZWV6ZS5Nb2RlbExpYnJhcnlBZGFwdGVyIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5uYW1lID0gXCJiYWNraW5nU3RvcmVcIjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyByZWdpc3Rlcihjb25maWc/OiBicmVlemUuQnJlZXplQ29uZmlnKSB7XHJcbiAgICBjb25maWcgPSBjb25maWcgfHwgYnJlZXplLmNvbmZpZztcclxuICAgIGNvbmZpZy5yZWdpc3RlckFkYXB0ZXIoXCJtb2RlbExpYnJhcnlcIiwgTW9kZWxMaWJyYXJ5QmFja2luZ1N0b3JlQWRhcHRlcik7XHJcbiAgICByZXR1cm4gY29uZmlnLmluaXRpYWxpemVBZGFwdGVySW5zdGFuY2UoXCJtb2RlbExpYnJhcnlcIiwgXCJiYWNraW5nU3RvcmVcIiwgdHJ1ZSkgYXMgTW9kZWxMaWJyYXJ5QmFja2luZ1N0b3JlQWRhcHRlcjtcclxuICB9XHJcblxyXG4gIGluaXRpYWxpemUoKSB7XHJcbiAgfVxyXG5cclxuICBnZXRUcmFja2FibGVQcm9wZXJ0eU5hbWVzKGVudGl0eTogYnJlZXplLkVudGl0eSkge1xyXG4gICAgbGV0IG5hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgZm9yIChsZXQgcCBpbiBlbnRpdHkpIHtcclxuICAgICAgaWYgKHAgPT09IFwiZW50aXR5QXNwZWN0XCIgfHwgcCA9PT0gXCJlbnRpdHlUeXBlXCIpIGNvbnRpbnVlO1xyXG4gICAgICBpZiAocCA9PT0gXCJfJHR5cGVOYW1lXCIgfHwgcCA9PT0gXCJfcGVuZGluZ1NldHNcIiB8fCBwID09PSBcIl9iYWNraW5nU3RvcmVcIikgY29udGludWU7XHJcbiAgICAgIGxldCB2YWwgPSBlbnRpdHlbcF07XHJcbiAgICAgIGlmICghY29yZS5pc0Z1bmN0aW9uKHZhbCkpIHtcclxuICAgICAgICBuYW1lcy5wdXNoKHApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmFtZXM7XHJcbiAgfVxyXG5cclxuICAvLyBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgZHVyaW5nIE1ldGFkYXRhIGluaXRpYWxpemF0aW9uXHJcbiAgaW5pdGlhbGl6ZUVudGl0eVByb3RvdHlwZShwcm90bzogYW55KSB7XHJcblxyXG4gICAgcHJvdG8uZ2V0UHJvcGVydHkgPSBmdW5jdGlvbiAocHJvcGVydHlOYW1lOiBzdHJpbmcpIHtcclxuICAgICAgcmV0dXJuIHRoaXNbcHJvcGVydHlOYW1lXTtcclxuICAgIH07XHJcblxyXG4gICAgcHJvdG8uc2V0UHJvcGVydHkgPSBmdW5jdGlvbiAocHJvcGVydHlOYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcclxuICAgICAgLy9pZiAoIXRoaXMuX2JhY2tpbmdTdG9yZS5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eU5hbWUpKSB7XHJcbiAgICAgIC8vICAgIHRocm93IG5ldyBFcnJvcihcIlVua25vd24gcHJvcGVydHkgbmFtZTpcIiArIHByb3BlcnR5TmFtZSk7XHJcbiAgICAgIC8vfVxyXG4gICAgICB0aGlzW3Byb3BlcnR5TmFtZV0gPSB2YWx1ZTtcclxuICAgICAgLy8gYWxsb3cgc2V0UHJvcGVydHkgY2hhaW5pbmcuXHJcbiAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfTtcclxuXHJcbiAgICBtb3ZlUHJvcERlZnNUb1Byb3RvKHByb3RvKTtcclxuICB9XHJcblxyXG4gIC8vIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCB3aGVuIGFuIEVudGl0eUFzcGVjdCBpcyBmaXJzdCBjcmVhdGVkIC0gdGhpcyB3aWxsIG9jY3VyIGFzIHBhcnQgb2YgdGhlIGVudGl0eVR5cGUuY3JlYXRlRW50aXR5IGNhbGwuXHJcbiAgLy8gd2hpY2ggY2FuIGJlIGNhbGxlZCBlaXRoZXIgZGlyZWN0bHkgb3IgdmlhIHN0YW5kYXJkIHF1ZXJ5IG1hdGVyaWFsaXphdGlvblxyXG5cclxuICAvLyBlbnRpdHkgaXMgZWl0aGVyIGFuIGVudGl0eSBvciBhIGNvbXBsZXhPYmplY3RcclxuICBzdGFydFRyYWNraW5nKGVudGl0eTogYnJlZXplLlN0cnVjdHVyYWxPYmplY3QsIHByb3RvOiBhbnkpIHtcclxuICAgIC8vIGNhbid0IHRvdWNoIHRoZSBub3JtYWwgcHJvcGVydHkgc2V0cyB3aXRoaW4gdGhpcyBtZXRob2QgLSBhY2Nlc3MgdGhlIGJhY2tpbmdTdG9yZSBkaXJlY3RseSBpbnN0ZWFkLlxyXG4gICAgbGV0IGJzID0gbW92ZVByb3BzVG9CYWNraW5nU3RvcmUoZW50aXR5KTtcclxuXHJcbiAgICAvLyBhc3NpZ24gZGVmYXVsdCB2YWx1ZXMgdG8gdGhlIGVudGl0eVxyXG4gICAgbGV0IHN0eXBlID0gYnJlZXplLkVudGl0eUFzcGVjdC5pc0VudGl0eShlbnRpdHkpID8gZW50aXR5LmVudGl0eVR5cGUgOiBlbnRpdHkuY29tcGxleFR5cGU7XHJcbiAgICBzdHlwZS5nZXRQcm9wZXJ0aWVzKCkuZm9yRWFjaChmdW5jdGlvbiAocHJvcCkge1xyXG5cclxuICAgICAgbGV0IHByb3BOYW1lID0gcHJvcC5uYW1lO1xyXG4gICAgICBsZXQgdmFsID0gZW50aXR5W3Byb3BOYW1lXTtcclxuXHJcbiAgICAgIGlmIChwcm9wIGluc3RhbmNlb2YgYnJlZXplLkRhdGFQcm9wZXJ0eSkge1xyXG4gICAgICAgIGlmIChwcm9wLmlzQ29tcGxleFByb3BlcnR5KSB7XHJcbiAgICAgICAgICBpZiAocHJvcC5pc1NjYWxhcikge1xyXG4gICAgICAgICAgICB2YWwgPSAocHJvcC5kYXRhVHlwZSBhcyBicmVlemUuQ29tcGxleFR5cGUpLl9jcmVhdGVJbnN0YW5jZUNvcmUoZW50aXR5LCBwcm9wKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHZhbCA9IGJyZWV6ZS5tYWtlQ29tcGxleEFycmF5KFtdLCBlbnRpdHksIHByb3ApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSBpZiAoIXByb3AuaXNTY2FsYXIpIHtcclxuICAgICAgICAgIHZhbCA9IGJyZWV6ZS5tYWtlUHJpbWl0aXZlQXJyYXkoW10sIGVudGl0eSwgcHJvcCk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh2YWwgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgdmFsID0gcHJvcC5kZWZhdWx0VmFsdWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfSBlbHNlIGlmIChwcm9wLmlzTmF2aWdhdGlvblByb3BlcnR5KSB7XHJcbiAgICAgICAgaWYgKHZhbCAhPT0gdW5kZWZpbmVkICYmIHZhbCAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IGFzc2lnbiBhIG5hdmlnYXRpb24gcHJvcGVydHkgaW4gYW4gZW50aXR5IGN0b3IuOiBcIiArIHByb3BOYW1lKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHByb3AuaXNTY2FsYXIpIHtcclxuICAgICAgICAgIC8vIFRPRE86IGNoYW5nZSB0aGlzIHRvIG51bGxzdG9iIGxhdGVyLlxyXG4gICAgICAgICAgdmFsID0gbnVsbDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdmFsID0gYnJlZXplLm1ha2VSZWxhdGlvbkFycmF5KFtdLCBlbnRpdHkgYXMgYnJlZXplLkVudGl0eSwgcHJvcCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcInVua25vd24gcHJvcGVydHk6IFwiICsgcHJvcE5hbWUpO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIGNhbid0IHRvdWNoIHRoZSBub3JtYWwgcHJvcGVydHkgc2V0cyB3aXRoaW4gdGhpcyBtZXRob2QgKElFOSBCdWcpIC0gc28gd2UgYWNjZXNzIHRoZSBiYWNraW5nU3RvcmUgZGlyZWN0bHkgaW5zdGVhZC5cclxuICAgICAgLy8gb3RoZXJ3aXNlIHdlIGNvdWxkIGp1c3QgZG9cclxuICAgICAgLy8gZW50aXR5W3Byb3BOYW1lXSA9IHZhbFxyXG4gICAgICAvLyBhZnRlciBhbGwgb2YgdGhlIGludGVyY2VwdGlvbiBsb2dpYyBoYWQgYmVlbiBpbmplY3RlZC5cclxuICAgICAgaWYgKChwcm9wIGFzIGJyZWV6ZS5EYXRhUHJvcGVydHkpLmlzU2V0dGFibGUgfHwgcHJvcC5pc05hdmlnYXRpb25Qcm9wZXJ0eSkge1xyXG4gICAgICAgIGJzW3Byb3BOYW1lXSA9IHZhbDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5icmVlemUuY29uZmlnLnJlZ2lzdGVyQWRhcHRlcihcIm1vZGVsTGlicmFyeVwiLCBNb2RlbExpYnJhcnlCYWNraW5nU3RvcmVBZGFwdGVyKTtcclxuXHJcbi8vIHByaXZhdGUgbWV0aG9kc1xyXG5cclxuLy8gVGhpcyBtZXRob2QgaXMgY2FsbGVkIGR1cmluZyBNZXRhZGF0YSBpbml0aWFsaXphdGlvbiB0byBjb3JyZWN0bHkgXCJ3cmFwXCIgcHJvcGVydGllcy5cclxuZnVuY3Rpb24gbW92ZVByb3BEZWZzVG9Qcm90byhwcm90bzogYW55KSB7XHJcbiAgbGV0IHN0eXBlID0gKHByb3RvLmVudGl0eVR5cGUgfHwgcHJvdG8uY29tcGxleFR5cGUpIGFzIGJyZWV6ZS5TdHJ1Y3R1cmFsVHlwZTtcclxuICBsZXQgZXh0cmEgPSBzdHlwZS5fZXh0cmE7XHJcblxyXG4gIGxldCBhbHJlYWR5V3JhcHBlZCA9IGV4dHJhLmFscmVhZHlXcmFwcGVkUHJvcHMgfHwge307XHJcblxyXG4gIHN0eXBlLmdldFByb3BlcnRpZXMoKS5mb3JFYWNoKGZ1bmN0aW9uIChwcm9wKSB7XHJcbiAgICBsZXQgcHJvcE5hbWUgPSBwcm9wLm5hbWU7XHJcbiAgICAvLyB3ZSBvbmx5IHdhbnQgdG8gd3JhcCBwcm9wcyB0aGF0IGhhdmVuJ3QgYWxyZWFkeSBiZWVuIHdyYXBwZWRcclxuICAgIGlmIChhbHJlYWR5V3JhcHBlZFtwcm9wTmFtZV0pIHJldHVybjtcclxuXHJcbiAgICAvLyBJZiBwcm9wZXJ0eSBpcyBhbHJlYWR5IGRlZmluZWQgb24gdGhlIHByb3RvdHlwZSB0aGVuIHdyYXAgaXQgaW4gYW5vdGhlciBwcm9wZXJ0eURlc2NyaXB0b3IuXHJcbiAgICAvLyBvdGhlcndpc2UgY3JlYXRlIGEgcHJvcERlc2NyaXB0b3IgZm9yIGl0LlxyXG4gICAgbGV0IGRlc2NyOiBhbnk7XHJcbiAgICBpZiAocHJvcE5hbWUgaW4gcHJvdG8pIHtcclxuICAgICAgZGVzY3IgPSB3cmFwUHJvcERlc2NyaXB0aW9uKHByb3RvLCBwcm9wKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGRlc2NyID0gbWFrZVByb3BEZXNjcmlwdGlvbihwcm90bywgcHJvcCk7XHJcbiAgICB9XHJcbiAgICAvLyBkZXNjciB3aWxsIGJlIG51bGwgZm9yIGEgd3JhcHBlZCBkZXNjciB0aGF0IGlzIG5vdCBjb25maWd1cmFibGVcclxuICAgIGlmIChkZXNjciAhPSBudWxsKSB7XHJcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgcHJvcE5hbWUsIGRlc2NyKTtcclxuICAgIH1cclxuICAgIGFscmVhZHlXcmFwcGVkW3Byb3BOYW1lXSA9IHRydWU7XHJcbiAgfSk7XHJcbiAgZXh0cmEuYWxyZWFkeVdyYXBwZWRQcm9wcyA9IGFscmVhZHlXcmFwcGVkO1xyXG59XHJcblxyXG4vLyBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgd2hlbiBhbiBpbnN0YW5jZSBpcyBmaXJzdCBjcmVhdGVkIHZpYSBtYXRlcmlhbGl6YXRpb24gb3IgY3JlYXRlRW50aXR5LlxyXG4vLyB0aGlzIG1ldGhvZCBjYW5ub3QgYmUgY2FsbGVkIHdoaWxlIGEgJ2RlZmluZVByb3BlcnR5JyBhY2Nlc3NvciBpcyBleGVjdXRpbmdcclxuLy8gYmVjYXVzZSBvZiBJRSBidWcgbWVudGlvbmVkIGFib3ZlLlxyXG5cclxuZnVuY3Rpb24gbW92ZVByb3BzVG9CYWNraW5nU3RvcmUoaW5zdGFuY2U6IGFueSkge1xyXG5cclxuICBsZXQgYnMgPSBnZXRCYWNraW5nU3RvcmUoaW5zdGFuY2UpO1xyXG4gIGxldCBwcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihpbnN0YW5jZSk7XHJcbiAgbGV0IHN0eXBlID0gKHByb3RvLmVudGl0eVR5cGUgfHwgcHJvdG8uY29tcGxleFR5cGUpIGFzIGJyZWV6ZS5TdHJ1Y3R1cmFsVHlwZTtcclxuICBzdHlwZS5nZXRQcm9wZXJ0aWVzKCkuZm9yRWFjaChmdW5jdGlvbiAocHJvcCkge1xyXG4gICAgbGV0IHByb3BOYW1lID0gcHJvcC5uYW1lO1xyXG4gICAgaWYgKHByb3AuaXNVbm1hcHBlZCkge1xyXG4gICAgICAvLyBpbnN1cmUgdGhhdCBhbnkgdW5tYXBwZWQgcHJvcGVydGllcyB0aGF0IHdlcmUgYWRkZWQgYWZ0ZXIgZW50aXR5VHlwZVxyXG4gICAgICAvLyB3YXMgZmlyc3QgY3JlYXRlZCBhcmUgd3JhcHBlZCB3aXRoIGEgcHJvcGVydHkgZGVzY3JpcHRvci5cclxuICAgICAgaWYgKCFjb3JlLmdldFByb3BlcnR5RGVzY3JpcHRvcihwcm90bywgcHJvcE5hbWUpKSB7XHJcbiAgICAgICAgbGV0IGRlc2NyID0gbWFrZVByb3BEZXNjcmlwdGlvbihwcm90bywgcHJvcCk7XHJcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCBwcm9wTmFtZSwgZGVzY3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoIWluc3RhbmNlLmhhc093blByb3BlcnR5KHByb3BOYW1lKSkgcmV0dXJuO1xyXG4gICAgLy8gcHVsbHMgb2ZmIHRoZSB2YWx1ZSwgcmVtb3ZlcyB0aGUgaW5zdGFuY2UgcHJvcGVydHkgYW5kIHRoZW4gcmV3cml0ZXMgaXQgdmlhIEVTNSBhY2Nlc3NvclxyXG4gICAgbGV0IHZhbHVlID0gaW5zdGFuY2VbcHJvcE5hbWVdO1xyXG4gICAgZGVsZXRlIGluc3RhbmNlW3Byb3BOYW1lXTtcclxuICAgIGluc3RhbmNlW3Byb3BOYW1lXSA9IHZhbHVlO1xyXG4gIH0pO1xyXG4gIHJldHVybiBicztcclxufVxyXG5cclxuZnVuY3Rpb24gbWFrZVByb3BEZXNjcmlwdGlvbihwcm90bzogYW55LCBwcm9wZXJ0eTogYnJlZXplLkVudGl0eVByb3BlcnR5KSB7XHJcbiAgbGV0IHByb3BOYW1lID0gcHJvcGVydHkubmFtZTtcclxuICBsZXQgcGVuZGluZ1N0b3JlcyA9IHByb3RvLl9wZW5kaW5nQmFja2luZ1N0b3JlcztcclxuICBpZiAoIXBlbmRpbmdTdG9yZXMpIHtcclxuICAgIHBlbmRpbmdTdG9yZXMgPSBbXTtcclxuICAgIHByb3RvLl9wZW5kaW5nQmFja2luZ1N0b3JlcyA9IHBlbmRpbmdTdG9yZXM7XHJcbiAgfVxyXG4gIGxldCBkZXNjciA9IHtcclxuICAgIGdldDogZnVuY3Rpb24gKCkge1xyXG4gICAgICBsZXQgYnMgPSB0aGlzLl9iYWNraW5nU3RvcmUgfHwgZ2V0QmFja2luZ1N0b3JlKHRoaXMpO1xyXG4gICAgICByZXR1cm4gYnNbcHJvcE5hbWVdO1xyXG4gICAgfSxcclxuICAgIHNldDogZnVuY3Rpb24gKHZhbHVlOiBhbnkpIHtcclxuICAgICAgLy8gSUU5IGNhbm5vdCB0b3VjaCBpbnN0YW5jZS5fYmFja2luZ1N0b3JlIGhlcmVcclxuICAgICAgbGV0IGJzID0gdGhpcy5fYmFja2luZ1N0b3JlIHx8IGdldFBlbmRpbmdCYWNraW5nU3RvcmUodGhpcyk7XHJcbiAgICAgIGxldCBhY2Nlc3NvckZuID0gZ2V0QWNjZXNzb3JGbihicywgcHJvcE5hbWUpO1xyXG4gICAgICB0aGlzLl8kaW50ZXJjZXB0b3IocHJvcGVydHksIHZhbHVlLCBhY2Nlc3NvckZuKTtcclxuICAgIH0sXHJcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxyXG4gICAgY29uZmlndXJhYmxlOiB0cnVlXHJcbiAgfTtcclxuXHJcbiAgKGRlc2NyLnNldCBhcyBhbnkpLnJhd1NldCA9IGZ1bmN0aW9uICh2YWx1ZTogYW55KSB7XHJcbiAgICBsZXQgYnMgPSB0aGlzLl9iYWNraW5nU3RvcmUgfHwgZ2V0UGVuZGluZ0JhY2tpbmdTdG9yZSh0aGlzKTtcclxuICAgIGxldCBhY2Nlc3NvckZuID0gZ2V0QWNjZXNzb3JGbihicywgcHJvcE5hbWUpO1xyXG4gICAgYWNjZXNzb3JGbih2YWx1ZSk7XHJcbiAgfTtcclxuICByZXR1cm4gZGVzY3I7XHJcblxyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRBY2Nlc3NvckZuKGJzOiB7fSwgcHJvcE5hbWU6IHN0cmluZyk6IGFueSB7XHJcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiBic1twcm9wTmFtZV07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBic1twcm9wTmFtZV0gPSBhcmd1bWVudHNbMF07XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfTtcclxufVxyXG5cclxuZnVuY3Rpb24gd3JhcFByb3BEZXNjcmlwdGlvbihwcm90bzogYW55LCBwcm9wZXJ0eTogYnJlZXplLkVudGl0eVByb3BlcnR5KTogYW55IHtcclxuICBpZiAoIXByb3RvLmhhc093blByb3BlcnR5KHByb3BlcnR5Lm5hbWUpKSB7XHJcbiAgICBsZXQgbmV4dFByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHByb3RvKTtcclxuICAgIHJldHVybiB3cmFwUHJvcERlc2NyaXB0aW9uKG5leHRQcm90bywgcHJvcGVydHkpO1xyXG4gIH1cclxuXHJcbiAgbGV0IHByb3BEZXNjciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocHJvdG8sIHByb3BlcnR5Lm5hbWUpO1xyXG4gIGlmICghcHJvcERlc2NyKSByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIC8vIGlmIG5vdCBjb25maWd1cmFibGU7IHdlIGNhbid0IHRvdWNoIGl0IC0gc28gbGVhdmUuXHJcbiAgaWYgKCFwcm9wRGVzY3IuY29uZmlndXJhYmxlKSByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIC8vIGlmIGEgZGF0YSBkZXNjcmlwdG9yIC0gZG9uJ3QgY2hhbmdlIGl0IC0gdGhpcyBpcyBiYXNpY2FsbHkgYSBzdGF0aWMgcHJvcGVydHkgLSBpLmUuIGRlZmluZWQgb24gZXZlcnkgaW5zdGFuY2Ugb2YgdGhlIHR5cGUgd2l0aCB0aGUgc2FtZSB2YWx1ZS5cclxuICBpZiAocHJvcERlc2NyLnZhbHVlKSByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIC8vIGlmIGEgcmVhZCBvbmx5IHByb3BlcnR5IGRlc2NyaXB0b3IgLSBubyBuZWVkIHRvIGNoYW5nZSBpdC5cclxuICBpZiAoIXByb3BEZXNjci5zZXQpIHJldHVybiB1bmRlZmluZWQ7XHJcblxyXG4gIGxldCBsb2NhbEFjY2Vzc29yRm4gPSBmdW5jdGlvbiAoZW50aXR5OiBhbnkpIHtcclxuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgIGlmICghcHJvcERlc2NyKSByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHJldHVybiBwcm9wRGVzY3IuZ2V0IS5iaW5kKGVudGl0eSkoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBsZXQgc2V0ID0gcHJvcERlc2NyLnNldDtcclxuICAgICAgICBsZXQgcmF3U2V0ID0gKHNldCBhcyBhbnkpLnJhd1NldCB8fCBzZXQ7XHJcbiAgICAgICAgcmF3U2V0LmJpbmQoZW50aXR5KShhcmd1bWVudHNbMF0pO1xyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgfTtcclxuXHJcbiAgbGV0IG5ld0Rlc2NyID0ge1xyXG4gICAgZ2V0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgIGlmICghcHJvcERlc2NyKSByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICByZXR1cm4gcHJvcERlc2NyLmdldCEuYmluZCh0aGlzKSgpO1xyXG4gICAgfSxcclxuICAgIHNldDogZnVuY3Rpb24gKHZhbHVlOiBhbnkpIHtcclxuICAgICAgdGhpcy5fJGludGVyY2VwdG9yKHByb3BlcnR5LCB2YWx1ZSwgbG9jYWxBY2Nlc3NvckZuKHRoaXMpKTtcclxuICAgIH0sXHJcbiAgICBlbnVtZXJhYmxlOiBwcm9wRGVzY3IuZW51bWVyYWJsZSxcclxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxyXG4gIH07XHJcbiAgKG5ld0Rlc2NyLnNldCBhcyBhbnkpLnJhd1NldCA9IHByb3BEZXNjci5zZXQ7XHJcbiAgcmV0dXJuIG5ld0Rlc2NyO1xyXG59XHJcblxyXG5cclxuZnVuY3Rpb24gZ2V0QmFja2luZ1N0b3JlKGluc3RhbmNlOiBhbnkpIHtcclxuICBsZXQgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoaW5zdGFuY2UpO1xyXG4gIHByb2Nlc3NQZW5kaW5nU3RvcmVzKHByb3RvKTtcclxuICBsZXQgYnMgPSBpbnN0YW5jZS5fYmFja2luZ1N0b3JlO1xyXG4gIGlmICghYnMpIHtcclxuICAgIGJzID0ge307XHJcbiAgICBpbnN0YW5jZS5fYmFja2luZ1N0b3JlID0gYnM7XHJcbiAgfVxyXG4gIHJldHVybiBicztcclxufVxyXG5cclxuLy8gd29ya2Fyb3VuZCBmb3IgSUU5IGJ1ZyB3aGVyZSBpbnN0YW5jZSBwcm9wZXJ0aWVzIGNhbm5vdCBiZSBjaGFuZ2VkIHdoZW4gZXhlY3V0aW5nIGEgcHJvcGVydHkgJ3NldCcgbWV0aG9kLlxyXG5mdW5jdGlvbiBnZXRQZW5kaW5nQmFja2luZ1N0b3JlKGluc3RhbmNlOiBhbnkpIHtcclxuICBsZXQgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoaW5zdGFuY2UpO1xyXG4gIGxldCBwZW5kaW5nU3RvcmVzID0gcHJvdG8uX3BlbmRpbmdCYWNraW5nU3RvcmVzO1xyXG4gIGxldCBwZW5kaW5nID0gY29yZS5hcnJheUZpcnN0KHBlbmRpbmdTdG9yZXMsIGZ1bmN0aW9uIChwZW5kaW5nKSB7XHJcbiAgICByZXR1cm4gcGVuZGluZy5lbnRpdHkgPT09IGluc3RhbmNlO1xyXG4gIH0pO1xyXG4gIGlmIChwZW5kaW5nKSByZXR1cm4gKHBlbmRpbmcgYXMgYW55KS5iYWNraW5nU3RvcmU7XHJcbiAgbGV0IGJzID0ge307XHJcbiAgcGVuZGluZ1N0b3Jlcy5wdXNoKHsgZW50aXR5OiBpbnN0YW5jZSwgYmFja2luZ1N0b3JlOiBicyB9KTtcclxuICByZXR1cm4gYnM7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHByb2Nlc3NQZW5kaW5nU3RvcmVzKHByb3RvOiBhbnkpIHtcclxuICBsZXQgcGVuZGluZ1N0b3JlcyA9IHByb3RvLl9wZW5kaW5nQmFja2luZ1N0b3JlcztcclxuICBpZiAocGVuZGluZ1N0b3Jlcykge1xyXG4gICAgcGVuZGluZ1N0b3Jlcy5mb3JFYWNoKGZ1bmN0aW9uIChwZW5kaW5nOiBhbnkpIHtcclxuICAgICAgcGVuZGluZy5lbnRpdHkuX2JhY2tpbmdTdG9yZSA9IHBlbmRpbmcuYmFja2luZ1N0b3JlO1xyXG4gICAgfSk7XHJcbiAgICBwZW5kaW5nU3RvcmVzLmxlbmd0aCA9IDA7XHJcbiAgfVxyXG59XHJcblxyXG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './adapter-model-library-backing-store';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlZXplLWNsaWVudC1hZGFwdGVyLW1vZGVsLWxpYnJhcnktYmFja2luZy1zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2JyZWV6ZS1jbGllbnQvYWRhcHRlci1tb2RlbC1saWJyYXJ5LWJhY2tpbmctc3RvcmUvIiwic291cmNlcyI6WyJicmVlemUtY2xpZW50LWFkYXB0ZXItbW9kZWwtbGlicmFyeS1iYWNraW5nLXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyx1Q0FBdUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9hZGFwdGVyLW1vZGVsLWxpYnJhcnktYmFja2luZy1zdG9yZSc7XG4iXX0=