breeze-client 2.1.3-mjs → 2.1.4

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 (394) hide show
  1. package/README.md +18 -5
  2. package/adapter-ajax-angularjs/{index.d.ts → breeze-client-adapter-ajax-angularjs.d.ts} +0 -1
  3. package/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.metadata.json +1 -0
  4. package/adapter-ajax-angularjs/package.json +13 -0
  5. package/adapter-ajax-fetch/{index.d.ts → breeze-client-adapter-ajax-fetch.d.ts} +0 -1
  6. package/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.metadata.json +1 -0
  7. package/adapter-ajax-fetch/package.json +13 -0
  8. package/adapter-ajax-httpclient/{index.d.ts → breeze-client-adapter-ajax-httpclient.d.ts} +0 -1
  9. package/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.metadata.json +1 -0
  10. package/adapter-ajax-httpclient/package.json +13 -0
  11. package/adapter-ajax-jquery/{index.d.ts → breeze-client-adapter-ajax-jquery.d.ts} +0 -1
  12. package/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.metadata.json +1 -0
  13. package/adapter-ajax-jquery/package.json +13 -0
  14. package/adapter-ajax-post/{index.d.ts → breeze-client-adapter-ajax-post.d.ts} +0 -1
  15. package/adapter-ajax-post/breeze-client-adapter-ajax-post.metadata.json +1 -0
  16. package/adapter-ajax-post/package.json +13 -0
  17. package/adapter-data-service-odata/{index.d.ts → breeze-client-adapter-data-service-odata.d.ts} +0 -1
  18. package/adapter-data-service-odata/breeze-client-adapter-data-service-odata.metadata.json +1 -0
  19. package/adapter-data-service-odata/package.json +13 -0
  20. package/adapter-data-service-webapi/{index.d.ts → breeze-client-adapter-data-service-webapi.d.ts} +0 -1
  21. package/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.metadata.json +1 -0
  22. package/adapter-data-service-webapi/package.json +13 -0
  23. package/adapter-model-library-backing-store/{index.d.ts → breeze-client-adapter-model-library-backing-store.d.ts} +0 -1
  24. package/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.metadata.json +1 -0
  25. package/adapter-model-library-backing-store/package.json +13 -0
  26. package/adapter-model-library-ko/{index.d.ts → breeze-client-adapter-model-library-ko.d.ts} +0 -1
  27. package/adapter-model-library-ko/breeze-client-adapter-model-library-ko.metadata.json +1 -0
  28. package/adapter-model-library-ko/package.json +13 -0
  29. package/adapter-uri-builder-json/{index.d.ts → breeze-client-adapter-uri-builder-json.d.ts} +0 -1
  30. package/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.metadata.json +1 -0
  31. package/adapter-uri-builder-json/package.json +13 -0
  32. package/adapter-uri-builder-odata/{index.d.ts → breeze-client-adapter-uri-builder-odata.d.ts} +0 -1
  33. package/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.metadata.json +1 -0
  34. package/adapter-uri-builder-odata/package.json +13 -0
  35. package/breeze-client.d.ts +8 -0
  36. package/breeze-client.metadata.json +1 -0
  37. package/bundles/breeze-client-adapter-ajax-angularjs.umd.js +190 -0
  38. package/bundles/breeze-client-adapter-ajax-angularjs.umd.js.map +1 -0
  39. package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js +2 -0
  40. package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js.map +1 -0
  41. package/bundles/breeze-client-adapter-ajax-fetch.umd.js +190 -0
  42. package/bundles/breeze-client-adapter-ajax-fetch.umd.js.map +1 -0
  43. package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js +2 -0
  44. package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js.map +1 -0
  45. package/bundles/breeze-client-adapter-ajax-httpclient.umd.js +195 -0
  46. package/bundles/breeze-client-adapter-ajax-httpclient.umd.js.map +1 -0
  47. package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js +2 -0
  48. package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js.map +1 -0
  49. package/bundles/breeze-client-adapter-ajax-jquery.umd.js +115 -0
  50. package/bundles/breeze-client-adapter-ajax-jquery.umd.js.map +1 -0
  51. package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js +2 -0
  52. package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js.map +1 -0
  53. package/bundles/breeze-client-adapter-ajax-post.umd.js +92 -0
  54. package/bundles/breeze-client-adapter-ajax-post.umd.js.map +1 -0
  55. package/bundles/breeze-client-adapter-ajax-post.umd.min.js +2 -0
  56. package/bundles/breeze-client-adapter-ajax-post.umd.min.js.map +1 -0
  57. package/bundles/breeze-client-adapter-data-service-odata.umd.js +743 -0
  58. package/bundles/breeze-client-adapter-data-service-odata.umd.js.map +1 -0
  59. package/bundles/breeze-client-adapter-data-service-odata.umd.min.js +16 -0
  60. package/bundles/breeze-client-adapter-data-service-odata.umd.min.js.map +1 -0
  61. package/bundles/breeze-client-adapter-data-service-webapi.umd.js +326 -0
  62. package/bundles/breeze-client-adapter-data-service-webapi.umd.js.map +1 -0
  63. package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js +16 -0
  64. package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js.map +1 -0
  65. package/bundles/breeze-client-adapter-model-library-backing-store.umd.js +280 -0
  66. package/bundles/breeze-client-adapter-model-library-backing-store.umd.js.map +1 -0
  67. package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js +2 -0
  68. package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js.map +1 -0
  69. package/bundles/breeze-client-adapter-model-library-ko.umd.js +252 -0
  70. package/bundles/breeze-client-adapter-model-library-ko.umd.js.map +1 -0
  71. package/bundles/breeze-client-adapter-model-library-ko.umd.min.js +2 -0
  72. package/bundles/breeze-client-adapter-model-library-ko.umd.min.js.map +1 -0
  73. package/bundles/breeze-client-adapter-uri-builder-json.umd.js +96 -0
  74. package/bundles/breeze-client-adapter-uri-builder-json.umd.js.map +1 -0
  75. package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js +2 -0
  76. package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js.map +1 -0
  77. package/bundles/breeze-client-adapter-uri-builder-odata.umd.js +262 -0
  78. package/bundles/breeze-client-adapter-uri-builder-odata.umd.js.map +1 -0
  79. package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js +2 -0
  80. package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js.map +1 -0
  81. package/bundles/breeze-client-mixin-get-entity-graph.umd.js +258 -0
  82. package/bundles/breeze-client-mixin-get-entity-graph.umd.js.map +1 -0
  83. package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js +2 -0
  84. package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js.map +1 -0
  85. package/bundles/breeze-client-mixin-save-queuing.umd.js +579 -0
  86. package/bundles/breeze-client-mixin-save-queuing.umd.js.map +1 -0
  87. package/bundles/breeze-client-mixin-save-queuing.umd.min.js +16 -0
  88. package/bundles/breeze-client-mixin-save-queuing.umd.min.js.map +1 -0
  89. package/bundles/breeze-client.umd.js +14098 -0
  90. package/bundles/breeze-client.umd.js.map +1 -0
  91. package/bundles/breeze-client.umd.min.js +16 -0
  92. package/bundles/breeze-client.umd.min.js.map +1 -0
  93. package/esm2015/adapter-ajax-angularjs/adapter-ajax-angularjs.js +130 -0
  94. package/esm2015/adapter-ajax-angularjs/adapter-core.js +49 -0
  95. package/esm2015/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +5 -0
  96. package/esm2015/adapter-ajax-fetch/adapter-ajax-fetch.js +130 -0
  97. package/esm2015/adapter-ajax-fetch/adapter-core.js +49 -0
  98. package/esm2015/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +5 -0
  99. package/esm2015/adapter-ajax-httpclient/adapter-ajax-httpclient.js +137 -0
  100. package/esm2015/adapter-ajax-httpclient/adapter-core.js +49 -0
  101. package/esm2015/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +5 -0
  102. package/esm2015/adapter-ajax-jquery/adapter-ajax-jquery.js +103 -0
  103. package/esm2015/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +5 -0
  104. package/esm2015/adapter-ajax-post/adapter-ajax-post.js +77 -0
  105. package/esm2015/adapter-ajax-post/breeze-client-adapter-ajax-post.js +5 -0
  106. package/esm2015/adapter-data-service-odata/adapter-core.js +49 -0
  107. package/esm2015/adapter-data-service-odata/adapter-data-service-odata.js +459 -0
  108. package/esm2015/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +5 -0
  109. package/esm2015/adapter-data-service-webapi/adapter-data-service-webapi.js +93 -0
  110. package/esm2015/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +5 -0
  111. package/esm2015/adapter-model-library-backing-store/adapter-model-library-backing-store.js +268 -0
  112. package/esm2015/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +5 -0
  113. package/esm2015/adapter-model-library-ko/adapter-model-library-ko.js +240 -0
  114. package/esm2015/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +5 -0
  115. package/esm2015/adapter-uri-builder-json/adapter-core.js +49 -0
  116. package/esm2015/adapter-uri-builder-json/adapter-uri-builder-json.js +36 -0
  117. package/esm2015/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +5 -0
  118. package/esm2015/adapter-uri-builder-odata/adapter-core.js +49 -0
  119. package/esm2015/adapter-uri-builder-odata/adapter-uri-builder-odata.js +192 -0
  120. package/esm2015/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +5 -0
  121. package/esm2015/breeze-client.js +9 -0
  122. package/esm2015/index.js +2 -0
  123. package/esm2015/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +5 -0
  124. package/esm2015/mixin-get-entity-graph/mixin-get-entity-graph.js +269 -0
  125. package/esm2015/mixin-save-queuing/breeze-client-mixin-save-queuing.js +5 -0
  126. package/esm2015/mixin-save-queuing/mixin-save-queuing.js +400 -0
  127. package/esm2015/src/abstract-data-service-adapter.js +296 -0
  128. package/esm2015/src/array.js +4 -0
  129. package/esm2015/src/assert-param.js +312 -0
  130. package/esm2015/src/breeze.js +85 -0
  131. package/esm2015/src/complex-array.js +119 -0
  132. package/esm2015/src/config.js +223 -0
  133. package/esm2015/src/core.js +709 -0
  134. package/esm2015/src/csdl-metadata-parser.js +385 -0
  135. package/esm2015/src/data-service.js +203 -0
  136. package/esm2015/src/data-type.js +444 -0
  137. package/esm2015/src/default-property-interceptor.js +460 -0
  138. package/esm2015/src/entity-action.js +45 -0
  139. package/esm2015/src/entity-aspect.js +806 -0
  140. package/esm2015/src/entity-group.js +187 -0
  141. package/esm2015/src/entity-key.js +116 -0
  142. package/esm2015/src/entity-manager.js +2094 -0
  143. package/esm2015/src/entity-metadata.js +2109 -0
  144. package/esm2015/src/entity-query.js +996 -0
  145. package/esm2015/src/entity-state.js +99 -0
  146. package/esm2015/src/enum.js +141 -0
  147. package/esm2015/src/event.js +256 -0
  148. package/esm2015/src/interface-registry.js +41 -0
  149. package/esm2015/src/key-generator.js +108 -0
  150. package/esm2015/src/local-query-comparison-options.js +65 -0
  151. package/esm2015/src/mapping-context.js +405 -0
  152. package/esm2015/src/naming-convention.js +88 -0
  153. package/esm2015/src/observable-array.js +185 -0
  154. package/esm2015/src/predicate.js +1235 -0
  155. package/esm2015/src/primitive-array.js +87 -0
  156. package/esm2015/src/query-options.js +152 -0
  157. package/esm2015/src/relation-array.js +175 -0
  158. package/esm2015/src/save-options.js +41 -0
  159. package/esm2015/src/unattached-children-map.js +58 -0
  160. package/esm2015/src/validate.js +991 -0
  161. package/esm2015/src/validation-options.js +64 -0
  162. package/esm5/adapter-ajax-angularjs/adapter-ajax-angularjs.js +132 -0
  163. package/esm5/adapter-ajax-angularjs/adapter-core.js +49 -0
  164. package/esm5/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +5 -0
  165. package/esm5/adapter-ajax-fetch/adapter-ajax-fetch.js +132 -0
  166. package/esm5/adapter-ajax-fetch/adapter-core.js +49 -0
  167. package/esm5/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +5 -0
  168. package/esm5/adapter-ajax-httpclient/adapter-ajax-httpclient.js +139 -0
  169. package/esm5/adapter-ajax-httpclient/adapter-core.js +49 -0
  170. package/esm5/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +5 -0
  171. package/esm5/adapter-ajax-jquery/adapter-ajax-jquery.js +105 -0
  172. package/esm5/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +5 -0
  173. package/esm5/adapter-ajax-post/adapter-ajax-post.js +81 -0
  174. package/esm5/adapter-ajax-post/breeze-client-adapter-ajax-post.js +5 -0
  175. package/esm5/adapter-data-service-odata/adapter-core.js +49 -0
  176. package/esm5/adapter-data-service-odata/adapter-data-service-odata.js +466 -0
  177. package/esm5/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +5 -0
  178. package/esm5/adapter-data-service-webapi/adapter-data-service-webapi.js +98 -0
  179. package/esm5/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +5 -0
  180. package/esm5/adapter-model-library-backing-store/adapter-model-library-backing-store.js +270 -0
  181. package/esm5/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +5 -0
  182. package/esm5/adapter-model-library-ko/adapter-model-library-ko.js +242 -0
  183. package/esm5/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +5 -0
  184. package/esm5/adapter-uri-builder-json/adapter-core.js +49 -0
  185. package/esm5/adapter-uri-builder-json/adapter-uri-builder-json.js +38 -0
  186. package/esm5/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +5 -0
  187. package/esm5/adapter-uri-builder-odata/adapter-core.js +49 -0
  188. package/esm5/adapter-uri-builder-odata/adapter-uri-builder-odata.js +197 -0
  189. package/esm5/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +5 -0
  190. package/esm5/breeze-client.js +9 -0
  191. package/esm5/index.js +2 -0
  192. package/esm5/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +5 -0
  193. package/esm5/mixin-get-entity-graph/mixin-get-entity-graph.js +269 -0
  194. package/esm5/mixin-save-queuing/breeze-client-mixin-save-queuing.js +5 -0
  195. package/esm5/mixin-save-queuing/mixin-save-queuing.js +412 -0
  196. package/esm5/src/abstract-data-service-adapter.js +302 -0
  197. package/esm5/src/array.js +4 -0
  198. package/esm5/src/assert-param.js +317 -0
  199. package/esm5/src/breeze.js +85 -0
  200. package/esm5/src/complex-array.js +119 -0
  201. package/esm5/src/config.js +228 -0
  202. package/esm5/src/core.js +717 -0
  203. package/esm5/src/csdl-metadata-parser.js +385 -0
  204. package/esm5/src/data-service.js +207 -0
  205. package/esm5/src/data-type.js +451 -0
  206. package/esm5/src/default-property-interceptor.js +460 -0
  207. package/esm5/src/entity-action.js +52 -0
  208. package/esm5/src/entity-aspect.js +812 -0
  209. package/esm5/src/entity-group.js +189 -0
  210. package/esm5/src/entity-key.js +118 -0
  211. package/esm5/src/entity-manager.js +2112 -0
  212. package/esm5/src/entity-metadata.js +2144 -0
  213. package/esm5/src/entity-query.js +1023 -0
  214. package/esm5/src/entity-state.js +106 -0
  215. package/esm5/src/enum.js +144 -0
  216. package/esm5/src/event.js +259 -0
  217. package/esm5/src/interface-registry.js +43 -0
  218. package/esm5/src/key-generator.js +111 -0
  219. package/esm5/src/local-query-comparison-options.js +67 -0
  220. package/esm5/src/mapping-context.js +407 -0
  221. package/esm5/src/naming-convention.js +90 -0
  222. package/esm5/src/observable-array.js +201 -0
  223. package/esm5/src/predicate.js +1300 -0
  224. package/esm5/src/primitive-array.js +87 -0
  225. package/esm5/src/query-options.js +167 -0
  226. package/esm5/src/relation-array.js +175 -0
  227. package/esm5/src/save-options.js +43 -0
  228. package/esm5/src/unattached-children-map.js +60 -0
  229. package/esm5/src/validate.js +996 -0
  230. package/esm5/src/validation-options.js +66 -0
  231. package/fesm2015/{breeze-client-adapter-ajax-angularjs.mjs → breeze-client-adapter-ajax-angularjs.js} +1 -1
  232. package/fesm2015/breeze-client-adapter-ajax-angularjs.js.map +1 -0
  233. package/fesm2015/{breeze-client-adapter-ajax-fetch.mjs → breeze-client-adapter-ajax-fetch.js} +3 -5
  234. package/fesm2015/breeze-client-adapter-ajax-fetch.js.map +1 -0
  235. package/fesm2015/{breeze-client-adapter-ajax-httpclient.mjs → breeze-client-adapter-ajax-httpclient.js} +1 -1
  236. package/fesm2015/breeze-client-adapter-ajax-httpclient.js.map +1 -0
  237. package/fesm2015/{breeze-client-adapter-ajax-jquery.mjs → breeze-client-adapter-ajax-jquery.js} +2 -2
  238. package/fesm2015/breeze-client-adapter-ajax-jquery.js.map +1 -0
  239. package/{fesm2020/breeze-client-adapter-ajax-post.mjs → fesm2015/breeze-client-adapter-ajax-post.js} +1 -1
  240. package/fesm2015/breeze-client-adapter-ajax-post.js.map +1 -0
  241. package/fesm2015/{breeze-client-adapter-data-service-odata.mjs → breeze-client-adapter-data-service-odata.js} +22 -20
  242. package/fesm2015/breeze-client-adapter-data-service-odata.js.map +1 -0
  243. package/fesm2015/{breeze-client-adapter-data-service-webapi.mjs → breeze-client-adapter-data-service-webapi.js} +13 -13
  244. package/fesm2015/breeze-client-adapter-data-service-webapi.js.map +1 -0
  245. package/{fesm2020/breeze-client-adapter-model-library-backing-store.mjs → fesm2015/breeze-client-adapter-model-library-backing-store.js} +13 -13
  246. package/fesm2015/breeze-client-adapter-model-library-backing-store.js.map +1 -0
  247. package/{fesm2020/breeze-client-adapter-model-library-ko.mjs → fesm2015/breeze-client-adapter-model-library-ko.js} +13 -13
  248. package/fesm2015/breeze-client-adapter-model-library-ko.js.map +1 -0
  249. package/{fesm2020/breeze-client-adapter-uri-builder-json.mjs → fesm2015/breeze-client-adapter-uri-builder-json.js} +8 -8
  250. package/fesm2015/breeze-client-adapter-uri-builder-json.js.map +1 -0
  251. package/{fesm2020/breeze-client-adapter-uri-builder-odata.mjs → fesm2015/breeze-client-adapter-uri-builder-odata.js} +86 -85
  252. package/fesm2015/breeze-client-adapter-uri-builder-odata.js.map +1 -0
  253. package/fesm2015/{breeze-client-mixin-get-entity-graph.mjs → breeze-client-mixin-get-entity-graph.js} +1 -1
  254. package/fesm2015/breeze-client-mixin-get-entity-graph.js.map +1 -0
  255. package/fesm2015/{breeze-client-mixin-save-queuing.mjs → breeze-client-mixin-save-queuing.js} +1 -1
  256. package/fesm2015/breeze-client-mixin-save-queuing.js.map +1 -0
  257. package/fesm2015/{breeze-client.mjs → breeze-client.js} +418 -409
  258. package/fesm2015/breeze-client.js.map +1 -0
  259. package/{fesm2020/breeze-client-adapter-ajax-angularjs.mjs → fesm5/breeze-client-adapter-ajax-angularjs.js} +42 -41
  260. package/fesm5/breeze-client-adapter-ajax-angularjs.js.map +1 -0
  261. package/{fesm2020/breeze-client-adapter-ajax-fetch.mjs → fesm5/breeze-client-adapter-ajax-fetch.js} +43 -44
  262. package/fesm5/breeze-client-adapter-ajax-fetch.js.map +1 -0
  263. package/{fesm2020/breeze-client-adapter-ajax-httpclient.mjs → fesm5/breeze-client-adapter-ajax-httpclient.js} +44 -43
  264. package/fesm5/breeze-client-adapter-ajax-httpclient.js.map +1 -0
  265. package/{fesm2020/breeze-client-adapter-ajax-jquery.mjs → fesm5/breeze-client-adapter-ajax-jquery.js} +19 -18
  266. package/fesm5/breeze-client-adapter-ajax-jquery.js.map +1 -0
  267. package/{fesm2015/breeze-client-adapter-ajax-post.mjs → fesm5/breeze-client-adapter-ajax-post.js} +11 -8
  268. package/fesm5/breeze-client-adapter-ajax-post.js.map +1 -0
  269. package/{fesm2020/breeze-client-adapter-data-service-odata.mjs → fesm5/breeze-client-adapter-data-service-odata.js} +134 -126
  270. package/fesm5/breeze-client-adapter-data-service-odata.js.map +1 -0
  271. package/{fesm2020/breeze-client-adapter-data-service-webapi.mjs → fesm5/breeze-client-adapter-data-service-webapi.js} +42 -38
  272. package/fesm5/breeze-client-adapter-data-service-webapi.js.map +1 -0
  273. package/{fesm2015/breeze-client-adapter-model-library-backing-store.mjs → fesm5/breeze-client-adapter-model-library-backing-store.js} +64 -63
  274. package/fesm5/breeze-client-adapter-model-library-backing-store.js.map +1 -0
  275. package/{fesm2015/breeze-client-adapter-model-library-ko.mjs → fesm5/breeze-client-adapter-model-library-ko.js} +58 -57
  276. package/fesm5/breeze-client-adapter-model-library-ko.js.map +1 -0
  277. package/fesm5/breeze-client-adapter-uri-builder-json.js +92 -0
  278. package/fesm5/breeze-client-adapter-uri-builder-json.js.map +1 -0
  279. package/fesm5/breeze-client-adapter-uri-builder-odata.js +250 -0
  280. package/fesm5/breeze-client-adapter-uri-builder-odata.js.map +1 -0
  281. package/{fesm2020/breeze-client-mixin-get-entity-graph.mjs → fesm5/breeze-client-mixin-get-entity-graph.js} +45 -45
  282. package/fesm5/breeze-client-mixin-get-entity-graph.js.map +1 -0
  283. package/{fesm2020/breeze-client-mixin-save-queuing.mjs → fesm5/breeze-client-mixin-save-queuing.js} +126 -116
  284. package/fesm5/breeze-client-mixin-save-queuing.js.map +1 -0
  285. package/{fesm2020/breeze-client.mjs → fesm5/breeze-client.js} +3630 -3414
  286. package/fesm5/breeze-client.js.map +1 -0
  287. package/mixin-get-entity-graph/{index.d.ts → breeze-client-mixin-get-entity-graph.d.ts} +0 -1
  288. package/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.metadata.json +1 -0
  289. package/mixin-get-entity-graph/package.json +13 -0
  290. package/mixin-save-queuing/{index.d.ts → breeze-client-mixin-save-queuing.d.ts} +0 -1
  291. package/mixin-save-queuing/breeze-client-mixin-save-queuing.metadata.json +1 -0
  292. package/mixin-save-queuing/package.json +13 -0
  293. package/package.json +12 -126
  294. package/src/entity-metadata.d.ts +4 -6
  295. package/src/entity-query.d.ts +1 -1
  296. package/esm2020/adapter-ajax-angularjs/adapter-ajax-angularjs.mjs +0 -130
  297. package/esm2020/adapter-ajax-angularjs/adapter-core.mjs +0 -49
  298. package/esm2020/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.mjs +0 -5
  299. package/esm2020/adapter-ajax-fetch/adapter-ajax-fetch.mjs +0 -132
  300. package/esm2020/adapter-ajax-fetch/adapter-core.mjs +0 -49
  301. package/esm2020/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.mjs +0 -5
  302. package/esm2020/adapter-ajax-httpclient/adapter-ajax-httpclient.mjs +0 -137
  303. package/esm2020/adapter-ajax-httpclient/adapter-core.mjs +0 -49
  304. package/esm2020/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.mjs +0 -5
  305. package/esm2020/adapter-ajax-jquery/adapter-ajax-jquery.mjs +0 -103
  306. package/esm2020/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.mjs +0 -5
  307. package/esm2020/adapter-ajax-post/adapter-ajax-post.mjs +0 -77
  308. package/esm2020/adapter-ajax-post/breeze-client-adapter-ajax-post.mjs +0 -5
  309. package/esm2020/adapter-data-service-odata/adapter-core.mjs +0 -49
  310. package/esm2020/adapter-data-service-odata/adapter-data-service-odata.mjs +0 -456
  311. package/esm2020/adapter-data-service-odata/breeze-client-adapter-data-service-odata.mjs +0 -5
  312. package/esm2020/adapter-data-service-webapi/adapter-data-service-webapi.mjs +0 -93
  313. package/esm2020/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.mjs +0 -5
  314. package/esm2020/adapter-model-library-backing-store/adapter-model-library-backing-store.mjs +0 -268
  315. package/esm2020/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.mjs +0 -5
  316. package/esm2020/adapter-model-library-ko/adapter-model-library-ko.mjs +0 -240
  317. package/esm2020/adapter-model-library-ko/breeze-client-adapter-model-library-ko.mjs +0 -5
  318. package/esm2020/adapter-uri-builder-json/adapter-core.mjs +0 -49
  319. package/esm2020/adapter-uri-builder-json/adapter-uri-builder-json.mjs +0 -36
  320. package/esm2020/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.mjs +0 -5
  321. package/esm2020/adapter-uri-builder-odata/adapter-core.mjs +0 -49
  322. package/esm2020/adapter-uri-builder-odata/adapter-uri-builder-odata.mjs +0 -190
  323. package/esm2020/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.mjs +0 -5
  324. package/esm2020/breeze-client.mjs +0 -5
  325. package/esm2020/index.mjs +0 -2
  326. package/esm2020/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.mjs +0 -5
  327. package/esm2020/mixin-get-entity-graph/mixin-get-entity-graph.mjs +0 -269
  328. package/esm2020/mixin-save-queuing/breeze-client-mixin-save-queuing.mjs +0 -5
  329. package/esm2020/mixin-save-queuing/mixin-save-queuing.mjs +0 -400
  330. package/esm2020/src/abstract-data-service-adapter.mjs +0 -296
  331. package/esm2020/src/array.mjs +0 -4
  332. package/esm2020/src/assert-param.mjs +0 -312
  333. package/esm2020/src/breeze.mjs +0 -85
  334. package/esm2020/src/complex-array.mjs +0 -117
  335. package/esm2020/src/config.mjs +0 -223
  336. package/esm2020/src/core.mjs +0 -707
  337. package/esm2020/src/csdl-metadata-parser.mjs +0 -385
  338. package/esm2020/src/data-service.mjs +0 -203
  339. package/esm2020/src/data-type.mjs +0 -444
  340. package/esm2020/src/default-property-interceptor.mjs +0 -460
  341. package/esm2020/src/entity-action.mjs +0 -45
  342. package/esm2020/src/entity-aspect.mjs +0 -806
  343. package/esm2020/src/entity-group.mjs +0 -187
  344. package/esm2020/src/entity-key.mjs +0 -116
  345. package/esm2020/src/entity-manager.mjs +0 -2094
  346. package/esm2020/src/entity-metadata.mjs +0 -2109
  347. package/esm2020/src/entity-query.mjs +0 -996
  348. package/esm2020/src/entity-state.mjs +0 -99
  349. package/esm2020/src/enum.mjs +0 -141
  350. package/esm2020/src/event.mjs +0 -256
  351. package/esm2020/src/interface-registry.mjs +0 -41
  352. package/esm2020/src/key-generator.mjs +0 -108
  353. package/esm2020/src/local-query-comparison-options.mjs +0 -65
  354. package/esm2020/src/mapping-context.mjs +0 -405
  355. package/esm2020/src/naming-convention.mjs +0 -88
  356. package/esm2020/src/observable-array.mjs +0 -183
  357. package/esm2020/src/predicate.mjs +0 -1232
  358. package/esm2020/src/primitive-array.mjs +0 -85
  359. package/esm2020/src/query-options.mjs +0 -152
  360. package/esm2020/src/relation-array.mjs +0 -173
  361. package/esm2020/src/save-options.mjs +0 -41
  362. package/esm2020/src/unattached-children-map.mjs +0 -58
  363. package/esm2020/src/validate.mjs +0 -988
  364. package/esm2020/src/validation-options.mjs +0 -64
  365. package/fesm2015/breeze-client-adapter-ajax-angularjs.mjs.map +0 -1
  366. package/fesm2015/breeze-client-adapter-ajax-fetch.mjs.map +0 -1
  367. package/fesm2015/breeze-client-adapter-ajax-httpclient.mjs.map +0 -1
  368. package/fesm2015/breeze-client-adapter-ajax-jquery.mjs.map +0 -1
  369. package/fesm2015/breeze-client-adapter-ajax-post.mjs.map +0 -1
  370. package/fesm2015/breeze-client-adapter-data-service-odata.mjs.map +0 -1
  371. package/fesm2015/breeze-client-adapter-data-service-webapi.mjs.map +0 -1
  372. package/fesm2015/breeze-client-adapter-model-library-backing-store.mjs.map +0 -1
  373. package/fesm2015/breeze-client-adapter-model-library-ko.mjs.map +0 -1
  374. package/fesm2015/breeze-client-adapter-uri-builder-json.mjs +0 -91
  375. package/fesm2015/breeze-client-adapter-uri-builder-json.mjs.map +0 -1
  376. package/fesm2015/breeze-client-adapter-uri-builder-odata.mjs +0 -245
  377. package/fesm2015/breeze-client-adapter-uri-builder-odata.mjs.map +0 -1
  378. package/fesm2015/breeze-client-mixin-get-entity-graph.mjs.map +0 -1
  379. package/fesm2015/breeze-client-mixin-save-queuing.mjs.map +0 -1
  380. package/fesm2015/breeze-client.mjs.map +0 -1
  381. package/fesm2020/breeze-client-adapter-ajax-angularjs.mjs.map +0 -1
  382. package/fesm2020/breeze-client-adapter-ajax-fetch.mjs.map +0 -1
  383. package/fesm2020/breeze-client-adapter-ajax-httpclient.mjs.map +0 -1
  384. package/fesm2020/breeze-client-adapter-ajax-jquery.mjs.map +0 -1
  385. package/fesm2020/breeze-client-adapter-ajax-post.mjs.map +0 -1
  386. package/fesm2020/breeze-client-adapter-data-service-odata.mjs.map +0 -1
  387. package/fesm2020/breeze-client-adapter-data-service-webapi.mjs.map +0 -1
  388. package/fesm2020/breeze-client-adapter-model-library-backing-store.mjs.map +0 -1
  389. package/fesm2020/breeze-client-adapter-model-library-ko.mjs.map +0 -1
  390. package/fesm2020/breeze-client-adapter-uri-builder-json.mjs.map +0 -1
  391. package/fesm2020/breeze-client-adapter-uri-builder-odata.mjs.map +0 -1
  392. package/fesm2020/breeze-client-mixin-get-entity-graph.mjs.map +0 -1
  393. package/fesm2020/breeze-client-mixin-save-queuing.mjs.map +0 -1
  394. package/fesm2020/breeze-client.mjs.map +0 -1
@@ -1,24 +1,24 @@
1
- import * as breeze from 'breeze-client';
1
+ import { core as core$1, config, DataProperty, makeComplexArray, makePrimitiveArray, NavigationProperty, makeRelationArray } from 'breeze-client';
2
2
 
3
- let core = breeze.core;
4
- let canIsolateES5Props = core.isES5Supported;
5
- let ko;
6
- class ModelLibraryKnockoutAdapter {
7
- constructor() {
3
+ var core = core$1;
4
+ var canIsolateES5Props = core.isES5Supported;
5
+ var ko;
6
+ var ModelLibraryKnockoutAdapter = /** @class */ (function () {
7
+ function ModelLibraryKnockoutAdapter() {
8
8
  this.name = "ko";
9
9
  }
10
- static register(config) {
11
- config = config || breeze.config;
12
- config.registerAdapter("modelLibrary", ModelLibraryKnockoutAdapter);
13
- return config.initializeAdapterInstance("modelLibrary", "ko", true);
14
- }
15
- initialize() {
10
+ ModelLibraryKnockoutAdapter.register = function (config$1) {
11
+ config$1 = config$1 || config;
12
+ config$1.registerAdapter("modelLibrary", ModelLibraryKnockoutAdapter);
13
+ return config$1.initializeAdapterInstance("modelLibrary", "ko", true);
14
+ };
15
+ ModelLibraryKnockoutAdapter.prototype.initialize = function () {
16
16
  ko = core.requireLib("ko;knockout", "The Knockout library");
17
17
  ko.extenders.intercept = function (target, interceptorOptions) {
18
- let instance = interceptorOptions.instance;
19
- let property = interceptorOptions.property;
18
+ var instance = interceptorOptions.instance;
19
+ var property = interceptorOptions.property;
20
20
  // create a computed observable to intercept writes to our observable
21
- let result;
21
+ var result;
22
22
  if (target.splice) {
23
23
  result = ko.computed({
24
24
  read: target //always return the original observables value
@@ -36,20 +36,20 @@ class ModelLibraryKnockoutAdapter {
36
36
  //return the new computed observable
37
37
  return result;
38
38
  };
39
- }
40
- getTrackablePropertyNames(entity) {
41
- let names = [];
42
- for (let p in entity) {
39
+ };
40
+ ModelLibraryKnockoutAdapter.prototype.getTrackablePropertyNames = function (entity) {
41
+ var names = [];
42
+ for (var p in entity) {
43
43
  if (p === "entityType")
44
44
  continue;
45
45
  if (p === "_$typeName")
46
46
  continue;
47
- let propDescr = getES5PropDescriptor(entity, p);
47
+ var propDescr = getES5PropDescriptor(entity, p);
48
48
  if (propDescr && propDescr.get) {
49
49
  names.push(p);
50
50
  }
51
51
  else {
52
- let val = entity[p];
52
+ var val = entity[p];
53
53
  if (ko.isObservable(val)) {
54
54
  names.push(p);
55
55
  }
@@ -59,8 +59,8 @@ class ModelLibraryKnockoutAdapter {
59
59
  }
60
60
  }
61
61
  return names;
62
- }
63
- initializeEntityPrototype(proto) {
62
+ };
63
+ ModelLibraryKnockoutAdapter.prototype.initializeEntityPrototype = function (proto) {
64
64
  proto.getProperty = function (propertyName) {
65
65
  return this[propertyName]();
66
66
  };
@@ -72,42 +72,42 @@ class ModelLibraryKnockoutAdapter {
72
72
  if (canIsolateES5Props) {
73
73
  isolateES5Props(proto);
74
74
  }
75
- }
76
- startTracking(entity, proto) {
75
+ };
76
+ ModelLibraryKnockoutAdapter.prototype.startTracking = function (entity, proto) {
77
77
  // create ko's for each property and assign defaultValues
78
- let stype = (entity.entityType || entity.complexType);
79
- let es5Descriptors = stype._extra.es5Descriptors || {};
78
+ var stype = (entity.entityType || entity.complexType);
79
+ var es5Descriptors = stype._extra.es5Descriptors || {};
80
80
  // sort unmapped properties to the end
81
81
  stype.getProperties().sort(function (p1, p2) {
82
- let v1 = p1.isUnmapped ? 1 : 0;
83
- let v2 = p2.isUnmapped ? 1 : 0;
82
+ var v1 = p1.isUnmapped ? 1 : 0;
83
+ var v2 = p2.isUnmapped ? 1 : 0;
84
84
  return v1 - v2;
85
85
  }).forEach(function (prop) {
86
- let propName = prop.name;
87
- let val = entity[propName];
88
- let propDescr = es5Descriptors[propName];
89
- let koObj;
86
+ var propName = prop.name;
87
+ var val = entity[propName];
88
+ var propDescr = es5Descriptors[propName];
89
+ var koObj;
90
90
  // check if property is an ES5 property
91
91
  if (propDescr) {
92
- let getFn = propDescr.get.bind(entity);
92
+ var getFn_1 = propDescr.get.bind(entity);
93
93
  if (propDescr.set) {
94
- let setFn = propDescr.set.bind(entity);
95
- let rawAccessorFn = function (newValue) {
94
+ var setFn_1 = propDescr.set.bind(entity);
95
+ var rawAccessorFn_1 = function (newValue) {
96
96
  if (arguments.length === 0) {
97
- getFn();
97
+ getFn_1();
98
98
  return;
99
99
  }
100
100
  else {
101
- setFn(newValue);
101
+ setFn_1(newValue);
102
102
  }
103
103
  };
104
104
  koObj = ko.computed({
105
105
  read: function () {
106
106
  stype._koDummy();
107
- return getFn();
107
+ return getFn_1();
108
108
  },
109
109
  write: function (newValue) {
110
- entity._$interceptor(prop, newValue, rawAccessorFn);
110
+ entity._$interceptor(prop, newValue, rawAccessorFn_1);
111
111
  stype._koDummy.valueHasMutated();
112
112
  return entity;
113
113
  }
@@ -115,7 +115,7 @@ class ModelLibraryKnockoutAdapter {
115
115
  }
116
116
  else {
117
117
  koObj = ko.computed({
118
- read: getFn,
118
+ read: getFn_1,
119
119
  write: function () {
120
120
  }
121
121
  });
@@ -143,7 +143,7 @@ class ModelLibraryKnockoutAdapter {
143
143
  });
144
144
  }
145
145
  else {
146
- let koExt = koObj.extend({ intercept: { instance: entity, property: prop } });
146
+ var koExt = koObj.extend({ intercept: { instance: entity, property: prop } });
147
147
  entity[propName] = koExt;
148
148
  }
149
149
  }
@@ -160,9 +160,10 @@ class ModelLibraryKnockoutAdapter {
160
160
  entity[propName] = koObj;
161
161
  }
162
162
  });
163
- }
164
- }
165
- breeze.config.registerAdapter("modelLibrary", ModelLibraryKnockoutAdapter);
163
+ };
164
+ return ModelLibraryKnockoutAdapter;
165
+ }());
166
+ config.registerAdapter("modelLibrary", ModelLibraryKnockoutAdapter);
166
167
  // private fns
167
168
  function getES5PropDescriptor(proto, propName) {
168
169
  if (!canIsolateES5Props) {
@@ -172,29 +173,29 @@ function getES5PropDescriptor(proto, propName) {
172
173
  return Object.getOwnPropertyDescriptor && Object.getOwnPropertyDescriptor(proto, propName);
173
174
  }
174
175
  else {
175
- let nextProto = Object.getPrototypeOf(proto);
176
+ var nextProto = Object.getPrototypeOf(proto);
176
177
  return nextProto ? getES5PropDescriptor(nextProto, propName) : null;
177
178
  }
178
179
  }
179
180
  function initializeValueForProp(entity, prop, val) {
180
- if (prop instanceof breeze.DataProperty) {
181
+ if (prop instanceof DataProperty) {
181
182
  if (prop.isComplexProperty) {
182
183
  // TODO: right now we create Empty complexObjects here - these should actually come from the entity
183
184
  if (prop.isScalar) {
184
185
  val = prop.dataType._createInstanceCore(entity, prop);
185
186
  }
186
187
  else {
187
- val = breeze.makeComplexArray([], entity, prop);
188
+ val = makeComplexArray([], entity, prop);
188
189
  }
189
190
  }
190
191
  else if (!prop.isScalar) {
191
- val = breeze.makePrimitiveArray([], entity, prop);
192
+ val = makePrimitiveArray([], entity, prop);
192
193
  }
193
194
  else if (val === undefined) {
194
195
  val = prop.defaultValue;
195
196
  }
196
197
  }
197
- else if (prop instanceof breeze.NavigationProperty) {
198
+ else if (prop instanceof NavigationProperty) {
198
199
  if (val !== undefined) {
199
200
  throw new Error("Cannot assign a navigation property in an entity ctor.: " + prop.name);
200
201
  }
@@ -203,7 +204,7 @@ function initializeValueForProp(entity, prop, val) {
203
204
  val = null;
204
205
  }
205
206
  else {
206
- val = breeze.makeRelationArray([], entity, prop);
207
+ val = makeRelationArray([], entity, prop);
207
208
  }
208
209
  }
209
210
  else {
@@ -215,7 +216,7 @@ function onBeforeChange(args) {
215
216
  args._koObj._suppressBreeze = true;
216
217
  }
217
218
  function onArrayChanged(args) {
218
- let koObj = args.array._koObj;
219
+ var koObj = args.array._koObj;
219
220
  if (koObj._suppressBreeze) {
220
221
  koObj._suppressBreeze = false;
221
222
  }
@@ -224,16 +225,16 @@ function onArrayChanged(args) {
224
225
  }
225
226
  }
226
227
  function isolateES5Props(proto) {
227
- let stype = (proto.entityType || proto.complexType);
228
- let es5Descriptors = {};
228
+ var stype = (proto.entityType || proto.complexType);
229
+ var es5Descriptors = {};
229
230
  stype.getProperties().forEach(function (prop) {
230
- let propDescr = getES5PropDescriptor(proto, prop.name);
231
+ var propDescr = getES5PropDescriptor(proto, prop.name);
231
232
  if (propDescr) {
232
233
  es5Descriptors[prop.name] = propDescr;
233
234
  }
234
235
  });
235
236
  if (!core.isEmpty(es5Descriptors)) {
236
- let extra = stype._extra;
237
+ var extra = stype._extra;
237
238
  extra.es5Descriptors = es5Descriptors;
238
239
  stype._koDummy = ko.observable(null);
239
240
  }
@@ -244,4 +245,4 @@ function isolateES5Props(proto) {
244
245
  */
245
246
 
246
247
  export { ModelLibraryKnockoutAdapter };
247
- //# sourceMappingURL=breeze-client-adapter-model-library-ko.mjs.map
248
+ //# sourceMappingURL=breeze-client-adapter-model-library-ko.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breeze-client-adapter-model-library-ko.js","sources":["ng://breeze-client/adapter-model-library-ko/adapter-model-library-ko.ts","ng://breeze-client/adapter-model-library-ko/breeze-client-adapter-model-library-ko.ts"],"sourcesContent":["import * as breeze from 'breeze-client';\r\n\r\nlet core = breeze.core;\r\n\r\nlet canIsolateES5Props = core.isES5Supported;\r\nlet ko: any;\r\n\r\nexport class ModelLibraryKnockoutAdapter implements breeze.ModelLibraryAdapter {\r\n name: string;\r\n constructor() {\r\n this.name = \"ko\";\r\n }\r\n\r\n static register(config?: breeze.BreezeConfig) {\r\n config = config || breeze.config;\r\n config.registerAdapter(\"modelLibrary\", ModelLibraryKnockoutAdapter);\r\n return config.initializeAdapterInstance(\"modelLibrary\", \"ko\", true) as ModelLibraryKnockoutAdapter;\r\n }\r\n\r\n initialize() {\r\n ko = core.requireLib(\"ko;knockout\", \"The Knockout library\");\r\n ko.extenders.intercept = function (target: any, interceptorOptions: any) {\r\n let instance = interceptorOptions.instance;\r\n let property = interceptorOptions.property;\r\n\r\n // create a computed observable to intercept writes to our observable\r\n let result: any;\r\n if (target.splice) {\r\n result = ko.computed({\r\n read: target //always return the original observables value\r\n });\r\n } else {\r\n result = ko.computed({\r\n read: target, //always return the original observables value\r\n write: function (newValue: any) {\r\n instance._$interceptor(property, newValue, target);\r\n return instance;\r\n }\r\n });\r\n }\r\n //return the new computed observable\r\n return result;\r\n };\r\n\r\n }\r\n\r\n getTrackablePropertyNames(entity: any) {\r\n let names: string[] = [];\r\n for (let p in entity) {\r\n if (p === \"entityType\") continue;\r\n if (p === \"_$typeName\") continue;\r\n\r\n let propDescr = getES5PropDescriptor(entity, p);\r\n if (propDescr && propDescr.get) {\r\n names.push(p);\r\n } else {\r\n let val = entity[p];\r\n if (ko.isObservable(val)) {\r\n names.push(p);\r\n } else if (!core.isFunction(val)) {\r\n names.push(p);\r\n }\r\n }\r\n }\r\n return names;\r\n }\r\n\r\n initializeEntityPrototype(proto: any) {\r\n\r\n proto.getProperty = function (propertyName: string) {\r\n return this[propertyName]();\r\n };\r\n\r\n proto.setProperty = function (propertyName: string, value: any) {\r\n this[propertyName](value);\r\n // allow set property chaining.\r\n return this;\r\n };\r\n\r\n if (canIsolateES5Props) {\r\n isolateES5Props(proto);\r\n }\r\n\r\n }\r\n\r\n startTracking(entity: any, proto: any) {\r\n // create ko's for each property and assign defaultValues\r\n\r\n let stype = (entity.entityType || entity.complexType) as breeze.StructuralType;\r\n let es5Descriptors = stype._extra.es5Descriptors || {};\r\n\r\n // sort unmapped properties to the end\r\n stype.getProperties().sort(function (p1, p2) {\r\n let v1 = p1.isUnmapped ? 1 : 0;\r\n let v2 = p2.isUnmapped ? 1 : 0;\r\n return v1 - v2;\r\n }).forEach(function (prop) {\r\n let propName = prop.name;\r\n let val = entity[propName];\r\n let propDescr = es5Descriptors[propName];\r\n let koObj: any;\r\n\r\n // check if property is an ES5 property\r\n if (propDescr) {\r\n let getFn = propDescr.get.bind(entity);\r\n if (propDescr.set) {\r\n let setFn = propDescr.set.bind(entity);\r\n let rawAccessorFn = function (newValue: any) {\r\n if (arguments.length === 0) {\r\n getFn();\r\n return;\r\n } else {\r\n setFn(newValue);\r\n }\r\n };\r\n koObj = ko.computed({\r\n read: function () {\r\n (stype as any)._koDummy();\r\n return getFn();\r\n },\r\n write: function (newValue: any) {\r\n entity._$interceptor(prop, newValue, rawAccessorFn);\r\n (stype as any)._koDummy.valueHasMutated();\r\n return entity;\r\n }\r\n });\r\n } else {\r\n koObj = ko.computed({\r\n read: getFn,\r\n write: function () {\r\n }\r\n\r\n });\r\n }\r\n // check if property is already exposed as a ko object\r\n } else if (ko.isObservable(val)) {\r\n if (prop.isNavigationProperty) {\r\n throw new Error(\"Cannot assign a navigation property in an entity ctor.: \" + propName);\r\n }\r\n koObj = val;\r\n // otherwise\r\n } else {\r\n val = initializeValueForProp(entity, prop, val);\r\n koObj = prop.isScalar ? ko.observable(val) : ko.observableArray(val);\r\n }\r\n\r\n\r\n if (prop.isScalar) {\r\n if (propDescr) {\r\n Object.defineProperty(entity, propName, {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: koObj\r\n });\r\n } else {\r\n let koExt = koObj.extend({ intercept: { instance: entity, property: prop } });\r\n entity[propName] = koExt;\r\n }\r\n } else {\r\n val._koObj = koObj;\r\n // code to suppress extra breeze notification when\r\n // ko's array methods are called.\r\n koObj.subscribe(onBeforeChange, null, \"beforeChange\");\r\n // code to insure that any direct breeze changes notify ko\r\n val.arrayChanged.subscribe(onArrayChanged);\r\n\r\n koObj.equalityComparer = function () {\r\n throw new Error(\"Collection navigation properties may NOT be set.\");\r\n };\r\n entity[propName] = koObj;\r\n }\r\n\r\n });\r\n\r\n }\r\n}\r\n\r\nbreeze.config.registerAdapter(\"modelLibrary\", ModelLibraryKnockoutAdapter);\r\n\r\n\r\n// private fns\r\n\r\nfunction getES5PropDescriptor(proto: any, propName: string): any {\r\n if (!canIsolateES5Props) {\r\n return null;\r\n }\r\n if (proto.hasOwnProperty(propName)) {\r\n return Object.getOwnPropertyDescriptor && Object.getOwnPropertyDescriptor(proto, propName);\r\n } else {\r\n let nextProto = Object.getPrototypeOf(proto);\r\n return nextProto ? getES5PropDescriptor(nextProto, propName) : null;\r\n }\r\n}\r\n\r\nfunction initializeValueForProp(entity: any, prop: breeze.EntityProperty, val: any) {\r\n if (prop instanceof breeze.DataProperty) {\r\n if (prop.isComplexProperty) {\r\n // TODO: right now we create Empty complexObjects here - these should actually come from the entity\r\n if (prop.isScalar) {\r\n val = (prop.dataType as breeze.ComplexType)._createInstanceCore(entity, prop);\r\n } else {\r\n val = breeze.makeComplexArray([], entity, prop);\r\n }\r\n } else if (!prop.isScalar) {\r\n val = breeze.makePrimitiveArray([], entity, prop);\r\n } else if (val === undefined) {\r\n val = prop.defaultValue;\r\n }\r\n\r\n } else if (prop instanceof breeze.NavigationProperty) {\r\n if (val !== undefined) {\r\n throw new Error(\"Cannot assign a navigation property in an entity ctor.: \" + prop.name);\r\n }\r\n if (prop.isScalar) {\r\n // TODO: change this to nullEntity later.\r\n val = null;\r\n } else {\r\n val = breeze.makeRelationArray([], entity, prop);\r\n }\r\n } else {\r\n throw new Error(\"unknown property: \" + (prop as any).name);\r\n }\r\n return val;\r\n}\r\n\r\n\r\nfunction onBeforeChange(args: any) {\r\n args._koObj._suppressBreeze = true;\r\n}\r\n\r\nfunction onArrayChanged(args: any) {\r\n let koObj = args.array._koObj;\r\n if (koObj._suppressBreeze) {\r\n koObj._suppressBreeze = false;\r\n } else {\r\n koObj.valueHasMutated();\r\n }\r\n}\r\n\r\nfunction isolateES5Props(proto: any) {\r\n let stype = (proto.entityType || proto.complexType) as breeze.StructuralType;\r\n let es5Descriptors = {};\r\n stype.getProperties().forEach(function (prop) {\r\n let propDescr = getES5PropDescriptor(proto, prop.name);\r\n if (propDescr) {\r\n es5Descriptors[prop.name] = propDescr;\r\n }\r\n });\r\n if (!core.isEmpty(es5Descriptors)) {\r\n let extra = stype._extra;\r\n extra.es5Descriptors = es5Descriptors;\r\n (stype as any)._koDummy = ko.observable(null);\r\n }\r\n}\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './adapter-model-library-ko';\n"],"names":["breeze.core","config","breeze.config","breeze.DataProperty","breeze.makeComplexArray","breeze.makePrimitiveArray","breeze.NavigationProperty","breeze.makeRelationArray"],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ import { config, EntityType } from 'breeze-client';
2
+
3
+ /** Appends parameter to url, with appropriate delimiter */
4
+ function appendQueryStringParameter(url, parameter) {
5
+ if (!parameter)
6
+ return url;
7
+ var separator = url.endsWith("?") ? "" : url.includes("?") ? "&" : "?";
8
+ return url + separator + parameter;
9
+ }
10
+ /** Encodes the object into query string parameters */
11
+ function encodeParams(obj) {
12
+ var query = '';
13
+ var subValue, innerObj, fullSubName;
14
+ for (var name_1 in obj) {
15
+ if (!obj.hasOwnProperty(name_1)) {
16
+ continue;
17
+ }
18
+ var value = obj[name_1];
19
+ if (value instanceof Array) {
20
+ for (var i = 0; i < value.length; ++i) {
21
+ subValue = value[i];
22
+ fullSubName = name_1 + '[' + i + ']';
23
+ innerObj = {};
24
+ innerObj[fullSubName] = subValue;
25
+ query += encodeParams(innerObj) + '&';
26
+ }
27
+ }
28
+ else if (value && value.toISOString) { // a feature of Date-like things
29
+ query += encodeURIComponent(name_1) + '=' + encodeURIComponent(value.toISOString()) + '&';
30
+ }
31
+ else if (value instanceof Object) {
32
+ for (var subName in value) {
33
+ if (obj.hasOwnProperty(name_1)) {
34
+ subValue = value[subName];
35
+ fullSubName = name_1 + '[' + subName + ']';
36
+ innerObj = {};
37
+ innerObj[fullSubName] = subValue;
38
+ query += encodeParams(innerObj) + '&';
39
+ }
40
+ }
41
+ }
42
+ else if (value === null) {
43
+ query += encodeURIComponent(name_1) + '=&';
44
+ }
45
+ else if (value !== undefined) {
46
+ query += encodeURIComponent(name_1) + '=' + encodeURIComponent(value) + '&';
47
+ }
48
+ }
49
+ return query.length ? query.substr(0, query.length - 1) : query;
50
+ }
51
+
52
+ var UriBuilderJsonAdapter = /** @class */ (function () {
53
+ function UriBuilderJsonAdapter() {
54
+ this.name = "json";
55
+ }
56
+ UriBuilderJsonAdapter.register = function (config$1) {
57
+ config$1 = config$1 || config;
58
+ config$1.registerAdapter("uriBuilder", UriBuilderJsonAdapter);
59
+ return config$1.initializeAdapterInstance("uriBuilder", "json", true);
60
+ };
61
+ UriBuilderJsonAdapter.prototype.initialize = function () { };
62
+ UriBuilderJsonAdapter.prototype.buildUri = function (entityQuery, metadataStore) {
63
+ // force entityType validation;
64
+ var entityType = entityQuery._getFromEntityType(metadataStore, false);
65
+ if (!entityType)
66
+ entityType = new EntityType(metadataStore);
67
+ var json = entityQuery.toJSONExt({ entityType: entityType, toNameOnServer: true });
68
+ json.from = undefined;
69
+ json.queryOptions = undefined;
70
+ if (json.parameters && json.parameters.$data) {
71
+ // remove parameters if doing ajax post
72
+ json.parameters = undefined;
73
+ }
74
+ var jsonString = JSON.stringify(json);
75
+ if (jsonString.length > 2) {
76
+ var urlBody = encodeURIComponent(jsonString);
77
+ return appendQueryStringParameter(entityQuery.resourceName, urlBody);
78
+ }
79
+ else {
80
+ return entityQuery.resourceName;
81
+ }
82
+ };
83
+ return UriBuilderJsonAdapter;
84
+ }());
85
+ config.registerAdapter("uriBuilder", UriBuilderJsonAdapter);
86
+
87
+ /**
88
+ * Generated bundle index. Do not edit.
89
+ */
90
+
91
+ export { UriBuilderJsonAdapter };
92
+ //# sourceMappingURL=breeze-client-adapter-uri-builder-json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breeze-client-adapter-uri-builder-json.js","sources":["ng://breeze-client/adapter-uri-builder-json/adapter-core.ts","ng://breeze-client/adapter-uri-builder-json/adapter-uri-builder-json.ts","ng://breeze-client/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.ts"],"sourcesContent":["/** Appends parameter to url, with appropriate delimiter */\r\nexport function appendQueryStringParameter(url: string, parameter: string) {\r\n if (!parameter) return url;\r\n\r\n let separator = url.endsWith(\"?\") ? \"\" : url.includes(\"?\") ? \"&\" : \"?\";\r\n\r\n return url + separator + parameter;\r\n}\r\n\r\n/** Encodes the object into query string parameters */\r\nexport function encodeParams(obj: {}) {\r\n let query = '';\r\n let subValue: any, innerObj: any, fullSubName: any;\r\n\r\n for (let name in obj) {\r\n if (!obj.hasOwnProperty(name)) { continue; }\r\n\r\n let value = obj[name];\r\n\r\n if (value instanceof Array) {\r\n for (let i = 0; i < value.length; ++i) {\r\n subValue = value[i];\r\n fullSubName = name + '[' + i + ']';\r\n innerObj = {};\r\n innerObj[fullSubName] = subValue;\r\n query += encodeParams(innerObj) + '&';\r\n }\r\n } else if (value && value.toISOString) { // a feature of Date-like things\r\n query += encodeURIComponent(name) + '=' + encodeURIComponent(value.toISOString()) + '&';\r\n } else if (value instanceof Object) {\r\n for (let subName in value) {\r\n if (obj.hasOwnProperty(name)) {\r\n subValue = value[subName];\r\n fullSubName = name + '[' + subName + ']';\r\n innerObj = {};\r\n innerObj[fullSubName] = subValue;\r\n query += encodeParams(innerObj) + '&';\r\n }\r\n }\r\n } else if (value === null) {\r\n query += encodeURIComponent(name) + '=&';\r\n } else if (value !== undefined) {\r\n query += encodeURIComponent(name) + '=' + encodeURIComponent(value) + '&';\r\n }\r\n }\r\n\r\n return query.length ? query.substr(0, query.length - 1) : query;\r\n}\r\n","import * as breeze from 'breeze-client';\r\nimport { appendQueryStringParameter } from './adapter-core';\r\n\r\nexport class UriBuilderJsonAdapter implements breeze.UriBuilderAdapter {\r\n name: string;\r\n\r\n constructor() {\r\n this.name = \"json\";\r\n }\r\n\r\n static register(config?: breeze.BreezeConfig) {\r\n config = config || breeze.config;\r\n config.registerAdapter(\"uriBuilder\", UriBuilderJsonAdapter);\r\n return config.initializeAdapterInstance(\"uriBuilder\", \"json\", true) as UriBuilderJsonAdapter;\r\n }\r\n\r\n initialize() {}\r\n\r\n buildUri(entityQuery: breeze.EntityQuery, metadataStore: breeze.MetadataStore) {\r\n // force entityType validation;\r\n let entityType = entityQuery._getFromEntityType(metadataStore, false);\r\n if (!entityType) entityType = new breeze.EntityType(metadataStore);\r\n let json = entityQuery.toJSONExt( { entityType: entityType, toNameOnServer: true}) as any;\r\n json.from = undefined;\r\n json.queryOptions = undefined;\r\n if (json.parameters && json.parameters.$data) {\r\n // remove parameters if doing ajax post\r\n json.parameters = undefined;\r\n }\r\n\r\n let jsonString = JSON.stringify(json);\r\n if (jsonString.length > 2) {\r\n let urlBody = encodeURIComponent(jsonString);\r\n return appendQueryStringParameter(entityQuery.resourceName, urlBody);\r\n } else {\r\n return entityQuery.resourceName;\r\n }\r\n\r\n }\r\n\r\n}\r\n\r\nbreeze.config.registerAdapter(\"uriBuilder\", UriBuilderJsonAdapter);\r\n\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './adapter-uri-builder-json';\n"],"names":["config","breeze.config","breeze.EntityType"],"mappings":"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"}
@@ -0,0 +1,250 @@
1
+ import { config, EntityType, Predicate, core } from 'breeze-client';
2
+
3
+ /** Appends parameter to url, with appropriate delimiter */
4
+ function appendQueryStringParameter(url, parameter) {
5
+ if (!parameter)
6
+ return url;
7
+ var separator = url.endsWith("?") ? "" : url.includes("?") ? "&" : "?";
8
+ return url + separator + parameter;
9
+ }
10
+ /** Encodes the object into query string parameters */
11
+ function encodeParams(obj) {
12
+ var query = '';
13
+ var subValue, innerObj, fullSubName;
14
+ for (var name_1 in obj) {
15
+ if (!obj.hasOwnProperty(name_1)) {
16
+ continue;
17
+ }
18
+ var value = obj[name_1];
19
+ if (value instanceof Array) {
20
+ for (var i = 0; i < value.length; ++i) {
21
+ subValue = value[i];
22
+ fullSubName = name_1 + '[' + i + ']';
23
+ innerObj = {};
24
+ innerObj[fullSubName] = subValue;
25
+ query += encodeParams(innerObj) + '&';
26
+ }
27
+ }
28
+ else if (value && value.toISOString) { // a feature of Date-like things
29
+ query += encodeURIComponent(name_1) + '=' + encodeURIComponent(value.toISOString()) + '&';
30
+ }
31
+ else if (value instanceof Object) {
32
+ for (var subName in value) {
33
+ if (obj.hasOwnProperty(name_1)) {
34
+ subValue = value[subName];
35
+ fullSubName = name_1 + '[' + subName + ']';
36
+ innerObj = {};
37
+ innerObj[fullSubName] = subValue;
38
+ query += encodeParams(innerObj) + '&';
39
+ }
40
+ }
41
+ }
42
+ else if (value === null) {
43
+ query += encodeURIComponent(name_1) + '=&';
44
+ }
45
+ else if (value !== undefined) {
46
+ query += encodeURIComponent(name_1) + '=' + encodeURIComponent(value) + '&';
47
+ }
48
+ }
49
+ return query.length ? query.substr(0, query.length - 1) : query;
50
+ }
51
+
52
+ var UriBuilderODataAdapter = /** @class */ (function () {
53
+ function UriBuilderODataAdapter() {
54
+ this.name = "odata";
55
+ }
56
+ UriBuilderODataAdapter.register = function (config$1) {
57
+ config$1 = config$1 || config;
58
+ config$1.registerAdapter("uriBuilder", UriBuilderODataAdapter);
59
+ return config$1.initializeAdapterInstance("uriBuilder", "odata", true);
60
+ };
61
+ UriBuilderODataAdapter.prototype.initialize = function () { };
62
+ UriBuilderODataAdapter.prototype.buildUri = function (entityQuery, metadataStore) {
63
+ // force entityType validation;
64
+ var entityType = entityQuery._getFromEntityType(metadataStore, false);
65
+ if (!entityType) {
66
+ // anonymous type but still has naming convention info avail
67
+ entityType = new EntityType(metadataStore);
68
+ }
69
+ var queryOptions = {};
70
+ queryOptions["$filter"] = toWhereODataFragment(entityQuery.wherePredicate);
71
+ queryOptions["$orderby"] = toOrderByODataFragment(entityQuery.orderByClause);
72
+ if (entityQuery.skipCount) {
73
+ queryOptions["$skip"] = entityQuery.skipCount;
74
+ }
75
+ if (entityQuery.takeCount != null) {
76
+ queryOptions["$top"] = entityQuery.takeCount;
77
+ }
78
+ queryOptions["$expand"] = toExpandODataFragment(entityQuery.expandClause);
79
+ queryOptions["$select"] = toSelectODataFragment(entityQuery.selectClause);
80
+ if (entityQuery.inlineCountEnabled) {
81
+ queryOptions["$inlinecount"] = "allpages";
82
+ }
83
+ var qoText = toQueryOptionsString(queryOptions);
84
+ return appendQueryStringParameter(entityQuery.resourceName, qoText);
85
+ // private methods to this func.
86
+ function toWhereODataFragment(wherePredicate) {
87
+ if (!wherePredicate)
88
+ return undefined;
89
+ // validation occurs inside of the toODataFragment call here.
90
+ var frag = wherePredicate.visit({ entityType: entityType }, toODataFragmentVisitor);
91
+ return (frag && frag.length > 0) ? frag : undefined;
92
+ }
93
+ function toOrderByODataFragment(orderByClause) {
94
+ if (!orderByClause)
95
+ return undefined;
96
+ orderByClause.validate(entityType);
97
+ var strings = orderByClause.items.map(function (item) {
98
+ return entityType.clientPropertyPathToServer(item.propertyPath, "/") + (item.isDesc ? " desc" : "");
99
+ });
100
+ // should return something like CompanyName,Address/City desc
101
+ return strings.join(',');
102
+ }
103
+ function toSelectODataFragment(selectClause) {
104
+ if (!selectClause)
105
+ return undefined;
106
+ selectClause.validate(entityType);
107
+ var frag = selectClause.propertyPaths.map(function (pp) {
108
+ return entityType.clientPropertyPathToServer(pp, "/");
109
+ }).join(",");
110
+ return frag;
111
+ }
112
+ function toExpandODataFragment(expandClause) {
113
+ if (!expandClause)
114
+ return undefined;
115
+ // no validate on expand clauses currently.
116
+ // expandClause.validate(entityType);
117
+ var frag = expandClause.propertyPaths.map(function (pp) {
118
+ return entityType.clientPropertyPathToServer(pp, "/");
119
+ }).join(",");
120
+ return frag;
121
+ }
122
+ function toQueryOptionsString(queryOptions) {
123
+ var qoStrings = [];
124
+ var _loop_1 = function (qoName) {
125
+ var qoValue = queryOptions[qoName];
126
+ if (qoValue !== undefined) {
127
+ if (qoValue instanceof Array) {
128
+ qoValue.forEach(function (qov) {
129
+ qoStrings.push(qoName + "=" + encodeURIComponent(qov));
130
+ });
131
+ }
132
+ else {
133
+ qoStrings.push(qoName + "=" + encodeURIComponent(qoValue));
134
+ }
135
+ }
136
+ };
137
+ for (var qoName in queryOptions) {
138
+ _loop_1(qoName);
139
+ }
140
+ if (qoStrings.length > 0) {
141
+ return qoStrings.join("&");
142
+ }
143
+ else {
144
+ return "";
145
+ }
146
+ }
147
+ };
148
+ return UriBuilderODataAdapter;
149
+ }());
150
+ Predicate.prototype.toODataFragment = function (context) {
151
+ return this.visit(context, toODataFragmentVisitor);
152
+ };
153
+ var ɵ0 = function () {
154
+ return this.value;
155
+ }, ɵ1 = function (context) {
156
+ var predVal = this.pred.visit(context);
157
+ return odataOpFrom(this) + " " + "(" + predVal + ")";
158
+ }, ɵ2 = function (context) {
159
+ var expr1Val = this.expr1.visit(context);
160
+ var expr2Val = this.expr2.visit(context);
161
+ var prefix = context.prefix;
162
+ if (prefix) {
163
+ expr1Val = prefix + "/" + expr1Val;
164
+ }
165
+ var odataOp = odataOpFrom(this);
166
+ if (this.op.key === 'in') {
167
+ var result = expr2Val.map(function (v) {
168
+ return "(" + expr1Val + " eq " + v + ")";
169
+ }).join(" or ");
170
+ return result;
171
+ }
172
+ else if (this.op.isFunction) {
173
+ if (odataOp === "substringof") {
174
+ return odataOp + "(" + expr2Val + "," + expr1Val + ") eq true";
175
+ }
176
+ else {
177
+ return odataOp + "(" + expr1Val + "," + expr2Val + ") eq true";
178
+ }
179
+ }
180
+ else {
181
+ return expr1Val + " " + odataOp + " " + expr2Val;
182
+ }
183
+ }, ɵ3 = function (context) {
184
+ var result = this.preds.map(function (pred) {
185
+ var predVal = pred.visit(context);
186
+ return "(" + predVal + ")";
187
+ }).join(" " + odataOpFrom(this) + " ");
188
+ return result;
189
+ }, ɵ4 = function (context) {
190
+ var exprVal = this.expr.visit(context);
191
+ if (!this.pred.op) { // added 21-Oct-2016 to fix breeze.js issue #172
192
+ return exprVal + "/" + odataOpFrom(this) + "()";
193
+ }
194
+ var prefix = context.prefix;
195
+ if (prefix) {
196
+ exprVal = prefix + "/" + exprVal;
197
+ prefix = "x" + (parseInt(prefix.substring(1)) + 1);
198
+ }
199
+ else {
200
+ prefix = "x1";
201
+ }
202
+ // need to create a new context because of 'prefix'
203
+ var newContext = core.extend({}, context);
204
+ newContext.entityType = this.expr.dataType;
205
+ newContext.prefix = prefix;
206
+ var newPredVal = this.pred.visit(newContext);
207
+ return exprVal + "/" + odataOpFrom(this) + "(" + prefix + ": " + newPredVal + ")";
208
+ }, ɵ5 = function () {
209
+ if (Array.isArray(this.value)) {
210
+ return this.value.map(function (v) { return this.dataType.fmtOData(v); }, this);
211
+ }
212
+ else {
213
+ return this.dataType.fmtOData(this.value);
214
+ }
215
+ }, ɵ6 = function (context) {
216
+ var entityType = context.entityType;
217
+ // '/' is the OData path delimiter
218
+ return entityType ? entityType.clientPropertyPathToServer(this.propertyPath, "/") : this.propertyPath;
219
+ }, ɵ7 = function (context) {
220
+ var exprVals = this.exprs.map(function (expr) {
221
+ return expr.visit(context);
222
+ });
223
+ return this.fnName + "(" + exprVals.join(",") + ")";
224
+ };
225
+ var toODataFragmentVisitor = {
226
+ passthruPredicate: ɵ0,
227
+ unaryPredicate: ɵ1,
228
+ binaryPredicate: ɵ2,
229
+ andOrPredicate: ɵ3,
230
+ anyAllPredicate: ɵ4,
231
+ litExpr: ɵ5,
232
+ propExpr: ɵ6,
233
+ fnExpr: ɵ7
234
+ };
235
+ var _operatorMap = {
236
+ 'contains': 'substringof'
237
+ };
238
+ function odataOpFrom(node) {
239
+ var op = node.op.key;
240
+ var odataOp = _operatorMap[op];
241
+ return odataOp || op;
242
+ }
243
+ config.registerAdapter("uriBuilder", UriBuilderODataAdapter);
244
+
245
+ /**
246
+ * Generated bundle index. Do not edit.
247
+ */
248
+
249
+ export { UriBuilderODataAdapter, ɵ0, ɵ1, ɵ2, ɵ3, ɵ4, ɵ5, ɵ6, ɵ7 };
250
+ //# sourceMappingURL=breeze-client-adapter-uri-builder-odata.js.map