breeze-client 2.1.2 → 2.1.3-mjs

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