breeze-client 2.1.7-mjs → 2.2.0-cjs
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -4
- package/adapter-ajax-angularjs/{index.d.ts → breeze-client-adapter-ajax-angularjs.d.ts} +0 -1
- package/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.metadata.json +1 -0
- package/adapter-ajax-angularjs/package.json +13 -0
- package/adapter-ajax-fetch/{index.d.ts → breeze-client-adapter-ajax-fetch.d.ts} +0 -1
- package/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.metadata.json +1 -0
- package/adapter-ajax-fetch/package.json +13 -0
- package/adapter-ajax-httpclient/{index.d.ts → breeze-client-adapter-ajax-httpclient.d.ts} +0 -1
- package/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.metadata.json +1 -0
- package/adapter-ajax-httpclient/package.json +13 -0
- package/adapter-ajax-jquery/{index.d.ts → breeze-client-adapter-ajax-jquery.d.ts} +0 -1
- package/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.metadata.json +1 -0
- package/adapter-ajax-jquery/package.json +13 -0
- package/adapter-ajax-post/{index.d.ts → breeze-client-adapter-ajax-post.d.ts} +0 -1
- package/adapter-ajax-post/breeze-client-adapter-ajax-post.metadata.json +1 -0
- package/adapter-ajax-post/package.json +13 -0
- package/adapter-data-service-odata/{index.d.ts → breeze-client-adapter-data-service-odata.d.ts} +0 -1
- package/adapter-data-service-odata/breeze-client-adapter-data-service-odata.metadata.json +1 -0
- package/adapter-data-service-odata/package.json +13 -0
- package/adapter-data-service-webapi/{index.d.ts → breeze-client-adapter-data-service-webapi.d.ts} +0 -1
- package/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.metadata.json +1 -0
- package/adapter-data-service-webapi/package.json +13 -0
- package/adapter-model-library-backing-store/{index.d.ts → breeze-client-adapter-model-library-backing-store.d.ts} +0 -1
- package/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.metadata.json +1 -0
- package/adapter-model-library-backing-store/package.json +13 -0
- package/adapter-model-library-ko/{index.d.ts → breeze-client-adapter-model-library-ko.d.ts} +0 -1
- package/adapter-model-library-ko/breeze-client-adapter-model-library-ko.metadata.json +1 -0
- package/adapter-model-library-ko/package.json +13 -0
- package/adapter-uri-builder-json/{index.d.ts → breeze-client-adapter-uri-builder-json.d.ts} +0 -1
- package/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.metadata.json +1 -0
- package/adapter-uri-builder-json/package.json +13 -0
- package/adapter-uri-builder-odata/{index.d.ts → breeze-client-adapter-uri-builder-odata.d.ts} +0 -1
- package/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.metadata.json +1 -0
- package/adapter-uri-builder-odata/package.json +13 -0
- package/breeze-client.d.ts +8 -0
- package/breeze-client.metadata.json +1 -0
- package/bundles/breeze-client-adapter-ajax-angularjs.umd.js +190 -0
- package/bundles/breeze-client-adapter-ajax-angularjs.umd.js.map +1 -0
- package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js +2 -0
- package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js.map +1 -0
- package/bundles/breeze-client-adapter-ajax-fetch.umd.js +190 -0
- package/bundles/breeze-client-adapter-ajax-fetch.umd.js.map +1 -0
- package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js +2 -0
- package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js.map +1 -0
- package/bundles/breeze-client-adapter-ajax-httpclient.umd.js +195 -0
- package/bundles/breeze-client-adapter-ajax-httpclient.umd.js.map +1 -0
- package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js +2 -0
- package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js.map +1 -0
- package/bundles/breeze-client-adapter-ajax-jquery.umd.js +115 -0
- package/bundles/breeze-client-adapter-ajax-jquery.umd.js.map +1 -0
- package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js +2 -0
- package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js.map +1 -0
- package/bundles/breeze-client-adapter-ajax-post.umd.js +92 -0
- package/bundles/breeze-client-adapter-ajax-post.umd.js.map +1 -0
- package/bundles/breeze-client-adapter-ajax-post.umd.min.js +2 -0
- package/bundles/breeze-client-adapter-ajax-post.umd.min.js.map +1 -0
- package/bundles/breeze-client-adapter-data-service-odata.umd.js +747 -0
- package/bundles/breeze-client-adapter-data-service-odata.umd.js.map +1 -0
- package/bundles/breeze-client-adapter-data-service-odata.umd.min.js +16 -0
- package/bundles/breeze-client-adapter-data-service-odata.umd.min.js.map +1 -0
- package/bundles/breeze-client-adapter-data-service-webapi.umd.js +333 -0
- package/bundles/breeze-client-adapter-data-service-webapi.umd.js.map +1 -0
- package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js +16 -0
- package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js.map +1 -0
- package/bundles/breeze-client-adapter-model-library-backing-store.umd.js +280 -0
- package/bundles/breeze-client-adapter-model-library-backing-store.umd.js.map +1 -0
- package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js +2 -0
- package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js.map +1 -0
- package/bundles/breeze-client-adapter-model-library-ko.umd.js +252 -0
- package/bundles/breeze-client-adapter-model-library-ko.umd.js.map +1 -0
- package/bundles/breeze-client-adapter-model-library-ko.umd.min.js +2 -0
- package/bundles/breeze-client-adapter-model-library-ko.umd.min.js.map +1 -0
- package/bundles/breeze-client-adapter-uri-builder-json.umd.js +96 -0
- package/bundles/breeze-client-adapter-uri-builder-json.umd.js.map +1 -0
- package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js +2 -0
- package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js.map +1 -0
- package/bundles/breeze-client-adapter-uri-builder-odata.umd.js +262 -0
- package/bundles/breeze-client-adapter-uri-builder-odata.umd.js.map +1 -0
- package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js +2 -0
- package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js.map +1 -0
- package/bundles/breeze-client-mixin-get-entity-graph.umd.js +258 -0
- package/bundles/breeze-client-mixin-get-entity-graph.umd.js.map +1 -0
- package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js +2 -0
- package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js.map +1 -0
- package/bundles/breeze-client-mixin-save-queuing.umd.js +579 -0
- package/bundles/breeze-client-mixin-save-queuing.umd.js.map +1 -0
- package/bundles/breeze-client-mixin-save-queuing.umd.min.js +16 -0
- package/bundles/breeze-client-mixin-save-queuing.umd.min.js.map +1 -0
- package/bundles/breeze-client.umd.js +14234 -0
- package/bundles/breeze-client.umd.js.map +1 -0
- package/bundles/breeze-client.umd.min.js +16 -0
- package/bundles/breeze-client.umd.min.js.map +1 -0
- package/esm2015/adapter-ajax-angularjs/adapter-ajax-angularjs.js +130 -0
- package/esm2015/adapter-ajax-angularjs/adapter-core.js +49 -0
- package/esm2015/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +5 -0
- package/esm2015/adapter-ajax-fetch/adapter-ajax-fetch.js +130 -0
- package/esm2015/adapter-ajax-fetch/adapter-core.js +49 -0
- package/esm2015/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +5 -0
- package/esm2015/adapter-ajax-httpclient/adapter-ajax-httpclient.js +137 -0
- package/esm2015/adapter-ajax-httpclient/adapter-core.js +49 -0
- package/esm2015/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +5 -0
- package/esm2015/adapter-ajax-jquery/adapter-ajax-jquery.js +103 -0
- package/esm2015/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +5 -0
- package/esm2015/adapter-ajax-post/adapter-ajax-post.js +77 -0
- package/esm2015/adapter-ajax-post/breeze-client-adapter-ajax-post.js +5 -0
- package/esm2015/adapter-data-service-odata/adapter-core.js +49 -0
- package/esm2015/adapter-data-service-odata/adapter-data-service-odata.js +463 -0
- package/esm2015/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +5 -0
- package/esm2015/adapter-data-service-webapi/adapter-data-service-webapi.js +100 -0
- package/esm2015/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +5 -0
- package/esm2015/adapter-model-library-backing-store/adapter-model-library-backing-store.js +268 -0
- package/esm2015/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +5 -0
- package/esm2015/adapter-model-library-ko/adapter-model-library-ko.js +240 -0
- package/esm2015/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +5 -0
- package/esm2015/adapter-uri-builder-json/adapter-core.js +49 -0
- package/esm2015/adapter-uri-builder-json/adapter-uri-builder-json.js +36 -0
- package/esm2015/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +5 -0
- package/esm2015/adapter-uri-builder-odata/adapter-core.js +49 -0
- package/esm2015/adapter-uri-builder-odata/adapter-uri-builder-odata.js +192 -0
- package/esm2015/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +5 -0
- package/esm2015/breeze-client.js +9 -0
- package/esm2015/index.js +2 -0
- package/esm2015/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +5 -0
- package/esm2015/mixin-get-entity-graph/mixin-get-entity-graph.js +269 -0
- package/esm2015/mixin-save-queuing/breeze-client-mixin-save-queuing.js +5 -0
- package/esm2015/mixin-save-queuing/mixin-save-queuing.js +400 -0
- package/esm2015/src/abstract-data-service-adapter.js +327 -0
- package/esm2015/src/array.js +4 -0
- package/esm2015/src/assert-param.js +312 -0
- package/esm2015/src/breeze.js +85 -0
- package/esm2015/src/complex-array.js +119 -0
- package/esm2015/src/config.js +223 -0
- package/esm2015/src/core.js +714 -0
- package/esm2015/src/csdl-metadata-parser.js +385 -0
- package/esm2015/src/data-service.js +203 -0
- package/esm2015/src/data-type.js +506 -0
- package/esm2015/src/default-property-interceptor.js +460 -0
- package/{esm2022/src/entity-action.mjs → esm2015/src/entity-action.js} +25 -25
- package/esm2015/src/entity-aspect.js +804 -0
- package/esm2015/src/entity-group.js +187 -0
- package/esm2015/src/entity-key.js +116 -0
- package/esm2015/src/entity-manager.js +2094 -0
- package/esm2015/src/entity-metadata.js +2109 -0
- package/esm2015/src/entity-query.js +1015 -0
- package/esm2015/src/entity-state.js +107 -0
- package/esm2015/src/enum.js +141 -0
- package/esm2015/src/event.js +256 -0
- package/esm2015/src/interface-registry.js +41 -0
- package/esm2015/src/key-generator.js +108 -0
- package/esm2015/src/local-query-comparison-options.js +65 -0
- package/esm2015/src/mapping-context.js +411 -0
- package/esm2015/src/naming-convention.js +88 -0
- package/esm2015/src/observable-array.js +185 -0
- package/esm2015/src/predicate.js +1242 -0
- package/esm2015/src/primitive-array.js +87 -0
- package/esm2015/src/query-options.js +152 -0
- package/esm2015/src/relation-array.js +175 -0
- package/esm2015/src/save-options.js +41 -0
- package/esm2015/src/unattached-children-map.js +58 -0
- package/esm2015/src/validate.js +991 -0
- package/esm2015/src/validation-options.js +64 -0
- package/esm5/adapter-ajax-angularjs/adapter-ajax-angularjs.js +132 -0
- package/esm5/adapter-ajax-angularjs/adapter-core.js +49 -0
- package/esm5/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +5 -0
- package/esm5/adapter-ajax-fetch/adapter-ajax-fetch.js +132 -0
- package/esm5/adapter-ajax-fetch/adapter-core.js +49 -0
- package/esm5/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +5 -0
- package/esm5/adapter-ajax-httpclient/adapter-ajax-httpclient.js +139 -0
- package/esm5/adapter-ajax-httpclient/adapter-core.js +49 -0
- package/esm5/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +5 -0
- package/esm5/adapter-ajax-jquery/adapter-ajax-jquery.js +105 -0
- package/esm5/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +5 -0
- package/esm5/adapter-ajax-post/adapter-ajax-post.js +81 -0
- package/esm5/adapter-ajax-post/breeze-client-adapter-ajax-post.js +5 -0
- package/esm5/adapter-data-service-odata/adapter-core.js +49 -0
- package/{esm2022/adapter-data-service-odata/adapter-data-service-odata.mjs → esm5/adapter-data-service-odata/adapter-data-service-odata.js} +147 -138
- package/esm5/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +5 -0
- package/esm5/adapter-data-service-webapi/adapter-data-service-webapi.js +105 -0
- package/esm5/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +5 -0
- package/esm5/adapter-model-library-backing-store/adapter-model-library-backing-store.js +270 -0
- package/esm5/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +5 -0
- package/esm5/adapter-model-library-ko/adapter-model-library-ko.js +242 -0
- package/esm5/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +5 -0
- package/esm5/adapter-uri-builder-json/adapter-core.js +49 -0
- package/esm5/adapter-uri-builder-json/adapter-uri-builder-json.js +38 -0
- package/esm5/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +5 -0
- package/esm5/adapter-uri-builder-odata/adapter-core.js +49 -0
- package/esm5/adapter-uri-builder-odata/adapter-uri-builder-odata.js +197 -0
- package/esm5/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +5 -0
- package/esm5/breeze-client.js +9 -0
- package/esm5/index.js +2 -0
- package/esm5/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +5 -0
- package/esm5/mixin-get-entity-graph/mixin-get-entity-graph.js +269 -0
- package/esm5/mixin-save-queuing/breeze-client-mixin-save-queuing.js +5 -0
- package/esm5/mixin-save-queuing/mixin-save-queuing.js +412 -0
- package/esm5/src/abstract-data-service-adapter.js +333 -0
- package/esm5/src/array.js +4 -0
- package/esm5/src/assert-param.js +317 -0
- package/esm5/src/breeze.js +85 -0
- package/esm5/src/complex-array.js +119 -0
- package/esm5/src/config.js +228 -0
- package/esm5/src/core.js +722 -0
- package/esm5/src/csdl-metadata-parser.js +385 -0
- package/esm5/src/data-service.js +207 -0
- package/esm5/src/data-type.js +513 -0
- package/esm5/src/default-property-interceptor.js +460 -0
- package/esm5/src/entity-action.js +52 -0
- package/esm5/src/entity-aspect.js +810 -0
- package/esm5/src/entity-group.js +189 -0
- package/esm5/src/entity-key.js +118 -0
- package/esm5/src/entity-manager.js +2112 -0
- package/esm5/src/entity-metadata.js +2144 -0
- package/esm5/src/entity-query.js +1042 -0
- package/esm5/src/entity-state.js +114 -0
- package/esm5/src/enum.js +144 -0
- package/esm5/src/event.js +259 -0
- package/esm5/src/interface-registry.js +43 -0
- package/esm5/src/key-generator.js +111 -0
- package/esm5/src/local-query-comparison-options.js +67 -0
- package/esm5/src/mapping-context.js +413 -0
- package/{esm2022/src/naming-convention.mjs → esm5/src/naming-convention.js} +29 -35
- package/esm5/src/observable-array.js +201 -0
- package/esm5/src/predicate.js +1307 -0
- package/esm5/src/primitive-array.js +87 -0
- package/esm5/src/query-options.js +167 -0
- package/esm5/src/relation-array.js +175 -0
- package/esm5/src/save-options.js +43 -0
- package/esm5/src/unattached-children-map.js +60 -0
- package/{esm2022/src/validate.mjs → esm5/src/validate.js} +110 -116
- package/esm5/src/validation-options.js +66 -0
- package/{fesm2022/breeze-client-adapter-ajax-angularjs.mjs → fesm2015/breeze-client-adapter-ajax-angularjs.js} +1 -6
- package/fesm2015/breeze-client-adapter-ajax-angularjs.js.map +1 -0
- package/{fesm2022/breeze-client-adapter-ajax-fetch.mjs → fesm2015/breeze-client-adapter-ajax-fetch.js} +4 -9
- package/fesm2015/breeze-client-adapter-ajax-fetch.js.map +1 -0
- package/{fesm2022/breeze-client-adapter-ajax-httpclient.mjs → fesm2015/breeze-client-adapter-ajax-httpclient.js} +4 -6
- package/fesm2015/breeze-client-adapter-ajax-httpclient.js.map +1 -0
- package/{fesm2022/breeze-client-adapter-ajax-jquery.mjs → fesm2015/breeze-client-adapter-ajax-jquery.js} +2 -6
- package/fesm2015/breeze-client-adapter-ajax-jquery.js.map +1 -0
- package/{fesm2022/breeze-client-adapter-ajax-post.mjs → fesm2015/breeze-client-adapter-ajax-post.js} +1 -1
- package/fesm2015/breeze-client-adapter-ajax-post.js.map +1 -0
- package/{fesm2022/breeze-client-adapter-data-service-odata.mjs → fesm2015/breeze-client-adapter-data-service-odata.js} +69 -68
- package/fesm2015/breeze-client-adapter-data-service-odata.js.map +1 -0
- package/{fesm2022/breeze-client-adapter-data-service-webapi.mjs → fesm2015/breeze-client-adapter-data-service-webapi.js} +30 -30
- package/fesm2015/breeze-client-adapter-data-service-webapi.js.map +1 -0
- package/{fesm2022/breeze-client-adapter-model-library-backing-store.mjs → fesm2015/breeze-client-adapter-model-library-backing-store.js} +13 -14
- package/fesm2015/breeze-client-adapter-model-library-backing-store.js.map +1 -0
- package/{fesm2022/breeze-client-adapter-model-library-ko.mjs → fesm2015/breeze-client-adapter-model-library-ko.js} +13 -14
- package/fesm2015/breeze-client-adapter-model-library-ko.js.map +1 -0
- package/{fesm2022/breeze-client-adapter-uri-builder-json.mjs → fesm2015/breeze-client-adapter-uri-builder-json.js} +8 -9
- package/fesm2015/breeze-client-adapter-uri-builder-json.js.map +1 -0
- package/{fesm2022/breeze-client-adapter-uri-builder-odata.mjs → fesm2015/breeze-client-adapter-uri-builder-odata.js} +86 -86
- package/fesm2015/breeze-client-adapter-uri-builder-odata.js.map +1 -0
- package/{fesm2022/breeze-client-mixin-get-entity-graph.mjs → fesm2015/breeze-client-mixin-get-entity-graph.js} +1 -1
- package/fesm2015/breeze-client-mixin-get-entity-graph.js.map +1 -0
- package/{fesm2022/breeze-client-mixin-save-queuing.mjs → fesm2015/breeze-client-mixin-save-queuing.js} +2 -23
- package/fesm2015/breeze-client-mixin-save-queuing.js.map +1 -0
- package/{fesm2022/breeze-client.mjs → fesm2015/breeze-client.js} +1543 -2039
- package/fesm2015/breeze-client.js.map +1 -0
- package/fesm5/breeze-client-adapter-ajax-angularjs.js +186 -0
- package/fesm5/breeze-client-adapter-ajax-angularjs.js.map +1 -0
- package/fesm5/breeze-client-adapter-ajax-fetch.js +186 -0
- package/fesm5/breeze-client-adapter-ajax-fetch.js.map +1 -0
- package/fesm5/breeze-client-adapter-ajax-httpclient.js +193 -0
- package/fesm5/breeze-client-adapter-ajax-httpclient.js.map +1 -0
- package/fesm5/breeze-client-adapter-ajax-jquery.js +111 -0
- package/fesm5/breeze-client-adapter-ajax-jquery.js.map +1 -0
- package/fesm5/breeze-client-adapter-ajax-post.js +86 -0
- package/fesm5/breeze-client-adapter-ajax-post.js.map +1 -0
- package/fesm5/breeze-client-adapter-data-service-odata.js +523 -0
- package/fesm5/breeze-client-adapter-data-service-odata.js.map +1 -0
- package/fesm5/breeze-client-adapter-data-service-webapi.js +111 -0
- package/fesm5/breeze-client-adapter-data-service-webapi.js.map +1 -0
- package/fesm5/breeze-client-adapter-model-library-backing-store.js +276 -0
- package/fesm5/breeze-client-adapter-model-library-backing-store.js.map +1 -0
- package/fesm5/breeze-client-adapter-model-library-ko.js +248 -0
- package/fesm5/breeze-client-adapter-model-library-ko.js.map +1 -0
- package/fesm5/breeze-client-adapter-uri-builder-json.js +92 -0
- package/fesm5/breeze-client-adapter-uri-builder-json.js.map +1 -0
- package/fesm5/breeze-client-adapter-uri-builder-odata.js +250 -0
- package/fesm5/breeze-client-adapter-uri-builder-odata.js.map +1 -0
- package/fesm5/breeze-client-mixin-get-entity-graph.js +254 -0
- package/fesm5/breeze-client-mixin-get-entity-graph.js.map +1 -0
- package/fesm5/breeze-client-mixin-save-queuing.js +356 -0
- package/fesm5/breeze-client-mixin-save-queuing.js.map +1 -0
- package/fesm5/breeze-client.js +13956 -0
- package/fesm5/breeze-client.js.map +1 -0
- package/mixin-get-entity-graph/{index.d.ts → breeze-client-mixin-get-entity-graph.d.ts} +0 -1
- package/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.metadata.json +1 -0
- package/mixin-get-entity-graph/package.json +13 -0
- package/mixin-save-queuing/{index.d.ts → breeze-client-mixin-save-queuing.d.ts} +0 -1
- package/mixin-save-queuing/breeze-client-mixin-save-queuing.metadata.json +1 -0
- package/mixin-save-queuing/package.json +13 -0
- package/package.json +11 -93
- package/src/config.d.ts +1 -1
- package/src/core.d.ts +1 -1
- package/src/entity-aspect.d.ts +1 -1
- package/src/entity-metadata.d.ts +6 -8
- package/src/entity-query.d.ts +1 -1
- package/esm2022/adapter-ajax-angularjs/adapter-ajax-angularjs.mjs +0 -135
- package/esm2022/adapter-ajax-angularjs/adapter-core.mjs +0 -49
- package/esm2022/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.mjs +0 -5
- package/esm2022/adapter-ajax-fetch/adapter-ajax-fetch.mjs +0 -135
- package/esm2022/adapter-ajax-fetch/adapter-core.mjs +0 -49
- package/esm2022/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.mjs +0 -5
- package/esm2022/adapter-ajax-httpclient/adapter-ajax-httpclient.mjs +0 -139
- package/esm2022/adapter-ajax-httpclient/adapter-core.mjs +0 -49
- package/esm2022/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.mjs +0 -5
- package/esm2022/adapter-ajax-jquery/adapter-ajax-jquery.mjs +0 -107
- package/esm2022/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.mjs +0 -5
- package/esm2022/adapter-ajax-post/adapter-ajax-post.mjs +0 -77
- package/esm2022/adapter-ajax-post/breeze-client-adapter-ajax-post.mjs +0 -5
- package/esm2022/adapter-data-service-odata/adapter-core.mjs +0 -49
- package/esm2022/adapter-data-service-odata/breeze-client-adapter-data-service-odata.mjs +0 -5
- package/esm2022/adapter-data-service-webapi/adapter-data-service-webapi.mjs +0 -100
- package/esm2022/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.mjs +0 -5
- package/esm2022/adapter-model-library-backing-store/adapter-model-library-backing-store.mjs +0 -269
- package/esm2022/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.mjs +0 -5
- package/esm2022/adapter-model-library-ko/adapter-model-library-ko.mjs +0 -241
- package/esm2022/adapter-model-library-ko/breeze-client-adapter-model-library-ko.mjs +0 -5
- package/esm2022/adapter-uri-builder-json/adapter-core.mjs +0 -49
- package/esm2022/adapter-uri-builder-json/adapter-uri-builder-json.mjs +0 -37
- package/esm2022/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.mjs +0 -5
- package/esm2022/adapter-uri-builder-odata/adapter-core.mjs +0 -49
- package/esm2022/adapter-uri-builder-odata/adapter-uri-builder-odata.mjs +0 -191
- package/esm2022/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.mjs +0 -5
- package/esm2022/breeze-client.mjs +0 -5
- package/esm2022/index.mjs +0 -2
- package/esm2022/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.mjs +0 -5
- package/esm2022/mixin-get-entity-graph/mixin-get-entity-graph.mjs +0 -269
- package/esm2022/mixin-save-queuing/breeze-client-mixin-save-queuing.mjs +0 -5
- package/esm2022/mixin-save-queuing/mixin-save-queuing.mjs +0 -421
- package/esm2022/src/abstract-data-service-adapter.mjs +0 -325
- package/esm2022/src/array.mjs +0 -4
- package/esm2022/src/assert-param.mjs +0 -330
- package/esm2022/src/breeze.mjs +0 -85
- package/esm2022/src/complex-array.mjs +0 -117
- package/esm2022/src/config.mjs +0 -232
- package/esm2022/src/core.mjs +0 -712
- package/esm2022/src/csdl-metadata-parser.mjs +0 -385
- package/esm2022/src/data-service.mjs +0 -239
- package/esm2022/src/data-type.mjs +0 -507
- package/esm2022/src/default-property-interceptor.mjs +0 -460
- package/esm2022/src/entity-aspect.mjs +0 -897
- package/esm2022/src/entity-group.mjs +0 -192
- package/esm2022/src/entity-key.mjs +0 -127
- package/esm2022/src/entity-manager.mjs +0 -2183
- package/esm2022/src/entity-metadata.mjs +0 -2242
- package/esm2022/src/entity-query.mjs +0 -1024
- package/esm2022/src/entity-state.mjs +0 -107
- package/esm2022/src/enum.mjs +0 -143
- package/esm2022/src/event.mjs +0 -264
- package/esm2022/src/interface-registry.mjs +0 -39
- package/esm2022/src/key-generator.mjs +0 -110
- package/esm2022/src/local-query-comparison-options.mjs +0 -75
- package/esm2022/src/mapping-context.mjs +0 -422
- package/esm2022/src/observable-array.mjs +0 -183
- package/esm2022/src/predicate.mjs +0 -1259
- package/esm2022/src/primitive-array.mjs +0 -85
- package/esm2022/src/query-options.mjs +0 -160
- package/esm2022/src/relation-array.mjs +0 -173
- package/esm2022/src/save-options.mjs +0 -51
- package/esm2022/src/unattached-children-map.mjs +0 -56
- package/esm2022/src/validation-options.mjs +0 -78
- package/fesm2022/breeze-client-adapter-ajax-angularjs.mjs.map +0 -1
- package/fesm2022/breeze-client-adapter-ajax-fetch.mjs.map +0 -1
- package/fesm2022/breeze-client-adapter-ajax-httpclient.mjs.map +0 -1
- package/fesm2022/breeze-client-adapter-ajax-jquery.mjs.map +0 -1
- package/fesm2022/breeze-client-adapter-ajax-post.mjs.map +0 -1
- package/fesm2022/breeze-client-adapter-data-service-odata.mjs.map +0 -1
- package/fesm2022/breeze-client-adapter-data-service-webapi.mjs.map +0 -1
- package/fesm2022/breeze-client-adapter-model-library-backing-store.mjs.map +0 -1
- package/fesm2022/breeze-client-adapter-model-library-ko.mjs.map +0 -1
- package/fesm2022/breeze-client-adapter-uri-builder-json.mjs.map +0 -1
- package/fesm2022/breeze-client-adapter-uri-builder-odata.mjs.map +0 -1
- package/fesm2022/breeze-client-mixin-get-entity-graph.mjs.map +0 -1
- package/fesm2022/breeze-client-mixin-save-queuing.mjs.map +0 -1
- package/fesm2022/breeze-client.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breeze-client-adapter-data-service-odata.js","sources":["ng://breeze-client/adapter-data-service-odata/adapter-core.ts","ng://breeze-client/adapter-data-service-odata/adapter-data-service-odata.ts","ng://breeze-client/adapter-data-service-odata/breeze-client-adapter-data-service-odata.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\nlet core = breeze.core;\r\n\r\ndeclare var window: any;\r\ndeclare var document: any;\r\ndeclare var url: any; // needed to access node's url.parse\r\ndeclare var OData: any;\r\n\r\ninterface ODataSaveContext extends breeze.SaveContext {\r\n tempKeys: breeze.EntityKey[];\r\n contentKeys: breeze.Entity[];\r\n}\r\n\r\n/** @hidden */\r\nexport class DataServiceODataAdapter extends breeze.AbstractDataServiceAdapter {\r\n relativeUrl: boolean | ((ds: breeze.DataService, url: string) => string);\r\n // _catchNoConnectionError = abstractDsaProto._catchNoConnectionError;\r\n // changeRequestInterceptor = abstractDsaProto.changeRequestInterceptor;\r\n // _createChangeRequestInterceptor = abstractDsaProto._createChangeRequestInterceptor;\r\n headers = { \"DataServiceVersion\": \"2.0\" };\r\n\r\n constructor() {\r\n super();\r\n this.name = \"OData\";\r\n }\r\n\r\n static register(config?: breeze.BreezeConfig) {\r\n config = config || breeze.config;\r\n config.registerAdapter(\"dataService\", DataServiceODataAdapter);\r\n return config.initializeAdapterInstance(\"dataService\", \"OData\", true) as DataServiceODataAdapter;\r\n }\r\n\r\n initialize() {\r\n OData = core.requireLib(\"OData\", \"Needed to support remote OData services\");\r\n OData.jsonHandler.recognizeDates = true;\r\n }\r\n\r\n\r\n // Absolute URL is the default as of Breeze 1.5.5. \r\n // To use relative URL (like pre-1.5.5), add adapterInstance.relativeUrl = true:\r\n //\r\n // let ds = breeze.config.initializeAdapterInstance(\"dataService\", \"webApiOData\");\r\n // ds.relativeUrl = true; \r\n //\r\n // To use custom url construction, add adapterInstance.relativeUrl = myfunction(dataService, url):\r\n //\r\n // let ds = breeze.config.initializeAdapterInstance(\"dataService\", \"webApiOData\");\r\n // ds.relativeUrl = function(dataService, url) {\r\n // return somehowConvert(url);\r\n // }\r\n //\r\n\r\n fetchMetadata(metadataStore: breeze.MetadataStore, dataService: breeze.DataService) {\r\n let serviceName = dataService.serviceName;\r\n\r\n let url: string;\r\n if (this.relativeUrl === true) {\r\n url = dataService.qualifyUrl('$metadata');\r\n } else if (core.isFunction(this.relativeUrl)) {\r\n url = (this.relativeUrl as any)(dataService, '$metadata');\r\n } else {\r\n url = this.getAbsoluteUrl(dataService, '$metadata');\r\n }\r\n\r\n let mheaders = core.extend({}, this.headers);\r\n (mheaders as any).Accept = 'application/*; odata.metadata=full';\r\n\r\n let promise = new Promise((resolve, reject) => {\r\n // OData.read(url,\r\n OData.read({\r\n requestUri: url,\r\n // headers: { \"Accept\": \"application/json\"}\r\n headers: mheaders\r\n },\r\n function (data: any) {\r\n // data.dataServices.schema is an array of schemas. with properties of\r\n // entityContainer[], association[], entityType[], and namespace.\r\n if (!data || !data.dataServices) {\r\n let error = new Error(\"Metadata query failed for: \" + url);\r\n return reject(error);\r\n }\r\n let csdlMetadata = data.dataServices;\r\n\r\n // might have been fetched by another query\r\n if (!metadataStore.hasMetadataFor(serviceName)) {\r\n try {\r\n metadataStore.importMetadata(csdlMetadata);\r\n } catch (e) {\r\n return reject(new Error(\"Metadata query failed for \" + url + \"; Unable to process returned metadata: \" + e.message));\r\n }\r\n\r\n metadataStore.addDataService(dataService);\r\n }\r\n\r\n return resolve(csdlMetadata);\r\n\r\n }, function (error: any) {\r\n let err = createError(error, url);\r\n err.message = \"Metadata query failed for: \" + url + \"; \" + (err.message || \"\");\r\n return reject(err);\r\n },\r\n OData.metadataHandler\r\n );\r\n });\r\n\r\n return promise;\r\n }\r\n\r\n\r\n\r\n executeQuery(mappingContext: breeze.MappingContext) {\r\n let url: string;\r\n if (this.relativeUrl === true) {\r\n url = mappingContext.getUrl();\r\n } else if (core.isFunction(this.relativeUrl)) {\r\n url = (this.relativeUrl as any)(mappingContext.dataService, mappingContext.getUrl());\r\n } else {\r\n url = this.getAbsoluteUrl(mappingContext.dataService, mappingContext.getUrl());\r\n }\r\n\r\n // Add query params if .withParameters was used\r\n let query = mappingContext.query as breeze.EntityQuery;\r\n if (!core.isEmpty(query.parameters)) {\r\n let paramString = toQueryString(query.parameters);\r\n url = appendQueryStringParameter(url, paramString);\r\n }\r\n\r\n let promise = new Promise<breeze.QueryResult>((resolve, reject) => {\r\n OData.read({\r\n requestUri: url,\r\n headers: core.extend({}, this.headers)\r\n },\r\n function (data: any, response: any) {\r\n let inlineCount: any;\r\n if (data.__count) {\r\n // OData can return data.__count as a string\r\n inlineCount = parseInt(data.__count, 10);\r\n }\r\n // Odata returns different result structure when it returns multiple entities (data.results) vs single entity (data directly).\r\n // @see http://www.odata.org/documentation/odata-version-2-0/json-format/#RepresentingCollectionsOfEntries\r\n // and http://www.odata.org/documentation/odata-version-2-0/json-format/#RepresentingEntries\r\n let results: any;\r\n if (data.results) {\r\n results = data.results;\r\n } else {\r\n results = data;\r\n }\r\n return resolve({ results: results, inlineCount: inlineCount, httpResponse: response, query: query });\r\n },\r\n function (error: any) {\r\n return reject(createError(error, url));\r\n }\r\n );\r\n });\r\n return promise;\r\n }\r\n\r\n\r\n saveChanges(odataSaveContext: breeze.SaveContext, saveBundle: breeze.SaveBundle): Promise<breeze.SaveResult> {\r\n let adapter = odataSaveContext.adapter = this;\r\n let saveContext = odataSaveContext as ODataSaveContext;\r\n let url: string;\r\n if (this.relativeUrl === true) {\r\n saveContext.routePrefix = adapter.getRoutePrefix(saveContext.dataService);\r\n url = saveContext.dataService.qualifyUrl(\"$batch\");\r\n } else if (core.isFunction(adapter.relativeUrl)) {\r\n saveContext.routePrefix = (adapter.relativeUrl as Function)(saveContext.dataService, '');\r\n url = saveContext.routePrefix + '$batch';\r\n } else {\r\n saveContext.routePrefix = adapter.getAbsoluteUrl(saveContext.dataService, '');\r\n url = saveContext.routePrefix + '$batch';\r\n }\r\n\r\n let requestData = createChangeRequests(saveContext, saveBundle);\r\n let tempKeys = saveContext.tempKeys;\r\n let contentKeys = saveContext.contentKeys;\r\n let promise = new Promise<breeze.SaveResult>((resolve, reject) => {\r\n OData.request({\r\n headers: core.extend({}, this.headers),\r\n requestUri: url,\r\n method: \"POST\",\r\n data: requestData\r\n }, function (data: any, response: any) {\r\n let entities: any[] = [];\r\n let keyMappings: breeze.KeyMapping[] = [];\r\n let saveResult: breeze.SaveResult = { entities: entities, keyMappings: keyMappings };\r\n data.__batchResponses.forEach(function (br: any) {\r\n br.__changeResponses.forEach(function (cr: any) {\r\n let response = cr.response || cr;\r\n let statusCode = response.statusCode;\r\n if ((!statusCode) || statusCode >= 400) {\r\n reject(createError(cr, url));\r\n return;\r\n }\r\n\r\n let contentId = cr.headers[\"Content-ID\"];\r\n // Olingo sends different case of 'ID' for the header name.\r\n if (!contentId) {\r\n contentId = cr.headers[\"Content-Id\"];\r\n }\r\n\r\n let rawEntity = cr.data;\r\n if (rawEntity) {\r\n let tempKey = tempKeys[contentId];\r\n if (tempKey) {\r\n let entityType = tempKey.entityType;\r\n if (entityType.autoGeneratedKeyType !== breeze.AutoGeneratedKeyType.None) {\r\n let tempValue = tempKey.values[0];\r\n let realKey = entityType.getEntityKeyFromRawEntity(rawEntity, breeze.DataProperty.getRawValueFromServer);\r\n let keyMapping = { entityTypeName: entityType.name, tempValue: tempValue, realValue: realKey.values[0] };\r\n keyMappings.push(keyMapping);\r\n }\r\n }\r\n entities.push(rawEntity);\r\n } else {\r\n let origEntity = contentKeys[contentId];\r\n entities.push(origEntity);\r\n }\r\n });\r\n });\r\n return resolve(saveResult);\r\n }, function (err: any) {\r\n return reject(createError(err, url));\r\n }, OData.batchHandler);\r\n });\r\n return promise;\r\n\r\n }\r\n\r\n jsonResultsAdapter: breeze.JsonResultsAdapter = new breeze.JsonResultsAdapter({\r\n name: \"OData_default\",\r\n\r\n visitNode: function (node: any, mappingContext: breeze.MappingContext, nodeContext: breeze.NodeContext) {\r\n let result: any = {};\r\n if (node == null) return result;\r\n let metadata = node.__metadata;\r\n if (metadata != null) {\r\n // TODO: may be able to make this more efficient by caching of the previous value.\r\n let entityTypeName = breeze.MetadataStore.normalizeTypeName(metadata.type);\r\n let et = entityTypeName && mappingContext.entityManager.metadataStore.getEntityType(entityTypeName, true);\r\n // OData response doesn't distinguish a projection from a whole entity.\r\n // We'll assume that whole-entity data would have at least as many properties (<=)\r\n // as the EntityType has mapped properties on the basis that\r\n // most projections remove properties rather than add them.\r\n // If not, assume it's a projection and do NOT treat as an entity\r\n if (et && et._mappedPropertiesCount <= Object.keys(node).length - 1) {\r\n // if (et && et._mappedPropertiesCount === Object.keys(node).length - 1) { // OLD\r\n result.entityType = et;\r\n let uriKey = metadata.uri || metadata.id;\r\n if (uriKey) {\r\n // Strip baseUri to make uriKey a relative uri\r\n // Todo: why is this necessary when absolute works for every OData source tested?\r\n let re = new RegExp('^' + mappingContext.dataService.serviceName, 'i');\r\n uriKey = uriKey.replace(re, '');\r\n }\r\n result.extraMetadata = {\r\n uriKey: uriKey,\r\n etag: metadata.etag\r\n };\r\n }\r\n }\r\n // OData v3 - projection arrays will be enclosed in a results array\r\n if (node.results) {\r\n result.node = node.results;\r\n }\r\n\r\n let propertyName = nodeContext.propertyName;\r\n result.ignore = node.__deferred != null || propertyName === \"__metadata\" ||\r\n // EntityKey properties can be produced by EDMX models\r\n (propertyName === \"EntityKey\" && node.$type && core.stringStartsWith(node.$type, \"System.Data\"));\r\n return result;\r\n }\r\n\r\n });\r\n\r\n getAbsoluteUrl(dataService: breeze.DataService, url: string) {\r\n let serviceName = dataService.qualifyUrl('');\r\n // only prefix with serviceName if not already on the url\r\n let base = (core.stringStartsWith(url, serviceName)) ? '' : serviceName;\r\n // If no protocol, turn base into an absolute URI\r\n if (window && serviceName.indexOf('//') < 0) {\r\n // no protocol; make it absolute\r\n base = window.location.protocol + '//' + window.location.host +\r\n (core.stringStartsWith(serviceName, '/') ? '' : '/') +\r\n base;\r\n }\r\n return base + url;\r\n }\r\n\r\n getRoutePrefix(dataService: breeze.DataService) {\r\n // Get the routePrefix from a Web API OData service name.\r\n // The routePrefix is presumed to be the pathname within the dataService.serviceName\r\n // Examples of servicename -> routePrefix:\r\n // 'http://localhost:55802/odata/' -> 'odata/'\r\n // 'http://198.154.121.75/service/odata/' -> 'service/odata/'\r\n let parser: any;\r\n if (typeof document === 'object') { // browser\r\n parser = document.createElement('a');\r\n parser.href = dataService.serviceName;\r\n } else { // node\r\n // TODO: how to best handle this\r\n // assumes existence of node's url.parse method.\r\n parser = url.parse(dataService.serviceName);\r\n }\r\n let prefix = parser.pathname;\r\n if (prefix[0] === '/') {\r\n prefix = prefix.substr(1);\r\n } // drop leading '/' (all but IE)\r\n if (prefix.substr(-1) !== '/') {\r\n prefix += '/';\r\n } // ensure trailing '/'\r\n return prefix;\r\n }\r\n\r\n}\r\n\r\n// crude serializer. Doesn't recurse\r\nfunction toQueryString(obj: Object) {\r\n let parts: string[] = [];\r\n for (let i in obj) {\r\n if (obj.hasOwnProperty(i)) {\r\n parts.push(encodeURIComponent(i) + \"=\" + encodeURIComponent(obj[i]));\r\n }\r\n }\r\n return parts.join(\"&\");\r\n}\r\n\r\n/** Transform data properties while unwrapping entities */\r\nfunction transformValue(prop: breeze.DataProperty, val: any) {\r\n if (prop.isUnmapped) return undefined;\r\n if (prop.dataType === breeze.DataType.DateTimeOffset) {\r\n // The datajs lib tries to treat client dateTimes that are defined as DateTimeOffset on the server differently\r\n // from other dateTimes. This fix compensates before the save.\r\n val = val && new Date(val.getTime() - (val.getTimezoneOffset() * 60000));\r\n } else if (prop.dataType === breeze.DataType.DateOnly) {\r\n val = breeze.DataType.toDateOnlyString(val);\r\n } else if ((prop.dataType as breeze.DataType).quoteJsonOData) {\r\n val = val != null ? val.toString() : val;\r\n }\r\n return val;\r\n}\r\n\r\nfunction createChangeRequests(saveContext: ODataSaveContext, saveBundle: breeze.SaveBundle) {\r\n let changeRequestInterceptor = (saveContext.adapter as DataServiceODataAdapter)._createChangeRequestInterceptor(saveContext, saveBundle);\r\n let changeRequests: any[] = [];\r\n let tempKeys: breeze.EntityKey[] = [];\r\n let contentKeys: breeze.Entity[] = [];\r\n let entityManager = saveContext.entityManager;\r\n let helper = entityManager.helper;\r\n let id = 0;\r\n let routePrefix = saveContext.routePrefix;\r\n\r\n saveBundle.entities.forEach(function (entity, index) {\r\n let aspect = entity.entityAspect;\r\n id = id + 1; // we are deliberately skipping id=0 because Content-ID = 0 seems to be ignored.\r\n let request = { headers: { \"Content-ID\": id, \"DataServiceVersion\": \"2.0\" } } as any;\r\n contentKeys[id] = entity;\r\n if (aspect.entityState.isAdded()) {\r\n request.requestUri = routePrefix + entity.entityType.defaultResourceName;\r\n request.method = \"POST\";\r\n request.data = helper.unwrapInstance(entity, transformValue);\r\n tempKeys[id] = aspect.getKey();\r\n } else if (aspect.entityState.isModified()) {\r\n updateDeleteMergeRequest(request, aspect, routePrefix!);\r\n request.method = \"MERGE\";\r\n request.data = helper.unwrapChangedValues(entity, entityManager.metadataStore, transformValue);\r\n // should be a PATCH/MERGE\r\n } else if (aspect.entityState.isDeleted()) {\r\n updateDeleteMergeRequest(request, aspect, routePrefix!);\r\n request.method = \"DELETE\";\r\n } else {\r\n return;\r\n }\r\n request = changeRequestInterceptor.getRequest(request, entity, index);\r\n changeRequests.push(request);\r\n });\r\n saveContext.contentKeys = contentKeys;\r\n saveContext.tempKeys = tempKeys;\r\n changeRequestInterceptor.done(changeRequests);\r\n return {\r\n __batchRequests: [\r\n {\r\n __changeRequests: changeRequests\r\n }\r\n ]\r\n };\r\n\r\n}\r\n\r\nfunction updateDeleteMergeRequest(request: any, aspect: breeze.EntityAspect, routePrefix: string) {\r\n let uriKey: string;\r\n let extraMetadata = aspect.extraMetadata;\r\n if (extraMetadata == null) {\r\n uriKey = getUriKey(aspect);\r\n aspect.extraMetadata = {\r\n uriKey: uriKey\r\n };\r\n } else {\r\n uriKey = extraMetadata.uriKey;\r\n if (extraMetadata.etag) {\r\n request.headers[\"If-Match\"] = extraMetadata.etag;\r\n }\r\n }\r\n request.requestUri =\r\n // use routePrefix if uriKey lacks protocol (i.e., relative uri)\r\n uriKey.indexOf('//') > 0 ? uriKey : routePrefix + uriKey;\r\n}\r\n\r\nfunction getUriKey(aspect: breeze.EntityAspect) {\r\n let entityType = aspect.entity!.entityType;\r\n let resourceName = entityType.defaultResourceName;\r\n let kps = entityType.keyProperties;\r\n let uriKey = resourceName + \"(\";\r\n if (kps.length === 1) {\r\n uriKey = uriKey + fmtProperty(kps[0], aspect) + \")\";\r\n } else {\r\n let delim = \"\";\r\n kps.forEach(function (kp) {\r\n uriKey = uriKey + delim + kp.nameOnServer + \"=\" + fmtProperty(kp, aspect);\r\n delim = \",\";\r\n });\r\n uriKey = uriKey + \")\";\r\n }\r\n return uriKey;\r\n}\r\n\r\nfunction fmtProperty(prop: breeze.DataProperty, aspect: breeze.EntityAspect) {\r\n return (prop.dataType as breeze.DataType).fmtOData!(aspect.getPropertyValue(prop.name));\r\n}\r\n\r\nfunction createError(error: any, url: string) {\r\n // OData errors can have the message buried very deeply - and nonobviously\r\n // this code is tricky so be careful changing the response.body parsing.\r\n let result = new Error() as breeze.ServerError;\r\n let response = error && error.response;\r\n if (!response) {\r\n // in case DataJS returns \"No handler for this data\"\r\n result.message = error;\r\n result.statusText = error;\r\n return result;\r\n }\r\n result.message = response.statusText;\r\n result.statusText = response.statusText;\r\n result.status = response.statusCode;\r\n // non std\r\n if (url) result.url = url;\r\n result.body = response.body;\r\n if (response.body) {\r\n let nextErr: any;\r\n try {\r\n let body = JSON.parse(response.body);\r\n result.body = body;\r\n // OData v3 logic\r\n if (body['odata.error']) {\r\n body = body['odata.error'];\r\n }\r\n let msg = \"\";\r\n do {\r\n nextErr = body.error || body.innererror;\r\n if (!nextErr) msg = msg + getMessage(body);\r\n nextErr = nextErr || body.internalexception;\r\n body = nextErr || body;\r\n } while (nextErr);\r\n if (msg.length > 0) {\r\n result.message = msg;\r\n }\r\n } catch (e) {\r\n\r\n }\r\n }\r\n breeze.AbstractDataServiceAdapter._catchNoConnectionError(result);\r\n return result;\r\n}\r\n\r\nfunction getMessage(body: any) {\r\n let msg = body.message || \"\";\r\n return ((typeof (msg) === \"string\") ? msg : msg.value) + \"; \";\r\n}\r\n\r\nbreeze.config.registerAdapter(\"dataService\", DataServiceODataAdapter);\r\n\r\n\r\nlet webApiODataCtor = function () {\r\n this.name = \"webApiOData\";\r\n};\r\n\r\nbreeze.core.extend(webApiODataCtor.prototype, DataServiceODataAdapter.prototype);\r\n\r\nbreeze.config.registerAdapter(\"dataService\", webApiODataCtor as any);\r\n// OData 4 adapter\r\nlet webApiOData4Ctor = function () {\r\n this.name = \"webApiOData4\";\r\n};\r\nbreeze.core.extend(webApiOData4Ctor.prototype, webApiODataCtor.prototype);\r\nwebApiOData4Ctor.prototype.initialize = function () {\r\n // Aargh... they moved the cheese.\r\n let datajs = core.requireLib(\"datajs\", \"Needed to support remote OData v4 services\");\r\n OData = datajs.V4.oData;\r\n OData.json.jsonHandler.recognizeDates = true;\r\n};\r\nwebApiOData4Ctor.prototype.headers = { \"OData-Version\": \"4.0\" };\r\nbreeze.config.registerAdapter(\"dataService\", webApiOData4Ctor as any);\r\n\r\n\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './adapter-data-service-odata';\n"],"names":["breeze.core","breeze.AbstractDataServiceAdapter","breeze.JsonResultsAdapter","breeze.MetadataStore","config","breeze.config","breeze.AutoGeneratedKeyType","breeze.DataProperty","breeze.DataType"],"mappings":"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"}
|
|
@@ -1,16 +1,33 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { AbstractDataServiceAdapter, JsonResultsAdapter, MetadataStore, config, AutoGeneratedKeyType, DataType } from 'breeze-client';
|
|
2
2
|
|
|
3
3
|
// import { JsonResultsAdapter, KeyMapping } from './breeze';
|
|
4
4
|
/** @hidden */
|
|
5
|
-
class DataServiceWebApiAdapter extends
|
|
5
|
+
class DataServiceWebApiAdapter extends AbstractDataServiceAdapter {
|
|
6
6
|
constructor() {
|
|
7
7
|
super();
|
|
8
|
+
this.jsonResultsAdapter = new JsonResultsAdapter({
|
|
9
|
+
name: "webApi_default",
|
|
10
|
+
visitNode: function (node, mappingContext, nodeContext) {
|
|
11
|
+
if (node == null)
|
|
12
|
+
return {};
|
|
13
|
+
let entityTypeName = MetadataStore.normalizeTypeName(node.$type);
|
|
14
|
+
let entityType = entityTypeName && mappingContext.entityManager.metadataStore.getEntityType(entityTypeName, true);
|
|
15
|
+
let propertyName = nodeContext.propertyName;
|
|
16
|
+
let ignore = propertyName && propertyName.substr(0, 1) === "$";
|
|
17
|
+
return {
|
|
18
|
+
entityType: entityType,
|
|
19
|
+
nodeId: node.$id,
|
|
20
|
+
nodeRefId: node.$ref,
|
|
21
|
+
ignore: ignore
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
});
|
|
8
25
|
this.name = "webApi";
|
|
9
26
|
}
|
|
10
|
-
static register(config) {
|
|
11
|
-
config = config ||
|
|
12
|
-
config.registerAdapter("dataService", DataServiceWebApiAdapter);
|
|
13
|
-
return config.initializeAdapterInstance("dataService", "webApi", true);
|
|
27
|
+
static register(config$1) {
|
|
28
|
+
config$1 = config$1 || config;
|
|
29
|
+
config$1.registerAdapter("dataService", DataServiceWebApiAdapter);
|
|
30
|
+
return config$1.initializeAdapterInstance("dataService", "webApi", true);
|
|
14
31
|
}
|
|
15
32
|
/** @hidden @internal */
|
|
16
33
|
_prepareSaveBundle(saveContext, saveBundle) {
|
|
@@ -22,7 +39,7 @@ class DataServiceWebApiAdapter extends breeze.AbstractDataServiceAdapter {
|
|
|
22
39
|
serSaveBundle.entities = saveBundle.entities.map(function (e, ix) {
|
|
23
40
|
let rawEntity = helper.unwrapInstance(e, transformValue);
|
|
24
41
|
let autoGeneratedKey;
|
|
25
|
-
if (e.entityType.autoGeneratedKeyType !==
|
|
42
|
+
if (e.entityType.autoGeneratedKeyType !== AutoGeneratedKeyType.None) {
|
|
26
43
|
autoGeneratedKey = {
|
|
27
44
|
propertyName: e.entityType.keyProperties[0].nameOnServer,
|
|
28
45
|
autoGeneratedKeyType: e.entityType.autoGeneratedKeyType.name
|
|
@@ -57,7 +74,7 @@ class DataServiceWebApiAdapter extends breeze.AbstractDataServiceAdapter {
|
|
|
57
74
|
if (km.entityTypeName)
|
|
58
75
|
return km; // it's already lower case
|
|
59
76
|
let kmHack = km;
|
|
60
|
-
let entityTypeName =
|
|
77
|
+
let entityTypeName = MetadataStore.normalizeTypeName(kmHack.EntityTypeName);
|
|
61
78
|
return { entityTypeName: entityTypeName, tempValue: kmHack.TempValue, realValue: kmHack.RealValue };
|
|
62
79
|
});
|
|
63
80
|
}
|
|
@@ -65,43 +82,26 @@ class DataServiceWebApiAdapter extends breeze.AbstractDataServiceAdapter {
|
|
|
65
82
|
deletedKeys = deletedKeys.map(function (dk) {
|
|
66
83
|
if (dk.entityTypeName)
|
|
67
84
|
return dk; // it's already lower case
|
|
68
|
-
let entityTypeName =
|
|
85
|
+
let entityTypeName = MetadataStore.normalizeTypeName(dk.EntityTypeName);
|
|
69
86
|
// NOTE the dk.KeyValue => keyValues transition - needed because we are deserializing an .NET EntityKey
|
|
70
87
|
return { entityTypeName: entityTypeName, keyValues: dk.KeyValue };
|
|
71
88
|
});
|
|
72
89
|
}
|
|
73
90
|
return { entities: entities, keyMappings: keyMappings, deletedKeys: deletedKeys };
|
|
74
91
|
}
|
|
75
|
-
jsonResultsAdapter = new breeze.JsonResultsAdapter({
|
|
76
|
-
name: "webApi_default",
|
|
77
|
-
visitNode: function (node, mappingContext, nodeContext) {
|
|
78
|
-
if (node == null)
|
|
79
|
-
return {};
|
|
80
|
-
let entityTypeName = breeze.MetadataStore.normalizeTypeName(node.$type);
|
|
81
|
-
let entityType = entityTypeName && mappingContext.entityManager.metadataStore.getEntityType(entityTypeName, true);
|
|
82
|
-
let propertyName = nodeContext.propertyName;
|
|
83
|
-
let ignore = propertyName && propertyName.substr(0, 1) === "$";
|
|
84
|
-
return {
|
|
85
|
-
entityType: entityType,
|
|
86
|
-
nodeId: node.$id,
|
|
87
|
-
nodeRefId: node.$ref,
|
|
88
|
-
ignore: ignore
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
92
|
}
|
|
93
93
|
/** Transform data properties while unwrapping entities before save */
|
|
94
94
|
function transformValue(prop, val) {
|
|
95
|
-
if (prop.dataType ===
|
|
96
|
-
val =
|
|
95
|
+
if (prop.dataType === DataType.DateOnly) {
|
|
96
|
+
val = DataType.toDateOnlyString(val);
|
|
97
97
|
}
|
|
98
98
|
return val;
|
|
99
99
|
}
|
|
100
|
-
|
|
100
|
+
config.registerAdapter("dataService", DataServiceWebApiAdapter);
|
|
101
101
|
|
|
102
102
|
/**
|
|
103
103
|
* Generated bundle index. Do not edit.
|
|
104
104
|
*/
|
|
105
105
|
|
|
106
106
|
export { DataServiceWebApiAdapter };
|
|
107
|
-
//# sourceMappingURL=breeze-client-adapter-data-service-webapi.
|
|
107
|
+
//# sourceMappingURL=breeze-client-adapter-data-service-webapi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breeze-client-adapter-data-service-webapi.js","sources":["ng://breeze-client/adapter-data-service-webapi/adapter-data-service-webapi.ts","ng://breeze-client/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.ts"],"sourcesContent":["import * as breeze from 'breeze-client';\r\n// import { JsonResultsAdapter, KeyMapping } from './breeze';\r\n\r\n/** @hidden */\r\nexport class DataServiceWebApiAdapter extends breeze.AbstractDataServiceAdapter {\r\n\r\n constructor() {\r\n super();\r\n this.name = \"webApi\";\r\n }\r\n\r\n static register(config?: breeze.BreezeConfig) {\r\n config = config || breeze.config;\r\n config.registerAdapter(\"dataService\", DataServiceWebApiAdapter);\r\n return config.initializeAdapterInstance(\"dataService\", \"webApi\", true) as DataServiceWebApiAdapter;\r\n }\r\n\r\n /** @hidden @internal */\r\n _prepareSaveBundle(saveContext: breeze.SaveContext, saveBundle: breeze.SaveBundle) {\r\n let changeRequestInterceptor = this._createChangeRequestInterceptor(saveContext, saveBundle);\r\n let em = saveContext.entityManager;\r\n let metadataStore = em.metadataStore;\r\n let helper = em.helper;\r\n let serSaveBundle: any = {};\r\n serSaveBundle.entities = saveBundle.entities.map(function (e, ix) {\r\n let rawEntity = helper.unwrapInstance(e, transformValue);\r\n\r\n let autoGeneratedKey: Object | undefined;\r\n if (e.entityType.autoGeneratedKeyType !== breeze.AutoGeneratedKeyType.None) {\r\n autoGeneratedKey = {\r\n propertyName: e.entityType.keyProperties[0].nameOnServer,\r\n autoGeneratedKeyType: e.entityType.autoGeneratedKeyType.name\r\n };\r\n }\r\n\r\n let originalValuesOnServer = helper.unwrapOriginalValues(e, metadataStore);\r\n rawEntity.entityAspect = {\r\n entityTypeName: e.entityType.name,\r\n defaultResourceName: e.entityType.defaultResourceName,\r\n entityState: e.entityAspect.entityState.name,\r\n originalValuesMap: originalValuesOnServer,\r\n autoGeneratedKey: autoGeneratedKey\r\n };\r\n rawEntity = changeRequestInterceptor.getRequest(rawEntity, e, ix);\r\n return rawEntity;\r\n });\r\n\r\n serSaveBundle.saveOptions = { tag: saveBundle.saveOptions.tag };\r\n changeRequestInterceptor.done(serSaveBundle.entities);\r\n return serSaveBundle;\r\n }\r\n\r\n /** @hidden @internal */\r\n _prepareSaveResult(saveContext: breeze.SaveContext, data: any) {\r\n // use the jsonResultAdapter to extractResults and extractKeyMappings\r\n let jra = saveContext.dataService.jsonResultsAdapter || this.jsonResultsAdapter;\r\n let entities = jra.extractSaveResults(data) || [];\r\n let keyMappings: breeze.KeyMapping[] = jra.extractKeyMappings(data) || [];\r\n let deletedKeys = jra.extractDeletedKeys ? (jra.extractDeletedKeys(data)) || [] : [];\r\n\r\n if (keyMappings.length) {\r\n // HACK: need to change the 'case' of properties in the saveResult\r\n // but KeyMapping properties internally are still ucase. ugh...\r\n keyMappings = keyMappings.map(function (km) {\r\n if (km.entityTypeName) return km; // it's already lower case\r\n let kmHack = km as any;\r\n let entityTypeName = breeze.MetadataStore.normalizeTypeName(kmHack.EntityTypeName);\r\n return { entityTypeName: entityTypeName, tempValue: kmHack.TempValue, realValue: kmHack.RealValue };\r\n });\r\n }\r\n\r\n if (deletedKeys.length) {\r\n deletedKeys = deletedKeys.map(function (dk) {\r\n if (dk.entityTypeName) return dk; // it's already lower case\r\n let entityTypeName = breeze.MetadataStore.normalizeTypeName(dk.EntityTypeName);\r\n // NOTE the dk.KeyValue => keyValues transition - needed because we are deserializing an .NET EntityKey\r\n return { entityTypeName: entityTypeName, keyValues: dk.KeyValue };\r\n });\r\n }\r\n\r\n return { entities: entities, keyMappings: keyMappings, deletedKeys: deletedKeys };\r\n\r\n }\r\n\r\n jsonResultsAdapter: breeze.JsonResultsAdapter = new breeze.JsonResultsAdapter({\r\n\r\n name: \"webApi_default\",\r\n\r\n visitNode: function (node: any, mappingContext: breeze.MappingContext, nodeContext: breeze.NodeContext) {\r\n if (node == null) return {};\r\n let entityTypeName = breeze.MetadataStore.normalizeTypeName(node.$type);\r\n let entityType = entityTypeName && mappingContext.entityManager.metadataStore.getEntityType(entityTypeName, true);\r\n let propertyName = nodeContext.propertyName;\r\n let ignore = propertyName && propertyName.substr(0, 1) === \"$\";\r\n\r\n return {\r\n entityType: entityType,\r\n nodeId: node.$id,\r\n nodeRefId: node.$ref,\r\n ignore: ignore\r\n } as any;\r\n }\r\n\r\n });\r\n\r\n}\r\n\r\n/** Transform data properties while unwrapping entities before save */\r\nfunction transformValue(prop: breeze.DataProperty, val: any) {\r\n if (prop.dataType === breeze.DataType.DateOnly) {\r\n val = breeze.DataType.toDateOnlyString(val);\r\n }\r\n return val;\r\n}\r\n\r\n\r\nbreeze.config.registerAdapter(\"dataService\", DataServiceWebApiAdapter);\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './adapter-data-service-webapi';\n"],"names":["breeze.AbstractDataServiceAdapter","breeze.JsonResultsAdapter","breeze.MetadataStore","config","breeze.config","breeze.AutoGeneratedKeyType","breeze.DataType"],"mappings":"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"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { core as core$1, config, EntityAspect, DataProperty, makeComplexArray, makePrimitiveArray, makeRelationArray } from 'breeze-client';
|
|
2
2
|
|
|
3
|
-
let core =
|
|
3
|
+
let core = core$1;
|
|
4
4
|
class ModelLibraryBackingStoreAdapter {
|
|
5
|
-
name;
|
|
6
5
|
constructor() {
|
|
7
6
|
this.name = "backingStore";
|
|
8
7
|
}
|
|
9
|
-
static register(config) {
|
|
10
|
-
config = config ||
|
|
11
|
-
config.registerAdapter("modelLibrary", ModelLibraryBackingStoreAdapter);
|
|
12
|
-
return config.initializeAdapterInstance("modelLibrary", "backingStore", true);
|
|
8
|
+
static register(config$1) {
|
|
9
|
+
config$1 = config$1 || config;
|
|
10
|
+
config$1.registerAdapter("modelLibrary", ModelLibraryBackingStoreAdapter);
|
|
11
|
+
return config$1.initializeAdapterInstance("modelLibrary", "backingStore", true);
|
|
13
12
|
}
|
|
14
13
|
initialize() {
|
|
15
14
|
}
|
|
@@ -49,21 +48,21 @@ class ModelLibraryBackingStoreAdapter {
|
|
|
49
48
|
// can't touch the normal property sets within this method - access the backingStore directly instead.
|
|
50
49
|
let bs = movePropsToBackingStore(entity);
|
|
51
50
|
// assign default values to the entity
|
|
52
|
-
let stype =
|
|
51
|
+
let stype = EntityAspect.isEntity(entity) ? entity.entityType : entity.complexType;
|
|
53
52
|
stype.getProperties().forEach(function (prop) {
|
|
54
53
|
let propName = prop.name;
|
|
55
54
|
let val = entity[propName];
|
|
56
|
-
if (prop instanceof
|
|
55
|
+
if (prop instanceof DataProperty) {
|
|
57
56
|
if (prop.isComplexProperty) {
|
|
58
57
|
if (prop.isScalar) {
|
|
59
58
|
val = prop.dataType._createInstanceCore(entity, prop);
|
|
60
59
|
}
|
|
61
60
|
else {
|
|
62
|
-
val =
|
|
61
|
+
val = makeComplexArray([], entity, prop);
|
|
63
62
|
}
|
|
64
63
|
}
|
|
65
64
|
else if (!prop.isScalar) {
|
|
66
|
-
val =
|
|
65
|
+
val = makePrimitiveArray([], entity, prop);
|
|
67
66
|
}
|
|
68
67
|
else if (val === undefined) {
|
|
69
68
|
val = prop.defaultValue;
|
|
@@ -78,7 +77,7 @@ class ModelLibraryBackingStoreAdapter {
|
|
|
78
77
|
val = null;
|
|
79
78
|
}
|
|
80
79
|
else {
|
|
81
|
-
val =
|
|
80
|
+
val = makeRelationArray([], entity, prop);
|
|
82
81
|
}
|
|
83
82
|
}
|
|
84
83
|
else {
|
|
@@ -94,7 +93,7 @@ class ModelLibraryBackingStoreAdapter {
|
|
|
94
93
|
});
|
|
95
94
|
}
|
|
96
95
|
}
|
|
97
|
-
|
|
96
|
+
config.registerAdapter("modelLibrary", ModelLibraryBackingStoreAdapter);
|
|
98
97
|
// private methods
|
|
99
98
|
// This method is called during Metadata initialization to correctly "wrap" properties.
|
|
100
99
|
function movePropDefsToProto(proto) {
|
|
@@ -273,4 +272,4 @@ function processPendingStores(proto) {
|
|
|
273
272
|
*/
|
|
274
273
|
|
|
275
274
|
export { ModelLibraryBackingStoreAdapter };
|
|
276
|
-
//# sourceMappingURL=breeze-client-adapter-model-library-backing-store.
|
|
275
|
+
//# sourceMappingURL=breeze-client-adapter-model-library-backing-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breeze-client-adapter-model-library-backing-store.js","sources":["ng://breeze-client/adapter-model-library-backing-store/adapter-model-library-backing-store.ts","ng://breeze-client/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.ts"],"sourcesContent":["import * as breeze from 'breeze-client';\r\n\r\nlet core = breeze.core;\r\n\r\nexport class ModelLibraryBackingStoreAdapter implements breeze.ModelLibraryAdapter {\r\n name: string;\r\n\r\n constructor() {\r\n this.name = \"backingStore\";\r\n }\r\n\r\n static register(config?: breeze.BreezeConfig) {\r\n config = config || breeze.config;\r\n config.registerAdapter(\"modelLibrary\", ModelLibraryBackingStoreAdapter);\r\n return config.initializeAdapterInstance(\"modelLibrary\", \"backingStore\", true) as ModelLibraryBackingStoreAdapter;\r\n }\r\n\r\n initialize() {\r\n }\r\n\r\n getTrackablePropertyNames(entity: breeze.Entity) {\r\n let names: string[] = [];\r\n for (let p in entity) {\r\n if (p === \"entityAspect\" || p === \"entityType\") continue;\r\n if (p === \"_$typeName\" || p === \"_pendingSets\" || p === \"_backingStore\") continue;\r\n let val = entity[p];\r\n if (!core.isFunction(val)) {\r\n names.push(p);\r\n }\r\n }\r\n return names;\r\n }\r\n\r\n // This method is called during Metadata initialization\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 //if (!this._backingStore.hasOwnProperty(propertyName)) {\r\n // throw new Error(\"Unknown property name:\" + propertyName);\r\n //}\r\n this[propertyName] = value;\r\n // allow setProperty chaining.\r\n return this;\r\n };\r\n\r\n movePropDefsToProto(proto);\r\n }\r\n\r\n // This method is called when an EntityAspect is first created - this will occur as part of the entityType.createEntity call.\r\n // which can be called either directly or via standard query materialization\r\n\r\n // entity is either an entity or a complexObject\r\n startTracking(entity: breeze.StructuralObject, proto: any) {\r\n // can't touch the normal property sets within this method - access the backingStore directly instead.\r\n let bs = movePropsToBackingStore(entity);\r\n\r\n // assign default values to the entity\r\n let stype = breeze.EntityAspect.isEntity(entity) ? entity.entityType : entity.complexType;\r\n stype.getProperties().forEach(function (prop) {\r\n\r\n let propName = prop.name;\r\n let val = entity[propName];\r\n\r\n if (prop instanceof breeze.DataProperty) {\r\n if (prop.isComplexProperty) {\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.isNavigationProperty) {\r\n if (val !== undefined && val !== null) {\r\n throw new Error(\"Cannot assign a navigation property in an entity ctor.: \" + propName);\r\n }\r\n if (prop.isScalar) {\r\n // TODO: change this to nullstob later.\r\n val = null;\r\n } else {\r\n val = breeze.makeRelationArray([], entity as breeze.Entity, prop);\r\n }\r\n } else {\r\n throw new Error(\"unknown property: \" + propName);\r\n }\r\n // can't touch the normal property sets within this method (IE9 Bug) - so we access the backingStore directly instead.\r\n // otherwise we could just do\r\n // entity[propName] = val\r\n // after all of the interception logic had been injected.\r\n if ((prop as breeze.DataProperty).isSettable || prop.isNavigationProperty) {\r\n bs[propName] = val;\r\n }\r\n });\r\n }\r\n}\r\n\r\nbreeze.config.registerAdapter(\"modelLibrary\", ModelLibraryBackingStoreAdapter);\r\n\r\n// private methods\r\n\r\n// This method is called during Metadata initialization to correctly \"wrap\" properties.\r\nfunction movePropDefsToProto(proto: any) {\r\n let stype = (proto.entityType || proto.complexType) as breeze.StructuralType;\r\n let extra = stype._extra;\r\n\r\n let alreadyWrapped = extra.alreadyWrappedProps || {};\r\n\r\n stype.getProperties().forEach(function (prop) {\r\n let propName = prop.name;\r\n // we only want to wrap props that haven't already been wrapped\r\n if (alreadyWrapped[propName]) return;\r\n\r\n // If property is already defined on the prototype then wrap it in another propertyDescriptor.\r\n // otherwise create a propDescriptor for it.\r\n let descr: any;\r\n if (propName in proto) {\r\n descr = wrapPropDescription(proto, prop);\r\n } else {\r\n descr = makePropDescription(proto, prop);\r\n }\r\n // descr will be null for a wrapped descr that is not configurable\r\n if (descr != null) {\r\n Object.defineProperty(proto, propName, descr);\r\n }\r\n alreadyWrapped[propName] = true;\r\n });\r\n extra.alreadyWrappedProps = alreadyWrapped;\r\n}\r\n\r\n// This method is called when an instance is first created via materialization or createEntity.\r\n// this method cannot be called while a 'defineProperty' accessor is executing\r\n// because of IE bug mentioned above.\r\n\r\nfunction movePropsToBackingStore(instance: any) {\r\n\r\n let bs = getBackingStore(instance);\r\n let proto = Object.getPrototypeOf(instance);\r\n let stype = (proto.entityType || proto.complexType) as breeze.StructuralType;\r\n stype.getProperties().forEach(function (prop) {\r\n let propName = prop.name;\r\n if (prop.isUnmapped) {\r\n // insure that any unmapped properties that were added after entityType\r\n // was first created are wrapped with a property descriptor.\r\n if (!core.getPropertyDescriptor(proto, propName)) {\r\n let descr = makePropDescription(proto, prop);\r\n Object.defineProperty(proto, propName, descr);\r\n }\r\n }\r\n if (!instance.hasOwnProperty(propName)) return;\r\n // pulls off the value, removes the instance property and then rewrites it via ES5 accessor\r\n let value = instance[propName];\r\n delete instance[propName];\r\n instance[propName] = value;\r\n });\r\n return bs;\r\n}\r\n\r\nfunction makePropDescription(proto: any, property: breeze.EntityProperty) {\r\n let propName = property.name;\r\n let pendingStores = proto._pendingBackingStores;\r\n if (!pendingStores) {\r\n pendingStores = [];\r\n proto._pendingBackingStores = pendingStores;\r\n }\r\n let descr = {\r\n get: function () {\r\n let bs = this._backingStore || getBackingStore(this);\r\n return bs[propName];\r\n },\r\n set: function (value: any) {\r\n // IE9 cannot touch instance._backingStore here\r\n let bs = this._backingStore || getPendingBackingStore(this);\r\n let accessorFn = getAccessorFn(bs, propName);\r\n this._$interceptor(property, value, accessorFn);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n };\r\n\r\n (descr.set as any).rawSet = function (value: any) {\r\n let bs = this._backingStore || getPendingBackingStore(this);\r\n let accessorFn = getAccessorFn(bs, propName);\r\n accessorFn(value);\r\n };\r\n return descr;\r\n\r\n}\r\n\r\nfunction getAccessorFn(bs: {}, propName: string): any {\r\n return function () {\r\n if (arguments.length === 0) {\r\n return bs[propName];\r\n } else {\r\n bs[propName] = arguments[0];\r\n return undefined;\r\n }\r\n };\r\n}\r\n\r\nfunction wrapPropDescription(proto: any, property: breeze.EntityProperty): any {\r\n if (!proto.hasOwnProperty(property.name)) {\r\n let nextProto = Object.getPrototypeOf(proto);\r\n return wrapPropDescription(nextProto, property);\r\n }\r\n\r\n let propDescr = Object.getOwnPropertyDescriptor(proto, property.name);\r\n if (!propDescr) return undefined;\r\n // if not configurable; we can't touch it - so leave.\r\n if (!propDescr.configurable) return undefined;\r\n // if a data descriptor - don't change it - this is basically a static property - i.e. defined on every instance of the type with the same value.\r\n if (propDescr.value) return undefined;\r\n // if a read only property descriptor - no need to change it.\r\n if (!propDescr.set) return undefined;\r\n\r\n let localAccessorFn = function (entity: any) {\r\n return function () {\r\n if (!propDescr) return undefined;\r\n if (arguments.length === 0) {\r\n return propDescr.get!.bind(entity)();\r\n } else {\r\n let set = propDescr.set;\r\n let rawSet = (set as any).rawSet || set;\r\n rawSet.bind(entity)(arguments[0]);\r\n return undefined;\r\n }\r\n };\r\n };\r\n\r\n let newDescr = {\r\n get: function () {\r\n if (!propDescr) return undefined;\r\n return propDescr.get!.bind(this)();\r\n },\r\n set: function (value: any) {\r\n this._$interceptor(property, value, localAccessorFn(this));\r\n },\r\n enumerable: propDescr.enumerable,\r\n configurable: true\r\n };\r\n (newDescr.set as any).rawSet = propDescr.set;\r\n return newDescr;\r\n}\r\n\r\n\r\nfunction getBackingStore(instance: any) {\r\n let proto = Object.getPrototypeOf(instance);\r\n processPendingStores(proto);\r\n let bs = instance._backingStore;\r\n if (!bs) {\r\n bs = {};\r\n instance._backingStore = bs;\r\n }\r\n return bs;\r\n}\r\n\r\n// workaround for IE9 bug where instance properties cannot be changed when executing a property 'set' method.\r\nfunction getPendingBackingStore(instance: any) {\r\n let proto = Object.getPrototypeOf(instance);\r\n let pendingStores = proto._pendingBackingStores;\r\n let pending = core.arrayFirst(pendingStores, function (pending) {\r\n return pending.entity === instance;\r\n });\r\n if (pending) return (pending as any).backingStore;\r\n let bs = {};\r\n pendingStores.push({ entity: instance, backingStore: bs });\r\n return bs;\r\n}\r\n\r\nfunction processPendingStores(proto: any) {\r\n let pendingStores = proto._pendingBackingStores;\r\n if (pendingStores) {\r\n pendingStores.forEach(function (pending: any) {\r\n pending.entity._backingStore = pending.backingStore;\r\n });\r\n pendingStores.length = 0;\r\n }\r\n}\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './adapter-model-library-backing-store';\n"],"names":["breeze.core","config","breeze.config","breeze.EntityAspect","breeze.DataProperty","breeze.makeComplexArray","breeze.makePrimitiveArray","breeze.makeRelationArray"],"mappings":"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"}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { core as core$1, config, DataProperty, makeComplexArray, makePrimitiveArray, NavigationProperty, makeRelationArray } from 'breeze-client';
|
|
2
2
|
|
|
3
|
-
let core =
|
|
3
|
+
let core = core$1;
|
|
4
4
|
let canIsolateES5Props = core.isES5Supported;
|
|
5
5
|
let ko;
|
|
6
6
|
class ModelLibraryKnockoutAdapter {
|
|
7
|
-
name;
|
|
8
7
|
constructor() {
|
|
9
8
|
this.name = "ko";
|
|
10
9
|
}
|
|
11
|
-
static register(config) {
|
|
12
|
-
config = config ||
|
|
13
|
-
config.registerAdapter("modelLibrary", ModelLibraryKnockoutAdapter);
|
|
14
|
-
return config.initializeAdapterInstance("modelLibrary", "ko", true);
|
|
10
|
+
static register(config$1) {
|
|
11
|
+
config$1 = config$1 || config;
|
|
12
|
+
config$1.registerAdapter("modelLibrary", ModelLibraryKnockoutAdapter);
|
|
13
|
+
return config$1.initializeAdapterInstance("modelLibrary", "ko", true);
|
|
15
14
|
}
|
|
16
15
|
initialize() {
|
|
17
16
|
ko = core.requireLib("ko;knockout", "The Knockout library");
|
|
@@ -163,7 +162,7 @@ class ModelLibraryKnockoutAdapter {
|
|
|
163
162
|
});
|
|
164
163
|
}
|
|
165
164
|
}
|
|
166
|
-
|
|
165
|
+
config.registerAdapter("modelLibrary", ModelLibraryKnockoutAdapter);
|
|
167
166
|
// private fns
|
|
168
167
|
function getES5PropDescriptor(proto, propName) {
|
|
169
168
|
if (!canIsolateES5Props) {
|
|
@@ -178,24 +177,24 @@ function getES5PropDescriptor(proto, propName) {
|
|
|
178
177
|
}
|
|
179
178
|
}
|
|
180
179
|
function initializeValueForProp(entity, prop, val) {
|
|
181
|
-
if (prop instanceof
|
|
180
|
+
if (prop instanceof 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 =
|
|
187
|
+
val = makeComplexArray([], entity, prop);
|
|
189
188
|
}
|
|
190
189
|
}
|
|
191
190
|
else if (!prop.isScalar) {
|
|
192
|
-
val =
|
|
191
|
+
val = 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
|
|
197
|
+
else if (prop instanceof 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 =
|
|
206
|
+
val = makeRelationArray([], entity, prop);
|
|
208
207
|
}
|
|
209
208
|
}
|
|
210
209
|
else {
|
|
@@ -245,4 +244,4 @@ function isolateES5Props(proto) {
|
|
|
245
244
|
*/
|
|
246
245
|
|
|
247
246
|
export { ModelLibraryKnockoutAdapter };
|
|
248
|
-
//# sourceMappingURL=breeze-client-adapter-model-library-ko.
|
|
247
|
+
//# 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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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { config, EntityType } from 'breeze-client';
|
|
2
2
|
|
|
3
3
|
/** Appends parameter to url, with appropriate delimiter */
|
|
4
4
|
function appendQueryStringParameter(url, parameter) {
|
|
@@ -50,21 +50,20 @@ function encodeParams(obj) {
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
class UriBuilderJsonAdapter {
|
|
53
|
-
name;
|
|
54
53
|
constructor() {
|
|
55
54
|
this.name = "json";
|
|
56
55
|
}
|
|
57
|
-
static register(config) {
|
|
58
|
-
config = config ||
|
|
59
|
-
config.registerAdapter("uriBuilder", UriBuilderJsonAdapter);
|
|
60
|
-
return config.initializeAdapterInstance("uriBuilder", "json", true);
|
|
56
|
+
static register(config$1) {
|
|
57
|
+
config$1 = config$1 || config;
|
|
58
|
+
config$1.registerAdapter("uriBuilder", UriBuilderJsonAdapter);
|
|
59
|
+
return config$1.initializeAdapterInstance("uriBuilder", "json", true);
|
|
61
60
|
}
|
|
62
61
|
initialize() { }
|
|
63
62
|
buildUri(entityQuery, metadataStore) {
|
|
64
63
|
// force entityType validation;
|
|
65
64
|
let entityType = entityQuery._getFromEntityType(metadataStore, false);
|
|
66
65
|
if (!entityType)
|
|
67
|
-
entityType = new
|
|
66
|
+
entityType = new EntityType(metadataStore);
|
|
68
67
|
let json = entityQuery.toJSONExt({ entityType: entityType, toNameOnServer: true });
|
|
69
68
|
json.from = undefined;
|
|
70
69
|
json.queryOptions = undefined;
|
|
@@ -82,11 +81,11 @@ class UriBuilderJsonAdapter {
|
|
|
82
81
|
}
|
|
83
82
|
}
|
|
84
83
|
}
|
|
85
|
-
|
|
84
|
+
config.registerAdapter("uriBuilder", UriBuilderJsonAdapter);
|
|
86
85
|
|
|
87
86
|
/**
|
|
88
87
|
* Generated bundle index. Do not edit.
|
|
89
88
|
*/
|
|
90
89
|
|
|
91
90
|
export { UriBuilderJsonAdapter };
|
|
92
|
-
//# sourceMappingURL=breeze-client-adapter-uri-builder-json.
|
|
91
|
+
//# 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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"}
|