breeze-client 2.2.0 → 2.2.1-cjs
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/esm5/src/naming-convention.js +90 -0
- 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 -2042
- 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 +12 -94
- 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 -510
- 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/naming-convention.mjs +0 -96
- 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,190 @@
|
|
|
1
|
+
(function (global, factory) {
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('breeze-client')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('breeze-client/adapter-ajax-angularjs', ['exports', 'breeze-client'], factory) :
|
|
4
|
+
(global = global || self, factory((global['breeze-client'] = global['breeze-client'] || {}, global['breeze-client']['adapter-ajax-angularjs'] = {}), global['breeze-client']));
|
|
5
|
+
}(this, (function (exports, breezeClient) { 'use strict';
|
|
6
|
+
|
|
7
|
+
/** Appends parameter to url, with appropriate delimiter */
|
|
8
|
+
function appendQueryStringParameter(url, parameter) {
|
|
9
|
+
if (!parameter)
|
|
10
|
+
return url;
|
|
11
|
+
var separator = url.endsWith("?") ? "" : url.includes("?") ? "&" : "?";
|
|
12
|
+
return url + separator + parameter;
|
|
13
|
+
}
|
|
14
|
+
/** Encodes the object into query string parameters */
|
|
15
|
+
function encodeParams(obj) {
|
|
16
|
+
var query = '';
|
|
17
|
+
var subValue, innerObj, fullSubName;
|
|
18
|
+
for (var name_1 in obj) {
|
|
19
|
+
if (!obj.hasOwnProperty(name_1)) {
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
var value = obj[name_1];
|
|
23
|
+
if (value instanceof Array) {
|
|
24
|
+
for (var i = 0; i < value.length; ++i) {
|
|
25
|
+
subValue = value[i];
|
|
26
|
+
fullSubName = name_1 + '[' + i + ']';
|
|
27
|
+
innerObj = {};
|
|
28
|
+
innerObj[fullSubName] = subValue;
|
|
29
|
+
query += encodeParams(innerObj) + '&';
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
else if (value && value.toISOString) { // a feature of Date-like things
|
|
33
|
+
query += encodeURIComponent(name_1) + '=' + encodeURIComponent(value.toISOString()) + '&';
|
|
34
|
+
}
|
|
35
|
+
else if (value instanceof Object) {
|
|
36
|
+
for (var subName in value) {
|
|
37
|
+
if (obj.hasOwnProperty(name_1)) {
|
|
38
|
+
subValue = value[subName];
|
|
39
|
+
fullSubName = name_1 + '[' + subName + ']';
|
|
40
|
+
innerObj = {};
|
|
41
|
+
innerObj[fullSubName] = subValue;
|
|
42
|
+
query += encodeParams(innerObj) + '&';
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
else if (value === null) {
|
|
47
|
+
query += encodeURIComponent(name_1) + '=&';
|
|
48
|
+
}
|
|
49
|
+
else if (value !== undefined) {
|
|
50
|
+
query += encodeURIComponent(name_1) + '=' + encodeURIComponent(value) + '&';
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return query.length ? query.substr(0, query.length - 1) : query;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
var AjaxAngularjsAdapter = /** @class */ (function () {
|
|
57
|
+
function AjaxAngularjsAdapter() {
|
|
58
|
+
this.name = "angularjs";
|
|
59
|
+
this.defaultSettings = {};
|
|
60
|
+
this.requestInterceptor = undefined;
|
|
61
|
+
// Will set:
|
|
62
|
+
// this.$http;
|
|
63
|
+
// this.$rootScope;
|
|
64
|
+
}
|
|
65
|
+
AjaxAngularjsAdapter.register = function (breezeConfig) {
|
|
66
|
+
breezeConfig = breezeConfig || breezeClient.config;
|
|
67
|
+
breezeConfig.registerAdapter("ajax", AjaxAngularjsAdapter);
|
|
68
|
+
return breezeConfig.initializeAdapterInstance("ajax", "angularjs", true);
|
|
69
|
+
};
|
|
70
|
+
AjaxAngularjsAdapter.prototype.initialize = function () {
|
|
71
|
+
var ng = breezeClient.core.requireLib("angular");
|
|
72
|
+
if (ng) {
|
|
73
|
+
var $injector = ng.injector(['ng']);
|
|
74
|
+
var http_1, rootScope_1;
|
|
75
|
+
$injector.invoke(['$http', '$rootScope', function ($http, $rootScope) {
|
|
76
|
+
http_1 = $http;
|
|
77
|
+
rootScope_1 = $rootScope;
|
|
78
|
+
}]);
|
|
79
|
+
this.$http = http_1;
|
|
80
|
+
this.$rootScope = rootScope_1;
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
AjaxAngularjsAdapter.prototype.setHttp = function (http) {
|
|
84
|
+
this.$http = http;
|
|
85
|
+
this.$rootScope = null; // to suppress $rootScope.digest
|
|
86
|
+
};
|
|
87
|
+
AjaxAngularjsAdapter.prototype.ajax = function (config) {
|
|
88
|
+
if (!this.$http) {
|
|
89
|
+
throw new Error("Unable to locate angularjs for ajax adapter");
|
|
90
|
+
}
|
|
91
|
+
var ngConfig = {
|
|
92
|
+
method: config.type,
|
|
93
|
+
url: config.url,
|
|
94
|
+
dataType: config.dataType,
|
|
95
|
+
contentType: config.contentType,
|
|
96
|
+
crossDomain: config.crossDomain,
|
|
97
|
+
headers: config.headers || {},
|
|
98
|
+
data: undefined
|
|
99
|
+
};
|
|
100
|
+
if (config.params) {
|
|
101
|
+
// Hack: because of the way that Angular handles writing parameters out to the url.
|
|
102
|
+
// so this approach takes over the url param writing completely.
|
|
103
|
+
// See: http://victorblog.com/2012/12/20/make-angularjs-http-service-behave-like-jquery-ajax/
|
|
104
|
+
ngConfig.url = appendQueryStringParameter(ngConfig.url, encodeParams(config.params));
|
|
105
|
+
}
|
|
106
|
+
if (config.data) {
|
|
107
|
+
ngConfig.data = config.data;
|
|
108
|
+
}
|
|
109
|
+
if (!breezeClient.core.isEmpty(this.defaultSettings)) {
|
|
110
|
+
var compositeConfig = breezeClient.core.extend({}, this.defaultSettings);
|
|
111
|
+
ngConfig = breezeClient.core.extend(compositeConfig, ngConfig);
|
|
112
|
+
// extend is shallow; extend headers separately
|
|
113
|
+
var headers = breezeClient.core.extend({}, this.defaultSettings.headers); // copy default headers 1st
|
|
114
|
+
ngConfig.headers = breezeClient.core.extend(headers, ngConfig.headers);
|
|
115
|
+
}
|
|
116
|
+
var requestInfo = {
|
|
117
|
+
adapter: this,
|
|
118
|
+
config: ngConfig,
|
|
119
|
+
dsaConfig: config,
|
|
120
|
+
success: successFn,
|
|
121
|
+
error: errorFn,
|
|
122
|
+
responseSuccess: responseSuccessFn,
|
|
123
|
+
responseError: responseErrorFn // adapter's error callback (ng 1.6+)
|
|
124
|
+
};
|
|
125
|
+
if (breezeClient.core.isFunction(this.requestInterceptor)) {
|
|
126
|
+
var ri = this.requestInterceptor;
|
|
127
|
+
ri(requestInfo);
|
|
128
|
+
if (ri.oneTime) {
|
|
129
|
+
this.requestInterceptor = undefined;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
if (requestInfo.config) { // exists unless requestInterceptor killed it.
|
|
133
|
+
var prom = this.$http(requestInfo.config);
|
|
134
|
+
if (prom.success) {
|
|
135
|
+
// response for ng < 1.6
|
|
136
|
+
prom.success(requestInfo.success).error(requestInfo.error);
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
// response for ng 1.6+
|
|
140
|
+
prom.then(requestInfo.responseSuccess).catch(requestInfo.responseError);
|
|
141
|
+
}
|
|
142
|
+
this.$rootScope && this.$rootScope.$digest();
|
|
143
|
+
}
|
|
144
|
+
function responseSuccessFn(response) {
|
|
145
|
+
return successFn(response.data, response.status, response.headers, response.config, response.statusText);
|
|
146
|
+
}
|
|
147
|
+
function successFn(data, status, headers, xconfig, statusText) {
|
|
148
|
+
// HACK: because $http returns a server side null as a string containing "null" - this is WRONG.
|
|
149
|
+
if (data === "null")
|
|
150
|
+
data = null;
|
|
151
|
+
var httpResponse = {
|
|
152
|
+
config: config,
|
|
153
|
+
data: data,
|
|
154
|
+
getHeaders: headers,
|
|
155
|
+
ngConfig: xconfig,
|
|
156
|
+
status: status,
|
|
157
|
+
statusText: statusText
|
|
158
|
+
};
|
|
159
|
+
config.success(httpResponse);
|
|
160
|
+
}
|
|
161
|
+
function responseErrorFn(response) {
|
|
162
|
+
return errorFn(response.data, response.status, response.headers, response.config, response.statusText);
|
|
163
|
+
}
|
|
164
|
+
function errorFn(data, status, headers, xconfig, statusText) {
|
|
165
|
+
// Timeout appears as an error with status===0 and no data.
|
|
166
|
+
// Make it better
|
|
167
|
+
if (status === 0 && data == null) {
|
|
168
|
+
data = 'timeout';
|
|
169
|
+
}
|
|
170
|
+
var httpResponse = {
|
|
171
|
+
config: config,
|
|
172
|
+
data: data,
|
|
173
|
+
getHeaders: headers,
|
|
174
|
+
ngConfig: xconfig,
|
|
175
|
+
status: status,
|
|
176
|
+
statusText: statusText
|
|
177
|
+
};
|
|
178
|
+
config.error(httpResponse);
|
|
179
|
+
}
|
|
180
|
+
};
|
|
181
|
+
return AjaxAngularjsAdapter;
|
|
182
|
+
}());
|
|
183
|
+
breezeClient.config.registerAdapter("ajax", AjaxAngularjsAdapter);
|
|
184
|
+
|
|
185
|
+
exports.AjaxAngularjsAdapter = AjaxAngularjsAdapter;
|
|
186
|
+
|
|
187
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
188
|
+
|
|
189
|
+
})));
|
|
190
|
+
//# sourceMappingURL=breeze-client-adapter-ajax-angularjs.umd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breeze-client-adapter-ajax-angularjs.umd.js","sources":["ng://breeze-client/adapter-ajax-angularjs/adapter-core.ts","ng://breeze-client/adapter-ajax-angularjs/adapter-ajax-angularjs.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 { AjaxAdapter, AjaxRequestInterceptor, BreezeConfig, config, core } from 'breeze-client';\r\nimport { appendQueryStringParameter, encodeParams } from './adapter-core';\r\n\r\nexport class AjaxAngularjsAdapter implements AjaxAdapter {\r\n name: string;\r\n defaultSettings: { headers?: { [name: string]: string } };\r\n requestInterceptor?: AjaxRequestInterceptor;\r\n $http: any;\r\n $rootScope: any;\r\n constructor() {\r\n this.name = \"angularjs\";\r\n this.defaultSettings = {};\r\n this.requestInterceptor = undefined;\r\n // Will set:\r\n // this.$http;\r\n // this.$rootScope;\r\n }\r\n\r\n static register(breezeConfig?: BreezeConfig) {\r\n breezeConfig = breezeConfig || config;\r\n breezeConfig.registerAdapter(\"ajax\", AjaxAngularjsAdapter);\r\n return breezeConfig.initializeAdapterInstance(\"ajax\", \"angularjs\", true) as AjaxAngularjsAdapter;\r\n }\r\n\r\n initialize() {\r\n\r\n let ng = core.requireLib(\"angular\");\r\n if (ng) {\r\n let $injector = ng.injector(['ng']);\r\n let http: any, rootScope: any;\r\n $injector.invoke(['$http', '$rootScope', function ($http: any, $rootScope: any) {\r\n http = $http;\r\n rootScope = $rootScope;\r\n }]);\r\n this.$http = http;\r\n this.$rootScope = rootScope;\r\n }\r\n\r\n }\r\n\r\n setHttp(http: any) {\r\n this.$http = http;\r\n this.$rootScope = null; // to suppress $rootScope.digest\r\n }\r\n\r\n\r\n ajax(config: any) {\r\n if (!this.$http) {\r\n throw new Error(\"Unable to locate angularjs for ajax adapter\");\r\n }\r\n let ngConfig = {\r\n method: config.type,\r\n url: config.url,\r\n dataType: config.dataType,\r\n contentType: config.contentType,\r\n crossDomain: config.crossDomain,\r\n headers: config.headers || {},\r\n data: undefined as any\r\n };\r\n\r\n if (config.params) {\r\n // Hack: because of the way that Angular handles writing parameters out to the url.\r\n // so this approach takes over the url param writing completely.\r\n // See: http://victorblog.com/2012/12/20/make-angularjs-http-service-behave-like-jquery-ajax/\r\n ngConfig.url = appendQueryStringParameter(ngConfig.url, encodeParams(config.params));\r\n }\r\n\r\n if (config.data) {\r\n ngConfig.data = config.data;\r\n }\r\n\r\n if (!core.isEmpty(this.defaultSettings)) {\r\n let compositeConfig = core.extend({}, this.defaultSettings);\r\n ngConfig = core.extend(compositeConfig, ngConfig) as any;\r\n // extend is shallow; extend headers separately\r\n let headers = core.extend({}, this.defaultSettings.headers); // copy default headers 1st\r\n ngConfig.headers = core.extend(headers, ngConfig.headers);\r\n }\r\n\r\n let requestInfo = {\r\n adapter: this, // this adapter\r\n config: ngConfig, // angular's $http configuration object\r\n dsaConfig: config, // the config arg from the calling Breeze DataServiceAdapter\r\n success: successFn, // adapter's success callback\r\n error: errorFn, // adapter's error callback\r\n responseSuccess: responseSuccessFn, // adapter's success callback (ng 1.6+)\r\n responseError: responseErrorFn // adapter's error callback (ng 1.6+)\r\n };\r\n\r\n if (core.isFunction(this.requestInterceptor)) {\r\n let ri = this.requestInterceptor as any;\r\n ri(requestInfo);\r\n if (ri.oneTime) {\r\n this.requestInterceptor = undefined;\r\n }\r\n }\r\n\r\n if (requestInfo.config) { // exists unless requestInterceptor killed it.\r\n let prom = this.$http(requestInfo.config);\r\n if (prom.success) {\r\n // response for ng < 1.6 \r\n prom.success(requestInfo.success).error(requestInfo.error);\r\n } else {\r\n // response for ng 1.6+\r\n prom.then(requestInfo.responseSuccess).catch(requestInfo.responseError);\r\n }\r\n this.$rootScope && this.$rootScope.$digest();\r\n }\r\n\r\n function responseSuccessFn(response: any) {\r\n return successFn(response.data, response.status, response.headers, response.config, response.statusText);\r\n }\r\n\r\n function successFn(data: any, status: any, headers: any, xconfig: any, statusText: string) {\r\n // HACK: because $http returns a server side null as a string containing \"null\" - this is WRONG.\r\n if (data === \"null\") data = null;\r\n let httpResponse = {\r\n config: config,\r\n data: data,\r\n getHeaders: headers,\r\n ngConfig: xconfig,\r\n status: status,\r\n statusText: statusText\r\n };\r\n config.success(httpResponse);\r\n }\r\n\r\n function responseErrorFn(response: any) {\r\n return errorFn(response.data, response.status, response.headers, response.config, response.statusText);\r\n }\r\n\r\n function errorFn(data: any, status: any, headers: any, xconfig: any, statusText: string) {\r\n // Timeout appears as an error with status===0 and no data.\r\n // Make it better\r\n if (status === 0 && data == null) {\r\n data = 'timeout';\r\n }\r\n let httpResponse = {\r\n config: config,\r\n data: data,\r\n getHeaders: headers,\r\n ngConfig: xconfig,\r\n status: status,\r\n statusText: statusText\r\n };\r\n config.error(httpResponse);\r\n }\r\n }\r\n}\r\n\r\nconfig.registerAdapter(\"ajax\", AjaxAngularjsAdapter);\r\n"],"names":["config","core"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("breeze-client")):"function"==typeof define&&define.amd?define("breeze-client/adapter-ajax-angularjs",["exports","breeze-client"],t):t(((e=e||self)["breeze-client"]=e["breeze-client"]||{},e["breeze-client"]["adapter-ajax-angularjs"]={}),e["breeze-client"])}(this,(function(e,t){"use strict";var r=function(){function e(){this.name="angularjs",this.defaultSettings={},this.requestInterceptor=void 0}return e.register=function(r){return(r=r||t.config).registerAdapter("ajax",e),r.initializeAdapterInstance("ajax","angularjs",!0)},e.prototype.initialize=function(){var e,r,n=t.core.requireLib("angular");n&&(n.injector(["ng"]).invoke(["$http","$rootScope",function(t,n){e=t,r=n}]),this.$http=e,this.$rootScope=r)},e.prototype.setHttp=function(e){this.$http=e,this.$rootScope=null},e.prototype.ajax=function(e){if(!this.$http)throw new Error("Unable to locate angularjs for ajax adapter");var r={method:e.type,url:e.url,dataType:e.dataType,contentType:e.contentType,crossDomain:e.crossDomain,headers:e.headers||{},data:void 0};if(e.params&&(r.url=function(e,t){if(!t)return e;var r=e.endsWith("?")?"":e.includes("?")?"&":"?";return e+r+t}(r.url,function e(t){var r,n,o="";for(var a in t)if(t.hasOwnProperty(a)){var s=t[a];if(s instanceof Array)for(var i=0;i<s.length;++i)r=s[i],(n={})[a+"["+i+"]"]=r,o+=e(n)+"&";else if(s&&s.toISOString)o+=encodeURIComponent(a)+"="+encodeURIComponent(s.toISOString())+"&";else if(s instanceof Object)for(var c in s)t.hasOwnProperty(a)&&(r=s[c],(n={})[a+"["+c+"]"]=r,o+=e(n)+"&");else null===s?o+=encodeURIComponent(a)+"=&":void 0!==s&&(o+=encodeURIComponent(a)+"="+encodeURIComponent(s)+"&")}return o.length?o.substr(0,o.length-1):o}(e.params))),e.data&&(r.data=e.data),!t.core.isEmpty(this.defaultSettings)){var n=t.core.extend({},this.defaultSettings);r=t.core.extend(n,r);var o=t.core.extend({},this.defaultSettings.headers);r.headers=t.core.extend(o,r.headers)}var a={adapter:this,config:r,dsaConfig:e,success:c,error:u,responseSuccess:function(e){return c(e.data,e.status,e.headers,e.config,e.statusText)},responseError:function(e){return u(e.data,e.status,e.headers,e.config,e.statusText)}};if(t.core.isFunction(this.requestInterceptor)){var s=this.requestInterceptor;s(a),s.oneTime&&(this.requestInterceptor=void 0)}if(a.config){var i=this.$http(a.config);i.success?i.success(a.success).error(a.error):i.then(a.responseSuccess).catch(a.responseError),this.$rootScope&&this.$rootScope.$digest()}function c(t,r,n,o,a){"null"===t&&(t=null);var s={config:e,data:t,getHeaders:n,ngConfig:o,status:r,statusText:a};e.success(s)}function u(t,r,n,o,a){0===r&&null==t&&(t="timeout");var s={config:e,data:t,getHeaders:n,ngConfig:o,status:r,statusText:a};e.error(s)}},e}();t.config.registerAdapter("ajax",r),e.AjaxAngularjsAdapter=r,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
|
+
//# sourceMappingURL=breeze-client-adapter-ajax-angularjs.umd.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["ng://breeze-client/adapter-ajax-angularjs/adapter-ajax-angularjs.ts","ng://breeze-client/adapter-ajax-angularjs/adapter-core.ts"],"names":["AjaxAngularjsAdapter","this","name","defaultSettings","requestInterceptor","undefined","register","breezeConfig","config","registerAdapter","initializeAdapterInstance","prototype","initialize","http_1","rootScope_1","ng","core","requireLib","injector","invoke","$http","$rootScope","setHttp","http","ajax","Error","ngConfig","method","type","url","dataType","contentType","crossDomain","headers","data","params","parameter","separator","endsWith","includes","appendQueryStringParameter","encodeParams","obj","subValue","innerObj","query","name_1","hasOwnProperty","value","Array","i","length","toISOString","encodeURIComponent","Object","subName","substr","isEmpty","compositeConfig","extend","requestInfo","adapter","dsaConfig","success","successFn","error","errorFn","responseSuccess","response","status","statusText","responseError","isFunction","ri","oneTime","prom","then","catch","$digest","xconfig","httpResponse","getHeaders"],"mappings":"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","sourcesContent":["import { AjaxAdapter, AjaxRequestInterceptor, BreezeConfig, config, core } from 'breeze-client';\r\nimport { appendQueryStringParameter, encodeParams } from './adapter-core';\r\n\r\nexport class AjaxAngularjsAdapter implements AjaxAdapter {\r\n name: string;\r\n defaultSettings: { headers?: { [name: string]: string } };\r\n requestInterceptor?: AjaxRequestInterceptor;\r\n $http: any;\r\n $rootScope: any;\r\n constructor() {\r\n this.name = \"angularjs\";\r\n this.defaultSettings = {};\r\n this.requestInterceptor = undefined;\r\n // Will set:\r\n // this.$http;\r\n // this.$rootScope;\r\n }\r\n\r\n static register(breezeConfig?: BreezeConfig) {\r\n breezeConfig = breezeConfig || config;\r\n breezeConfig.registerAdapter(\"ajax\", AjaxAngularjsAdapter);\r\n return breezeConfig.initializeAdapterInstance(\"ajax\", \"angularjs\", true) as AjaxAngularjsAdapter;\r\n }\r\n\r\n initialize() {\r\n\r\n let ng = core.requireLib(\"angular\");\r\n if (ng) {\r\n let $injector = ng.injector(['ng']);\r\n let http: any, rootScope: any;\r\n $injector.invoke(['$http', '$rootScope', function ($http: any, $rootScope: any) {\r\n http = $http;\r\n rootScope = $rootScope;\r\n }]);\r\n this.$http = http;\r\n this.$rootScope = rootScope;\r\n }\r\n\r\n }\r\n\r\n setHttp(http: any) {\r\n this.$http = http;\r\n this.$rootScope = null; // to suppress $rootScope.digest\r\n }\r\n\r\n\r\n ajax(config: any) {\r\n if (!this.$http) {\r\n throw new Error(\"Unable to locate angularjs for ajax adapter\");\r\n }\r\n let ngConfig = {\r\n method: config.type,\r\n url: config.url,\r\n dataType: config.dataType,\r\n contentType: config.contentType,\r\n crossDomain: config.crossDomain,\r\n headers: config.headers || {},\r\n data: undefined as any\r\n };\r\n\r\n if (config.params) {\r\n // Hack: because of the way that Angular handles writing parameters out to the url.\r\n // so this approach takes over the url param writing completely.\r\n // See: http://victorblog.com/2012/12/20/make-angularjs-http-service-behave-like-jquery-ajax/\r\n ngConfig.url = appendQueryStringParameter(ngConfig.url, encodeParams(config.params));\r\n }\r\n\r\n if (config.data) {\r\n ngConfig.data = config.data;\r\n }\r\n\r\n if (!core.isEmpty(this.defaultSettings)) {\r\n let compositeConfig = core.extend({}, this.defaultSettings);\r\n ngConfig = core.extend(compositeConfig, ngConfig) as any;\r\n // extend is shallow; extend headers separately\r\n let headers = core.extend({}, this.defaultSettings.headers); // copy default headers 1st\r\n ngConfig.headers = core.extend(headers, ngConfig.headers);\r\n }\r\n\r\n let requestInfo = {\r\n adapter: this, // this adapter\r\n config: ngConfig, // angular's $http configuration object\r\n dsaConfig: config, // the config arg from the calling Breeze DataServiceAdapter\r\n success: successFn, // adapter's success callback\r\n error: errorFn, // adapter's error callback\r\n responseSuccess: responseSuccessFn, // adapter's success callback (ng 1.6+)\r\n responseError: responseErrorFn // adapter's error callback (ng 1.6+)\r\n };\r\n\r\n if (core.isFunction(this.requestInterceptor)) {\r\n let ri = this.requestInterceptor as any;\r\n ri(requestInfo);\r\n if (ri.oneTime) {\r\n this.requestInterceptor = undefined;\r\n }\r\n }\r\n\r\n if (requestInfo.config) { // exists unless requestInterceptor killed it.\r\n let prom = this.$http(requestInfo.config);\r\n if (prom.success) {\r\n // response for ng < 1.6 \r\n prom.success(requestInfo.success).error(requestInfo.error);\r\n } else {\r\n // response for ng 1.6+\r\n prom.then(requestInfo.responseSuccess).catch(requestInfo.responseError);\r\n }\r\n this.$rootScope && this.$rootScope.$digest();\r\n }\r\n\r\n function responseSuccessFn(response: any) {\r\n return successFn(response.data, response.status, response.headers, response.config, response.statusText);\r\n }\r\n\r\n function successFn(data: any, status: any, headers: any, xconfig: any, statusText: string) {\r\n // HACK: because $http returns a server side null as a string containing \"null\" - this is WRONG.\r\n if (data === \"null\") data = null;\r\n let httpResponse = {\r\n config: config,\r\n data: data,\r\n getHeaders: headers,\r\n ngConfig: xconfig,\r\n status: status,\r\n statusText: statusText\r\n };\r\n config.success(httpResponse);\r\n }\r\n\r\n function responseErrorFn(response: any) {\r\n return errorFn(response.data, response.status, response.headers, response.config, response.statusText);\r\n }\r\n\r\n function errorFn(data: any, status: any, headers: any, xconfig: any, statusText: string) {\r\n // Timeout appears as an error with status===0 and no data.\r\n // Make it better\r\n if (status === 0 && data == null) {\r\n data = 'timeout';\r\n }\r\n let httpResponse = {\r\n config: config,\r\n data: data,\r\n getHeaders: headers,\r\n ngConfig: xconfig,\r\n status: status,\r\n statusText: statusText\r\n };\r\n config.error(httpResponse);\r\n }\r\n }\r\n}\r\n\r\nconfig.registerAdapter(\"ajax\", AjaxAngularjsAdapter);\r\n","/** 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"]}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
(function (global, factory) {
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('breeze-client')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('breeze-client/adapter-ajax-fetch', ['exports', 'breeze-client'], factory) :
|
|
4
|
+
(global = global || self, factory((global['breeze-client'] = global['breeze-client'] || {}, global['breeze-client']['adapter-ajax-fetch'] = {}), global['breeze-client']));
|
|
5
|
+
}(this, (function (exports, breezeClient) { 'use strict';
|
|
6
|
+
|
|
7
|
+
/** Appends parameter to url, with appropriate delimiter */
|
|
8
|
+
function appendQueryStringParameter(url, parameter) {
|
|
9
|
+
if (!parameter)
|
|
10
|
+
return url;
|
|
11
|
+
var separator = url.endsWith("?") ? "" : url.includes("?") ? "&" : "?";
|
|
12
|
+
return url + separator + parameter;
|
|
13
|
+
}
|
|
14
|
+
/** Encodes the object into query string parameters */
|
|
15
|
+
function encodeParams(obj) {
|
|
16
|
+
var query = '';
|
|
17
|
+
var subValue, innerObj, fullSubName;
|
|
18
|
+
for (var name_1 in obj) {
|
|
19
|
+
if (!obj.hasOwnProperty(name_1)) {
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
var value = obj[name_1];
|
|
23
|
+
if (value instanceof Array) {
|
|
24
|
+
for (var i = 0; i < value.length; ++i) {
|
|
25
|
+
subValue = value[i];
|
|
26
|
+
fullSubName = name_1 + '[' + i + ']';
|
|
27
|
+
innerObj = {};
|
|
28
|
+
innerObj[fullSubName] = subValue;
|
|
29
|
+
query += encodeParams(innerObj) + '&';
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
else if (value && value.toISOString) { // a feature of Date-like things
|
|
33
|
+
query += encodeURIComponent(name_1) + '=' + encodeURIComponent(value.toISOString()) + '&';
|
|
34
|
+
}
|
|
35
|
+
else if (value instanceof Object) {
|
|
36
|
+
for (var subName in value) {
|
|
37
|
+
if (obj.hasOwnProperty(name_1)) {
|
|
38
|
+
subValue = value[subName];
|
|
39
|
+
fullSubName = name_1 + '[' + subName + ']';
|
|
40
|
+
innerObj = {};
|
|
41
|
+
innerObj[fullSubName] = subValue;
|
|
42
|
+
query += encodeParams(innerObj) + '&';
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
else if (value === null) {
|
|
47
|
+
query += encodeURIComponent(name_1) + '=&';
|
|
48
|
+
}
|
|
49
|
+
else if (value !== undefined) {
|
|
50
|
+
query += encodeURIComponent(name_1) + '=' + encodeURIComponent(value) + '&';
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return query.length ? query.substr(0, query.length - 1) : query;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/** Breeze AJAX adapter using fetch API
|
|
57
|
+
* See https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch
|
|
58
|
+
*/
|
|
59
|
+
var AjaxFetchAdapter = /** @class */ (function () {
|
|
60
|
+
function AjaxFetchAdapter() {
|
|
61
|
+
this.name = AjaxFetchAdapter.adapterName;
|
|
62
|
+
this.defaultSettings = {};
|
|
63
|
+
this.requestInterceptor = undefined;
|
|
64
|
+
}
|
|
65
|
+
AjaxFetchAdapter.register = function (breezeConfig) {
|
|
66
|
+
breezeConfig = breezeConfig || breezeClient.config;
|
|
67
|
+
breezeConfig.registerAdapter("ajax", AjaxFetchAdapter);
|
|
68
|
+
return breezeConfig.initializeAdapterInstance("ajax", AjaxFetchAdapter.adapterName, true);
|
|
69
|
+
};
|
|
70
|
+
AjaxFetchAdapter.prototype.initialize = function () {
|
|
71
|
+
};
|
|
72
|
+
AjaxFetchAdapter.prototype.ajax = function (config) {
|
|
73
|
+
if (!fetch) {
|
|
74
|
+
throw new Error("fetch API not supported in this browser");
|
|
75
|
+
}
|
|
76
|
+
var init = {
|
|
77
|
+
method: config.type,
|
|
78
|
+
mode: 'cors',
|
|
79
|
+
cache: 'no-cache',
|
|
80
|
+
credentials: 'include',
|
|
81
|
+
headers: {
|
|
82
|
+
'Content-Type': config.contentType || 'application/json',
|
|
83
|
+
},
|
|
84
|
+
redirect: 'follow',
|
|
85
|
+
referrer: 'client',
|
|
86
|
+
};
|
|
87
|
+
if (config.type !== "GET" && config.type !== "HEAD") {
|
|
88
|
+
// body data type must match "Content-Type" header
|
|
89
|
+
// let data = config.params || config.data;
|
|
90
|
+
var data = config.data;
|
|
91
|
+
if (typeof (data) !== "string") {
|
|
92
|
+
data = JSON.stringify(data);
|
|
93
|
+
}
|
|
94
|
+
init.body = data;
|
|
95
|
+
}
|
|
96
|
+
var url = config.url;
|
|
97
|
+
if (!breezeClient.core.isEmpty(config.params)) {
|
|
98
|
+
// Hack: Not sure how Fetch handles writing 'search' parameters to the url.
|
|
99
|
+
// so this approach takes over the url param writing completely.
|
|
100
|
+
url = appendQueryStringParameter(url, encodeParams(config.params));
|
|
101
|
+
}
|
|
102
|
+
if (!breezeClient.core.isEmpty(this.defaultSettings)) {
|
|
103
|
+
var compositeConfig = breezeClient.core.extend({}, this.defaultSettings);
|
|
104
|
+
init = breezeClient.core.extend(compositeConfig, init);
|
|
105
|
+
// extend is shallow; extend headers separately
|
|
106
|
+
var headers = breezeClient.core.extend({}, this.defaultSettings.headers); // copy default headers 1st
|
|
107
|
+
init.headers = breezeClient.core.extend(headers, init.headers);
|
|
108
|
+
}
|
|
109
|
+
var requestInfo = {
|
|
110
|
+
adapter: this,
|
|
111
|
+
config: init,
|
|
112
|
+
dsaConfig: config,
|
|
113
|
+
success: successFn,
|
|
114
|
+
error: errorFn,
|
|
115
|
+
};
|
|
116
|
+
if (breezeClient.core.isFunction(this.requestInterceptor)) {
|
|
117
|
+
var ri = this.requestInterceptor;
|
|
118
|
+
ri(requestInfo);
|
|
119
|
+
if (ri.oneTime) {
|
|
120
|
+
this.requestInterceptor = undefined;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
if (requestInfo.config) { // exists unless requestInterceptor killed it.
|
|
124
|
+
fetch(url, requestInfo.config).then(function (response) {
|
|
125
|
+
if (!response.ok) {
|
|
126
|
+
response.text().then(function (s) {
|
|
127
|
+
requestInfo.error(response.status, response.statusText, s, response, null);
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
response.json().then(function (j) {
|
|
132
|
+
requestInfo.success(j, response.statusText, response);
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
}).catch(function (err) {
|
|
136
|
+
requestInfo.error(0, err && err.message || err, null, null, err);
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
function successFn(data, statusText, response) {
|
|
140
|
+
var httpResponse = {
|
|
141
|
+
config: config,
|
|
142
|
+
data: data,
|
|
143
|
+
getHeaders: getHeadersFn(response),
|
|
144
|
+
status: response.status,
|
|
145
|
+
statusText: statusText
|
|
146
|
+
};
|
|
147
|
+
config.success(httpResponse);
|
|
148
|
+
}
|
|
149
|
+
function errorFn(status, statusText, body, response, errorThrown) {
|
|
150
|
+
var httpResponse = {
|
|
151
|
+
config: config,
|
|
152
|
+
data: body,
|
|
153
|
+
error: errorThrown || statusText,
|
|
154
|
+
getHeaders: getHeadersFn(response),
|
|
155
|
+
status: status,
|
|
156
|
+
statusText: statusText
|
|
157
|
+
};
|
|
158
|
+
config.error(httpResponse);
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
AjaxFetchAdapter.adapterName = "fetch";
|
|
162
|
+
return AjaxFetchAdapter;
|
|
163
|
+
}());
|
|
164
|
+
breezeClient.config.registerAdapter("ajax", AjaxFetchAdapter);
|
|
165
|
+
function getHeadersFn(response) {
|
|
166
|
+
if (!response || response.status === 0) { // timeout or abort; no headers
|
|
167
|
+
return function (headerName) {
|
|
168
|
+
return (headerName && headerName.length > 0) ? "" : {};
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
return function (headerName) {
|
|
173
|
+
if (headerName && headerName.length > 0) {
|
|
174
|
+
return response.headers.get(headerName);
|
|
175
|
+
}
|
|
176
|
+
var hob = {};
|
|
177
|
+
response.headers.forEach(function (val, key) {
|
|
178
|
+
hob[key] = val;
|
|
179
|
+
});
|
|
180
|
+
return hob;
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
exports.AjaxFetchAdapter = AjaxFetchAdapter;
|
|
186
|
+
|
|
187
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
188
|
+
|
|
189
|
+
})));
|
|
190
|
+
//# sourceMappingURL=breeze-client-adapter-ajax-fetch.umd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breeze-client-adapter-ajax-fetch.umd.js","sources":["ng://breeze-client/adapter-ajax-fetch/adapter-core.ts","ng://breeze-client/adapter-ajax-fetch/adapter-ajax-fetch.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 { AjaxAdapter, AjaxConfig, AjaxRequestInterceptor, BreezeConfig, config, core } from 'breeze-client';\r\nimport { appendQueryStringParameter, encodeParams } from './adapter-core';\r\n\r\n/** Breeze AJAX adapter using fetch API \r\n * See https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch\r\n*/\r\nexport class AjaxFetchAdapter implements AjaxAdapter {\r\n static adapterName = \"fetch\";\r\n name: string;\r\n defaultSettings: { headers?: { [name: string]: string } };\r\n requestInterceptor?: AjaxRequestInterceptor;\r\n\r\n constructor() {\r\n this.name = AjaxFetchAdapter.adapterName;\r\n this.defaultSettings = { };\r\n this.requestInterceptor = undefined;\r\n }\r\n\r\n static register(breezeConfig?: BreezeConfig) {\r\n breezeConfig = breezeConfig || config;\r\n breezeConfig.registerAdapter(\"ajax\", AjaxFetchAdapter);\r\n return breezeConfig.initializeAdapterInstance(\"ajax\", AjaxFetchAdapter.adapterName, true) as AjaxFetchAdapter;\r\n }\r\n\r\n initialize() {\r\n }\r\n\r\n ajax(config: AjaxConfig) {\r\n if (!fetch) {\r\n throw new Error(\"fetch API not supported in this browser\");\r\n }\r\n\r\n let init: RequestInit = {\r\n method: config.type, // *GET, POST, PUT, DELETE, etc.\r\n mode: 'cors', // no-cors, *cors, same-origin\r\n cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached\r\n credentials: 'include', // include, *same-origin, omit\r\n headers: {\r\n 'Content-Type': config.contentType || 'application/json',\r\n // ...config.headers\r\n // 'Content-Type': 'application/x-www-form-urlencoded',\r\n },\r\n redirect: 'follow', // manual, *follow, error\r\n referrer: 'client', // no-referrer, *client\r\n };\r\n if (config.type !== \"GET\" && config.type !== \"HEAD\") {\r\n // body data type must match \"Content-Type\" header\r\n // let data = config.params || config.data;\r\n let data = config.data;\r\n if (typeof(data) !== \"string\") {\r\n data = JSON.stringify(data);\r\n }\r\n init.body = data;\r\n }\r\n\r\n let url = config.url;\r\n if (!core.isEmpty(config.params)) {\r\n // Hack: Not sure how Fetch handles writing 'search' parameters to the url.\r\n // so this approach takes over the url param writing completely.\r\n url = appendQueryStringParameter(url, encodeParams(config.params));\r\n }\r\n\r\n if (!core.isEmpty(this.defaultSettings)) {\r\n let compositeConfig = core.extend({}, this.defaultSettings);\r\n init = core.extend(compositeConfig, init) as any;\r\n // extend is shallow; extend headers separately\r\n let headers = core.extend({}, this.defaultSettings.headers); // copy default headers 1st\r\n init.headers = core.extend(headers, init.headers) as any;\r\n }\r\n\r\n let requestInfo = {\r\n adapter: this, // this adapter\r\n config: init, // fetch api 'init' object\r\n dsaConfig: config, // the config arg from the calling Breeze DataServiceAdapter\r\n success: successFn, // adapter's success callback\r\n error: errorFn, // adapter's error callback\r\n };\r\n\r\n if (core.isFunction(this.requestInterceptor)) {\r\n let ri = this.requestInterceptor as any;\r\n ri(requestInfo);\r\n if (ri.oneTime) {\r\n this.requestInterceptor = undefined;\r\n }\r\n }\r\n\r\n if (requestInfo.config) { // exists unless requestInterceptor killed it.\r\n fetch(url, requestInfo.config).then(response => {\r\n if (!response.ok) {\r\n response.text().then(s => {\r\n requestInfo.error(response.status, response.statusText, s, response, null);\r\n });\r\n } else {\r\n response.json().then(j => {\r\n requestInfo.success(j, response.statusText, response);\r\n });\r\n }\r\n }).catch(err => {\r\n requestInfo.error(0, err && err.message || err, null, null, err);\r\n });\r\n }\r\n\r\n function successFn(data: any, statusText: string, response: Response) {\r\n let httpResponse = {\r\n config: config,\r\n data: data,\r\n getHeaders: getHeadersFn(response),\r\n status: response.status,\r\n statusText: statusText\r\n };\r\n config.success(httpResponse);\r\n }\r\n\r\n function errorFn(status: number, statusText: string, body: string, response: Response, errorThrown: any) {\r\n let httpResponse = {\r\n config: config,\r\n data: body,\r\n error: errorThrown || statusText,\r\n getHeaders: getHeadersFn(response),\r\n status: status,\r\n statusText: statusText\r\n };\r\n config.error(httpResponse);\r\n }\r\n }\r\n}\r\n\r\nconfig.registerAdapter(\"ajax\", AjaxFetchAdapter);\r\n\r\nfunction getHeadersFn(response: Response): any {\r\n if (!response || response.status === 0) { // timeout or abort; no headers\r\n return function (headerName: string) {\r\n return (headerName && headerName.length > 0) ? \"\" : {};\r\n };\r\n } else {\r\n return function (headerName: string) {\r\n if (headerName && headerName.length > 0) {\r\n return response.headers.get(headerName);\r\n }\r\n let hob = {};\r\n response.headers.forEach((val, key) => {\r\n hob[key] = val;\r\n });\r\n return hob;\r\n };\r\n }\r\n}\r\n"],"names":["config","core"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("breeze-client")):"function"==typeof define&&define.amd?define("breeze-client/adapter-ajax-fetch",["exports","breeze-client"],t):t(((e=e||self)["breeze-client"]=e["breeze-client"]||{},e["breeze-client"]["adapter-ajax-fetch"]={}),e["breeze-client"])}(this,(function(e,t){"use strict";var n=function(){function e(){this.name=e.adapterName,this.defaultSettings={},this.requestInterceptor=void 0}return e.register=function(n){return(n=n||t.config).registerAdapter("ajax",e),n.initializeAdapterInstance("ajax",e.adapterName,!0)},e.prototype.initialize=function(){},e.prototype.ajax=function(e){if(!fetch)throw new Error("fetch API not supported in this browser");var n={method:e.type,mode:"cors",cache:"no-cache",credentials:"include",headers:{"Content-Type":e.contentType||"application/json"},redirect:"follow",referrer:"client"};if("GET"!==e.type&&"HEAD"!==e.type){var o=e.data;"string"!=typeof o&&(o=JSON.stringify(o)),n.body=o}var i=e.url;if(t.core.isEmpty(e.params)||(i=function(e,t){if(!t)return e;var n=e.endsWith("?")?"":e.includes("?")?"&":"?";return e+n+t}(i,function e(t){var n,r,o="";for(var i in t)if(t.hasOwnProperty(i)){var a=t[i];if(a instanceof Array)for(var s=0;s<a.length;++s)n=a[s],(r={})[i+"["+s+"]"]=n,o+=e(r)+"&";else if(a&&a.toISOString)o+=encodeURIComponent(i)+"="+encodeURIComponent(a.toISOString())+"&";else if(a instanceof Object)for(var c in a)t.hasOwnProperty(i)&&(n=a[c],(r={})[i+"["+c+"]"]=n,o+=e(r)+"&");else null===a?o+=encodeURIComponent(i)+"=&":void 0!==a&&(o+=encodeURIComponent(i)+"="+encodeURIComponent(a)+"&")}return o.length?o.substr(0,o.length-1):o}(e.params))),!t.core.isEmpty(this.defaultSettings)){var a=t.core.extend({},this.defaultSettings);n=t.core.extend(a,n);var s=t.core.extend({},this.defaultSettings.headers);n.headers=t.core.extend(s,n.headers)}var c={adapter:this,config:n,dsaConfig:e,success:function(t,n,o){var i={config:e,data:t,getHeaders:r(o),status:o.status,statusText:n};e.success(i)},error:function(t,n,o,i,a){var s={config:e,data:o,error:a||n,getHeaders:r(i),status:t,statusText:n};e.error(s)}};if(t.core.isFunction(this.requestInterceptor)){var f=this.requestInterceptor;f(c),f.oneTime&&(this.requestInterceptor=void 0)}c.config&&fetch(i,c.config).then((function(e){e.ok?e.json().then((function(t){c.success(t,e.statusText,e)})):e.text().then((function(t){c.error(e.status,e.statusText,t,e,null)}))})).catch((function(e){c.error(0,e&&e.message||e,null,null,e)}))},e.adapterName="fetch",e}();function r(e){return e&&0!==e.status?function(t){if(t&&t.length>0)return e.headers.get(t);var n={};return e.headers.forEach((function(e,t){n[t]=e})),n}:function(e){return e&&e.length>0?"":{}}}t.config.registerAdapter("ajax",n),e.AjaxFetchAdapter=n,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
|
+
//# sourceMappingURL=breeze-client-adapter-ajax-fetch.umd.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["ng://breeze-client/adapter-ajax-fetch/adapter-ajax-fetch.ts","ng://breeze-client/adapter-ajax-fetch/adapter-core.ts"],"names":["AjaxFetchAdapter","this","name","adapterName","defaultSettings","requestInterceptor","undefined","register","breezeConfig","config","registerAdapter","initializeAdapterInstance","prototype","initialize","ajax","fetch","Error","init","method","type","mode","cache","credentials","headers","Content-Type","contentType","redirect","referrer","data","JSON","stringify","body","url","core","isEmpty","params","parameter","separator","endsWith","includes","appendQueryStringParameter","encodeParams","obj","subValue","innerObj","query","name_1","hasOwnProperty","value","Array","i","length","toISOString","encodeURIComponent","Object","subName","substr","compositeConfig","extend","requestInfo","adapter","dsaConfig","success","statusText","response","httpResponse","getHeaders","getHeadersFn","status","error","errorThrown","isFunction","ri","oneTime","then","ok","json","j","text","s","catch","err","message","headerName","get","hob","forEach","val","key"],"mappings":"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","sourcesContent":["import { AjaxAdapter, AjaxConfig, AjaxRequestInterceptor, BreezeConfig, config, core } from 'breeze-client';\r\nimport { appendQueryStringParameter, encodeParams } from './adapter-core';\r\n\r\n/** Breeze AJAX adapter using fetch API \r\n * See https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch\r\n*/\r\nexport class AjaxFetchAdapter implements AjaxAdapter {\r\n static adapterName = \"fetch\";\r\n name: string;\r\n defaultSettings: { headers?: { [name: string]: string } };\r\n requestInterceptor?: AjaxRequestInterceptor;\r\n\r\n constructor() {\r\n this.name = AjaxFetchAdapter.adapterName;\r\n this.defaultSettings = { };\r\n this.requestInterceptor = undefined;\r\n }\r\n\r\n static register(breezeConfig?: BreezeConfig) {\r\n breezeConfig = breezeConfig || config;\r\n breezeConfig.registerAdapter(\"ajax\", AjaxFetchAdapter);\r\n return breezeConfig.initializeAdapterInstance(\"ajax\", AjaxFetchAdapter.adapterName, true) as AjaxFetchAdapter;\r\n }\r\n\r\n initialize() {\r\n }\r\n\r\n ajax(config: AjaxConfig) {\r\n if (!fetch) {\r\n throw new Error(\"fetch API not supported in this browser\");\r\n }\r\n\r\n let init: RequestInit = {\r\n method: config.type, // *GET, POST, PUT, DELETE, etc.\r\n mode: 'cors', // no-cors, *cors, same-origin\r\n cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached\r\n credentials: 'include', // include, *same-origin, omit\r\n headers: {\r\n 'Content-Type': config.contentType || 'application/json',\r\n // ...config.headers\r\n // 'Content-Type': 'application/x-www-form-urlencoded',\r\n },\r\n redirect: 'follow', // manual, *follow, error\r\n referrer: 'client', // no-referrer, *client\r\n };\r\n if (config.type !== \"GET\" && config.type !== \"HEAD\") {\r\n // body data type must match \"Content-Type\" header\r\n // let data = config.params || config.data;\r\n let data = config.data;\r\n if (typeof(data) !== \"string\") {\r\n data = JSON.stringify(data);\r\n }\r\n init.body = data;\r\n }\r\n\r\n let url = config.url;\r\n if (!core.isEmpty(config.params)) {\r\n // Hack: Not sure how Fetch handles writing 'search' parameters to the url.\r\n // so this approach takes over the url param writing completely.\r\n url = appendQueryStringParameter(url, encodeParams(config.params));\r\n }\r\n\r\n if (!core.isEmpty(this.defaultSettings)) {\r\n let compositeConfig = core.extend({}, this.defaultSettings);\r\n init = core.extend(compositeConfig, init) as any;\r\n // extend is shallow; extend headers separately\r\n let headers = core.extend({}, this.defaultSettings.headers); // copy default headers 1st\r\n init.headers = core.extend(headers, init.headers) as any;\r\n }\r\n\r\n let requestInfo = {\r\n adapter: this, // this adapter\r\n config: init, // fetch api 'init' object\r\n dsaConfig: config, // the config arg from the calling Breeze DataServiceAdapter\r\n success: successFn, // adapter's success callback\r\n error: errorFn, // adapter's error callback\r\n };\r\n\r\n if (core.isFunction(this.requestInterceptor)) {\r\n let ri = this.requestInterceptor as any;\r\n ri(requestInfo);\r\n if (ri.oneTime) {\r\n this.requestInterceptor = undefined;\r\n }\r\n }\r\n\r\n if (requestInfo.config) { // exists unless requestInterceptor killed it.\r\n fetch(url, requestInfo.config).then(response => {\r\n if (!response.ok) {\r\n response.text().then(s => {\r\n requestInfo.error(response.status, response.statusText, s, response, null);\r\n });\r\n } else {\r\n response.json().then(j => {\r\n requestInfo.success(j, response.statusText, response);\r\n });\r\n }\r\n }).catch(err => {\r\n requestInfo.error(0, err && err.message || err, null, null, err);\r\n });\r\n }\r\n\r\n function successFn(data: any, statusText: string, response: Response) {\r\n let httpResponse = {\r\n config: config,\r\n data: data,\r\n getHeaders: getHeadersFn(response),\r\n status: response.status,\r\n statusText: statusText\r\n };\r\n config.success(httpResponse);\r\n }\r\n\r\n function errorFn(status: number, statusText: string, body: string, response: Response, errorThrown: any) {\r\n let httpResponse = {\r\n config: config,\r\n data: body,\r\n error: errorThrown || statusText,\r\n getHeaders: getHeadersFn(response),\r\n status: status,\r\n statusText: statusText\r\n };\r\n config.error(httpResponse);\r\n }\r\n }\r\n}\r\n\r\nconfig.registerAdapter(\"ajax\", AjaxFetchAdapter);\r\n\r\nfunction getHeadersFn(response: Response): any {\r\n if (!response || response.status === 0) { // timeout or abort; no headers\r\n return function (headerName: string) {\r\n return (headerName && headerName.length > 0) ? \"\" : {};\r\n };\r\n } else {\r\n return function (headerName: string) {\r\n if (headerName && headerName.length > 0) {\r\n return response.headers.get(headerName);\r\n }\r\n let hob = {};\r\n response.headers.forEach((val, key) => {\r\n hob[key] = val;\r\n });\r\n return hob;\r\n };\r\n }\r\n}\r\n","/** 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"]}
|