breeze-client 2.1.2 → 2.1.3-mjs
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/adapter-ajax-angularjs/{breeze-client-adapter-ajax-angularjs.d.ts → index.d.ts} +1 -0
- package/adapter-ajax-fetch/{breeze-client-adapter-ajax-fetch.d.ts → index.d.ts} +1 -0
- package/adapter-ajax-httpclient/{breeze-client-adapter-ajax-httpclient.d.ts → index.d.ts} +1 -0
- package/adapter-ajax-jquery/{breeze-client-adapter-ajax-jquery.d.ts → index.d.ts} +1 -0
- package/adapter-ajax-post/{breeze-client-adapter-ajax-post.d.ts → index.d.ts} +1 -0
- package/adapter-data-service-odata/{breeze-client-adapter-data-service-odata.d.ts → index.d.ts} +1 -0
- package/adapter-data-service-webapi/{breeze-client-adapter-data-service-webapi.d.ts → index.d.ts} +1 -0
- package/adapter-model-library-backing-store/{breeze-client-adapter-model-library-backing-store.d.ts → index.d.ts} +1 -0
- package/adapter-model-library-ko/{breeze-client-adapter-model-library-ko.d.ts → index.d.ts} +1 -0
- package/adapter-uri-builder-json/{breeze-client-adapter-uri-builder-json.d.ts → index.d.ts} +1 -0
- package/adapter-uri-builder-odata/{breeze-client-adapter-uri-builder-odata.d.ts → index.d.ts} +1 -0
- package/esm2020/adapter-ajax-angularjs/adapter-ajax-angularjs.mjs +130 -0
- package/esm2020/adapter-ajax-angularjs/adapter-core.mjs +49 -0
- package/esm2020/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.mjs +5 -0
- package/esm2020/adapter-ajax-fetch/adapter-ajax-fetch.mjs +132 -0
- package/esm2020/adapter-ajax-fetch/adapter-core.mjs +49 -0
- package/esm2020/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.mjs +5 -0
- package/esm2020/adapter-ajax-httpclient/adapter-ajax-httpclient.mjs +137 -0
- package/esm2020/adapter-ajax-httpclient/adapter-core.mjs +49 -0
- package/esm2020/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.mjs +5 -0
- package/esm2020/adapter-ajax-jquery/adapter-ajax-jquery.mjs +103 -0
- package/esm2020/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.mjs +5 -0
- package/esm2020/adapter-ajax-post/adapter-ajax-post.mjs +77 -0
- package/esm2020/adapter-ajax-post/breeze-client-adapter-ajax-post.mjs +5 -0
- package/esm2020/adapter-data-service-odata/adapter-core.mjs +49 -0
- package/esm2020/adapter-data-service-odata/adapter-data-service-odata.mjs +456 -0
- package/esm2020/adapter-data-service-odata/breeze-client-adapter-data-service-odata.mjs +5 -0
- package/esm2020/adapter-data-service-webapi/adapter-data-service-webapi.mjs +93 -0
- package/esm2020/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.mjs +5 -0
- package/esm2020/adapter-model-library-backing-store/adapter-model-library-backing-store.mjs +268 -0
- package/esm2020/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.mjs +5 -0
- package/esm2020/adapter-model-library-ko/adapter-model-library-ko.mjs +240 -0
- package/esm2020/adapter-model-library-ko/breeze-client-adapter-model-library-ko.mjs +5 -0
- package/esm2020/adapter-uri-builder-json/adapter-core.mjs +49 -0
- package/esm2020/adapter-uri-builder-json/adapter-uri-builder-json.mjs +36 -0
- package/esm2020/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.mjs +5 -0
- package/esm2020/adapter-uri-builder-odata/adapter-core.mjs +49 -0
- package/esm2020/adapter-uri-builder-odata/adapter-uri-builder-odata.mjs +190 -0
- package/esm2020/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.mjs +5 -0
- package/esm2020/breeze-client.mjs +5 -0
- package/esm2020/index.mjs +2 -0
- package/esm2020/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.mjs +5 -0
- package/esm2020/mixin-get-entity-graph/mixin-get-entity-graph.mjs +269 -0
- package/esm2020/mixin-save-queuing/breeze-client-mixin-save-queuing.mjs +5 -0
- package/esm2020/mixin-save-queuing/mixin-save-queuing.mjs +400 -0
- package/esm2020/src/abstract-data-service-adapter.mjs +296 -0
- package/esm2020/src/array.mjs +4 -0
- package/esm2020/src/assert-param.mjs +312 -0
- package/esm2020/src/breeze.mjs +85 -0
- package/esm2020/src/complex-array.mjs +117 -0
- package/esm2020/src/config.mjs +223 -0
- package/esm2020/src/core.mjs +707 -0
- package/esm2020/src/csdl-metadata-parser.mjs +385 -0
- package/esm2020/src/data-service.mjs +203 -0
- package/esm2020/src/data-type.mjs +444 -0
- package/esm2020/src/default-property-interceptor.mjs +460 -0
- package/esm2020/src/entity-action.mjs +45 -0
- package/esm2020/src/entity-aspect.mjs +806 -0
- package/esm2020/src/entity-group.mjs +187 -0
- package/esm2020/src/entity-key.mjs +116 -0
- package/esm2020/src/entity-manager.mjs +2094 -0
- package/esm2020/src/entity-metadata.mjs +2109 -0
- package/esm2020/src/entity-query.mjs +996 -0
- package/esm2020/src/entity-state.mjs +99 -0
- package/esm2020/src/enum.mjs +141 -0
- package/esm2020/src/event.mjs +256 -0
- package/esm2020/src/interface-registry.mjs +41 -0
- package/esm2020/src/key-generator.mjs +108 -0
- package/esm2020/src/local-query-comparison-options.mjs +65 -0
- package/esm2020/src/mapping-context.mjs +405 -0
- package/esm2020/src/naming-convention.mjs +88 -0
- package/esm2020/src/observable-array.mjs +183 -0
- package/esm2020/src/predicate.mjs +1232 -0
- package/esm2020/src/primitive-array.mjs +85 -0
- package/esm2020/src/query-options.mjs +152 -0
- package/esm2020/src/relation-array.mjs +173 -0
- package/esm2020/src/save-options.mjs +41 -0
- package/esm2020/src/unattached-children-map.mjs +58 -0
- package/esm2020/src/validate.mjs +988 -0
- package/esm2020/src/validation-options.mjs +64 -0
- package/fesm2015/{breeze-client-adapter-ajax-angularjs.js → breeze-client-adapter-ajax-angularjs.mjs} +1 -1
- package/fesm2015/breeze-client-adapter-ajax-angularjs.mjs.map +1 -0
- package/fesm2015/{breeze-client-adapter-ajax-fetch.js → breeze-client-adapter-ajax-fetch.mjs} +5 -3
- package/fesm2015/breeze-client-adapter-ajax-fetch.mjs.map +1 -0
- package/fesm2015/{breeze-client-adapter-ajax-httpclient.js → breeze-client-adapter-ajax-httpclient.mjs} +1 -1
- package/fesm2015/breeze-client-adapter-ajax-httpclient.mjs.map +1 -0
- package/fesm2015/{breeze-client-adapter-ajax-jquery.js → breeze-client-adapter-ajax-jquery.mjs} +2 -2
- package/fesm2015/breeze-client-adapter-ajax-jquery.mjs.map +1 -0
- package/fesm2015/{breeze-client-adapter-ajax-post.js → breeze-client-adapter-ajax-post.mjs} +1 -1
- package/fesm2015/breeze-client-adapter-ajax-post.mjs.map +1 -0
- package/fesm2015/{breeze-client-adapter-data-service-odata.js → breeze-client-adapter-data-service-odata.mjs} +20 -22
- package/fesm2015/breeze-client-adapter-data-service-odata.mjs.map +1 -0
- package/fesm2015/{breeze-client-adapter-data-service-webapi.js → breeze-client-adapter-data-service-webapi.mjs} +13 -13
- package/fesm2015/breeze-client-adapter-data-service-webapi.mjs.map +1 -0
- package/fesm2015/{breeze-client-adapter-model-library-backing-store.js → breeze-client-adapter-model-library-backing-store.mjs} +13 -13
- package/fesm2015/breeze-client-adapter-model-library-backing-store.mjs.map +1 -0
- package/fesm2015/{breeze-client-adapter-model-library-ko.js → breeze-client-adapter-model-library-ko.mjs} +13 -13
- package/fesm2015/breeze-client-adapter-model-library-ko.mjs.map +1 -0
- package/fesm2015/{breeze-client-adapter-uri-builder-json.js → breeze-client-adapter-uri-builder-json.mjs} +8 -8
- package/fesm2015/breeze-client-adapter-uri-builder-json.mjs.map +1 -0
- package/fesm2015/{breeze-client-adapter-uri-builder-odata.js → breeze-client-adapter-uri-builder-odata.mjs} +85 -86
- package/fesm2015/breeze-client-adapter-uri-builder-odata.mjs.map +1 -0
- package/fesm2015/{breeze-client-mixin-get-entity-graph.js → breeze-client-mixin-get-entity-graph.mjs} +1 -1
- package/fesm2015/breeze-client-mixin-get-entity-graph.mjs.map +1 -0
- package/fesm2015/{breeze-client-mixin-save-queuing.js → breeze-client-mixin-save-queuing.mjs} +1 -1
- package/fesm2015/breeze-client-mixin-save-queuing.mjs.map +1 -0
- package/fesm2015/{breeze-client.js → breeze-client.mjs} +417 -422
- package/fesm2015/breeze-client.mjs.map +1 -0
- package/{fesm5/breeze-client-adapter-ajax-angularjs.js → fesm2020/breeze-client-adapter-ajax-angularjs.mjs} +41 -42
- package/fesm2020/breeze-client-adapter-ajax-angularjs.mjs.map +1 -0
- package/{fesm5/breeze-client-adapter-ajax-fetch.js → fesm2020/breeze-client-adapter-ajax-fetch.mjs} +44 -43
- package/fesm2020/breeze-client-adapter-ajax-fetch.mjs.map +1 -0
- package/{fesm5/breeze-client-adapter-ajax-httpclient.js → fesm2020/breeze-client-adapter-ajax-httpclient.mjs} +43 -44
- package/fesm2020/breeze-client-adapter-ajax-httpclient.mjs.map +1 -0
- package/{fesm5/breeze-client-adapter-ajax-jquery.js → fesm2020/breeze-client-adapter-ajax-jquery.mjs} +18 -19
- package/fesm2020/breeze-client-adapter-ajax-jquery.mjs.map +1 -0
- package/{fesm5/breeze-client-adapter-ajax-post.js → fesm2020/breeze-client-adapter-ajax-post.mjs} +8 -11
- package/fesm2020/breeze-client-adapter-ajax-post.mjs.map +1 -0
- package/{fesm5/breeze-client-adapter-data-service-odata.js → fesm2020/breeze-client-adapter-data-service-odata.mjs} +126 -134
- package/fesm2020/breeze-client-adapter-data-service-odata.mjs.map +1 -0
- package/{fesm5/breeze-client-adapter-data-service-webapi.js → fesm2020/breeze-client-adapter-data-service-webapi.mjs} +38 -42
- package/fesm2020/breeze-client-adapter-data-service-webapi.mjs.map +1 -0
- package/{fesm5/breeze-client-adapter-model-library-backing-store.js → fesm2020/breeze-client-adapter-model-library-backing-store.mjs} +63 -64
- package/fesm2020/breeze-client-adapter-model-library-backing-store.mjs.map +1 -0
- package/{fesm5/breeze-client-adapter-model-library-ko.js → fesm2020/breeze-client-adapter-model-library-ko.mjs} +57 -58
- package/fesm2020/breeze-client-adapter-model-library-ko.mjs.map +1 -0
- package/fesm2020/breeze-client-adapter-uri-builder-json.mjs +91 -0
- package/fesm2020/breeze-client-adapter-uri-builder-json.mjs.map +1 -0
- package/fesm2020/breeze-client-adapter-uri-builder-odata.mjs +245 -0
- package/fesm2020/breeze-client-adapter-uri-builder-odata.mjs.map +1 -0
- package/{fesm5/breeze-client-mixin-get-entity-graph.js → fesm2020/breeze-client-mixin-get-entity-graph.mjs} +45 -45
- package/fesm2020/breeze-client-mixin-get-entity-graph.mjs.map +1 -0
- package/{fesm5/breeze-client-mixin-save-queuing.js → fesm2020/breeze-client-mixin-save-queuing.mjs} +116 -126
- package/fesm2020/breeze-client-mixin-save-queuing.mjs.map +1 -0
- package/{fesm5/breeze-client.js → fesm2020/breeze-client.mjs} +3403 -3615
- package/fesm2020/breeze-client.mjs.map +1 -0
- package/mixin-get-entity-graph/{breeze-client-mixin-get-entity-graph.d.ts → index.d.ts} +1 -0
- package/mixin-save-queuing/{breeze-client-mixin-save-queuing.d.ts → index.d.ts} +1 -0
- package/package.json +126 -12
- package/src/entity-metadata.d.ts +6 -4
- package/src/entity-query.d.ts +1 -1
- package/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.metadata.json +0 -1
- package/adapter-ajax-angularjs/package.json +0 -13
- package/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.metadata.json +0 -1
- package/adapter-ajax-fetch/package.json +0 -13
- package/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.metadata.json +0 -1
- package/adapter-ajax-httpclient/package.json +0 -17
- package/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.metadata.json +0 -1
- package/adapter-ajax-jquery/package.json +0 -13
- package/adapter-ajax-post/breeze-client-adapter-ajax-post.metadata.json +0 -1
- package/adapter-ajax-post/package.json +0 -13
- package/adapter-data-service-odata/breeze-client-adapter-data-service-odata.metadata.json +0 -1
- package/adapter-data-service-odata/package.json +0 -13
- package/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.metadata.json +0 -1
- package/adapter-data-service-webapi/package.json +0 -13
- package/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.metadata.json +0 -1
- package/adapter-model-library-backing-store/package.json +0 -13
- package/adapter-model-library-ko/breeze-client-adapter-model-library-ko.metadata.json +0 -1
- package/adapter-model-library-ko/package.json +0 -13
- package/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.metadata.json +0 -1
- package/adapter-uri-builder-json/package.json +0 -13
- package/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.metadata.json +0 -1
- package/adapter-uri-builder-odata/package.json +0 -13
- package/breeze-client.d.ts +0 -8
- package/breeze-client.metadata.json +0 -1
- package/bundles/breeze-client-adapter-ajax-angularjs.umd.js +0 -190
- package/bundles/breeze-client-adapter-ajax-angularjs.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js +0 -2
- package/bundles/breeze-client-adapter-ajax-angularjs.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-ajax-fetch.umd.js +0 -190
- package/bundles/breeze-client-adapter-ajax-fetch.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js +0 -2
- package/bundles/breeze-client-adapter-ajax-fetch.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-ajax-httpclient.umd.js +0 -195
- package/bundles/breeze-client-adapter-ajax-httpclient.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js +0 -2
- package/bundles/breeze-client-adapter-ajax-httpclient.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-ajax-jquery.umd.js +0 -115
- package/bundles/breeze-client-adapter-ajax-jquery.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js +0 -2
- package/bundles/breeze-client-adapter-ajax-jquery.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-ajax-post.umd.js +0 -92
- package/bundles/breeze-client-adapter-ajax-post.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-ajax-post.umd.min.js +0 -2
- package/bundles/breeze-client-adapter-ajax-post.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-data-service-odata.umd.js +0 -743
- package/bundles/breeze-client-adapter-data-service-odata.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-data-service-odata.umd.min.js +0 -16
- package/bundles/breeze-client-adapter-data-service-odata.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-data-service-webapi.umd.js +0 -326
- package/bundles/breeze-client-adapter-data-service-webapi.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js +0 -16
- package/bundles/breeze-client-adapter-data-service-webapi.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-model-library-backing-store.umd.js +0 -280
- package/bundles/breeze-client-adapter-model-library-backing-store.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js +0 -2
- package/bundles/breeze-client-adapter-model-library-backing-store.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-model-library-ko.umd.js +0 -252
- package/bundles/breeze-client-adapter-model-library-ko.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-model-library-ko.umd.min.js +0 -2
- package/bundles/breeze-client-adapter-model-library-ko.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-uri-builder-json.umd.js +0 -96
- package/bundles/breeze-client-adapter-uri-builder-json.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js +0 -2
- package/bundles/breeze-client-adapter-uri-builder-json.umd.min.js.map +0 -1
- package/bundles/breeze-client-adapter-uri-builder-odata.umd.js +0 -262
- package/bundles/breeze-client-adapter-uri-builder-odata.umd.js.map +0 -1
- package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js +0 -2
- package/bundles/breeze-client-adapter-uri-builder-odata.umd.min.js.map +0 -1
- package/bundles/breeze-client-mixin-get-entity-graph.umd.js +0 -258
- package/bundles/breeze-client-mixin-get-entity-graph.umd.js.map +0 -1
- package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js +0 -2
- package/bundles/breeze-client-mixin-get-entity-graph.umd.min.js.map +0 -1
- package/bundles/breeze-client-mixin-save-queuing.umd.js +0 -579
- package/bundles/breeze-client-mixin-save-queuing.umd.js.map +0 -1
- package/bundles/breeze-client-mixin-save-queuing.umd.min.js +0 -16
- package/bundles/breeze-client-mixin-save-queuing.umd.min.js.map +0 -1
- package/bundles/breeze-client.umd.js +0 -14094
- package/bundles/breeze-client.umd.js.map +0 -1
- package/bundles/breeze-client.umd.min.js +0 -16
- package/bundles/breeze-client.umd.min.js.map +0 -1
- package/esm2015/adapter-ajax-angularjs/adapter-ajax-angularjs.js +0 -130
- package/esm2015/adapter-ajax-angularjs/adapter-core.js +0 -49
- package/esm2015/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +0 -5
- package/esm2015/adapter-ajax-fetch/adapter-ajax-fetch.js +0 -130
- package/esm2015/adapter-ajax-fetch/adapter-core.js +0 -49
- package/esm2015/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +0 -5
- package/esm2015/adapter-ajax-httpclient/adapter-ajax-httpclient.js +0 -137
- package/esm2015/adapter-ajax-httpclient/adapter-core.js +0 -49
- package/esm2015/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +0 -5
- package/esm2015/adapter-ajax-jquery/adapter-ajax-jquery.js +0 -103
- package/esm2015/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +0 -5
- package/esm2015/adapter-ajax-post/adapter-ajax-post.js +0 -77
- package/esm2015/adapter-ajax-post/breeze-client-adapter-ajax-post.js +0 -5
- package/esm2015/adapter-data-service-odata/adapter-core.js +0 -49
- package/esm2015/adapter-data-service-odata/adapter-data-service-odata.js +0 -459
- package/esm2015/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +0 -5
- package/esm2015/adapter-data-service-webapi/adapter-data-service-webapi.js +0 -93
- package/esm2015/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +0 -5
- package/esm2015/adapter-model-library-backing-store/adapter-model-library-backing-store.js +0 -268
- package/esm2015/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +0 -5
- package/esm2015/adapter-model-library-ko/adapter-model-library-ko.js +0 -240
- package/esm2015/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +0 -5
- package/esm2015/adapter-uri-builder-json/adapter-core.js +0 -49
- package/esm2015/adapter-uri-builder-json/adapter-uri-builder-json.js +0 -36
- package/esm2015/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +0 -5
- package/esm2015/adapter-uri-builder-odata/adapter-core.js +0 -49
- package/esm2015/adapter-uri-builder-odata/adapter-uri-builder-odata.js +0 -192
- package/esm2015/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +0 -5
- package/esm2015/breeze-client.js +0 -9
- package/esm2015/index.js +0 -2
- package/esm2015/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +0 -5
- package/esm2015/mixin-get-entity-graph/mixin-get-entity-graph.js +0 -269
- package/esm2015/mixin-save-queuing/breeze-client-mixin-save-queuing.js +0 -5
- package/esm2015/mixin-save-queuing/mixin-save-queuing.js +0 -400
- package/esm2015/public_api.js +0 -2
- package/esm2015/src/abstract-data-service-adapter.js +0 -296
- package/esm2015/src/array.js +0 -4
- package/esm2015/src/assert-param.js +0 -312
- package/esm2015/src/breeze.js +0 -85
- package/esm2015/src/complex-array.js +0 -119
- package/esm2015/src/config.js +0 -223
- package/esm2015/src/core.js +0 -706
- package/esm2015/src/csdl-metadata-parser.js +0 -385
- package/esm2015/src/data-service.js +0 -203
- package/esm2015/src/data-type.js +0 -444
- package/esm2015/src/default-property-interceptor.js +0 -459
- package/esm2015/src/entity-action.js +0 -45
- package/esm2015/src/entity-aspect.js +0 -806
- package/esm2015/src/entity-group.js +0 -187
- package/esm2015/src/entity-key.js +0 -116
- package/esm2015/src/entity-manager.js +0 -2094
- package/esm2015/src/entity-metadata.js +0 -2109
- package/esm2015/src/entity-query.js +0 -996
- package/esm2015/src/entity-state.js +0 -99
- package/esm2015/src/enum.js +0 -141
- package/esm2015/src/event.js +0 -256
- package/esm2015/src/interface-registry.js +0 -41
- package/esm2015/src/key-generator.js +0 -108
- package/esm2015/src/local-query-comparison-options.js +0 -65
- package/esm2015/src/mapping-context.js +0 -405
- package/esm2015/src/naming-convention.js +0 -88
- package/esm2015/src/observable-array.js +0 -185
- package/esm2015/src/predicate.js +0 -1235
- package/esm2015/src/primitive-array.js +0 -87
- package/esm2015/src/query-options.js +0 -152
- package/esm2015/src/relation-array.js +0 -175
- package/esm2015/src/save-options.js +0 -41
- package/esm2015/src/unattached-children-map.js +0 -58
- package/esm2015/src/validate.js +0 -991
- package/esm2015/src/validation-options.js +0 -64
- package/esm5/adapter-ajax-angularjs/adapter-ajax-angularjs.js +0 -132
- package/esm5/adapter-ajax-angularjs/adapter-core.js +0 -49
- package/esm5/adapter-ajax-angularjs/breeze-client-adapter-ajax-angularjs.js +0 -5
- package/esm5/adapter-ajax-fetch/adapter-ajax-fetch.js +0 -132
- package/esm5/adapter-ajax-fetch/adapter-core.js +0 -49
- package/esm5/adapter-ajax-fetch/breeze-client-adapter-ajax-fetch.js +0 -5
- package/esm5/adapter-ajax-httpclient/adapter-ajax-httpclient.js +0 -139
- package/esm5/adapter-ajax-httpclient/adapter-core.js +0 -49
- package/esm5/adapter-ajax-httpclient/breeze-client-adapter-ajax-httpclient.js +0 -5
- package/esm5/adapter-ajax-jquery/adapter-ajax-jquery.js +0 -105
- package/esm5/adapter-ajax-jquery/breeze-client-adapter-ajax-jquery.js +0 -5
- package/esm5/adapter-ajax-post/adapter-ajax-post.js +0 -81
- package/esm5/adapter-ajax-post/breeze-client-adapter-ajax-post.js +0 -5
- package/esm5/adapter-data-service-odata/adapter-core.js +0 -49
- package/esm5/adapter-data-service-odata/adapter-data-service-odata.js +0 -466
- package/esm5/adapter-data-service-odata/breeze-client-adapter-data-service-odata.js +0 -5
- package/esm5/adapter-data-service-webapi/adapter-data-service-webapi.js +0 -98
- package/esm5/adapter-data-service-webapi/breeze-client-adapter-data-service-webapi.js +0 -5
- package/esm5/adapter-model-library-backing-store/adapter-model-library-backing-store.js +0 -270
- package/esm5/adapter-model-library-backing-store/breeze-client-adapter-model-library-backing-store.js +0 -5
- package/esm5/adapter-model-library-ko/adapter-model-library-ko.js +0 -242
- package/esm5/adapter-model-library-ko/breeze-client-adapter-model-library-ko.js +0 -5
- package/esm5/adapter-uri-builder-json/adapter-core.js +0 -49
- package/esm5/adapter-uri-builder-json/adapter-uri-builder-json.js +0 -38
- package/esm5/adapter-uri-builder-json/breeze-client-adapter-uri-builder-json.js +0 -5
- package/esm5/adapter-uri-builder-odata/adapter-core.js +0 -49
- package/esm5/adapter-uri-builder-odata/adapter-uri-builder-odata.js +0 -197
- package/esm5/adapter-uri-builder-odata/breeze-client-adapter-uri-builder-odata.js +0 -5
- package/esm5/breeze-client.js +0 -9
- package/esm5/index.js +0 -2
- package/esm5/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.js +0 -5
- package/esm5/mixin-get-entity-graph/mixin-get-entity-graph.js +0 -269
- package/esm5/mixin-save-queuing/breeze-client-mixin-save-queuing.js +0 -5
- package/esm5/mixin-save-queuing/mixin-save-queuing.js +0 -412
- package/esm5/public_api.js +0 -2
- package/esm5/src/abstract-data-service-adapter.js +0 -302
- package/esm5/src/array.js +0 -4
- package/esm5/src/assert-param.js +0 -317
- package/esm5/src/breeze.js +0 -85
- package/esm5/src/complex-array.js +0 -119
- package/esm5/src/config.js +0 -228
- package/esm5/src/core.js +0 -714
- package/esm5/src/csdl-metadata-parser.js +0 -385
- package/esm5/src/data-service.js +0 -207
- package/esm5/src/data-type.js +0 -451
- package/esm5/src/default-property-interceptor.js +0 -459
- package/esm5/src/entity-action.js +0 -52
- package/esm5/src/entity-aspect.js +0 -812
- package/esm5/src/entity-group.js +0 -189
- package/esm5/src/entity-key.js +0 -118
- package/esm5/src/entity-manager.js +0 -2112
- package/esm5/src/entity-metadata.js +0 -2144
- package/esm5/src/entity-query.js +0 -1023
- package/esm5/src/entity-state.js +0 -106
- package/esm5/src/enum.js +0 -144
- package/esm5/src/event.js +0 -259
- package/esm5/src/interface-registry.js +0 -43
- package/esm5/src/key-generator.js +0 -111
- package/esm5/src/local-query-comparison-options.js +0 -67
- package/esm5/src/mapping-context.js +0 -407
- package/esm5/src/naming-convention.js +0 -90
- package/esm5/src/observable-array.js +0 -201
- package/esm5/src/predicate.js +0 -1300
- package/esm5/src/primitive-array.js +0 -87
- package/esm5/src/query-options.js +0 -167
- package/esm5/src/relation-array.js +0 -175
- package/esm5/src/save-options.js +0 -43
- package/esm5/src/unattached-children-map.js +0 -60
- package/esm5/src/validate.js +0 -996
- package/esm5/src/validation-options.js +0 -66
- package/fesm2015/breeze-client-adapter-ajax-angularjs.js.map +0 -1
- package/fesm2015/breeze-client-adapter-ajax-fetch.js.map +0 -1
- package/fesm2015/breeze-client-adapter-ajax-httpclient.js.map +0 -1
- package/fesm2015/breeze-client-adapter-ajax-jquery.js.map +0 -1
- package/fesm2015/breeze-client-adapter-ajax-post.js.map +0 -1
- package/fesm2015/breeze-client-adapter-data-service-odata.js.map +0 -1
- package/fesm2015/breeze-client-adapter-data-service-webapi.js.map +0 -1
- package/fesm2015/breeze-client-adapter-model-library-backing-store.js.map +0 -1
- package/fesm2015/breeze-client-adapter-model-library-ko.js.map +0 -1
- package/fesm2015/breeze-client-adapter-uri-builder-json.js.map +0 -1
- package/fesm2015/breeze-client-adapter-uri-builder-odata.js.map +0 -1
- package/fesm2015/breeze-client-mixin-get-entity-graph.js.map +0 -1
- package/fesm2015/breeze-client-mixin-save-queuing.js.map +0 -1
- package/fesm2015/breeze-client.js.map +0 -1
- package/fesm5/breeze-client-adapter-ajax-angularjs.js.map +0 -1
- package/fesm5/breeze-client-adapter-ajax-fetch.js.map +0 -1
- package/fesm5/breeze-client-adapter-ajax-httpclient.js.map +0 -1
- package/fesm5/breeze-client-adapter-ajax-jquery.js.map +0 -1
- package/fesm5/breeze-client-adapter-ajax-post.js.map +0 -1
- package/fesm5/breeze-client-adapter-data-service-odata.js.map +0 -1
- package/fesm5/breeze-client-adapter-data-service-webapi.js.map +0 -1
- package/fesm5/breeze-client-adapter-model-library-backing-store.js.map +0 -1
- package/fesm5/breeze-client-adapter-model-library-ko.js.map +0 -1
- package/fesm5/breeze-client-adapter-uri-builder-json.js +0 -92
- package/fesm5/breeze-client-adapter-uri-builder-json.js.map +0 -1
- package/fesm5/breeze-client-adapter-uri-builder-odata.js +0 -250
- package/fesm5/breeze-client-adapter-uri-builder-odata.js.map +0 -1
- package/fesm5/breeze-client-mixin-get-entity-graph.js.map +0 -1
- package/fesm5/breeze-client-mixin-save-queuing.js.map +0 -1
- package/fesm5/breeze-client.js.map +0 -1
- package/mixin-get-entity-graph/breeze-client-mixin-get-entity-graph.metadata.json +0 -1
- package/mixin-get-entity-graph/package.json +0 -13
- package/mixin-save-queuing/breeze-client-mixin-save-queuing.metadata.json +0 -1
- package/mixin-save-queuing/package.json +0 -13
- package/public_api.d.ts +0 -1
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { EntityKey } from './entity-key';
|
|
2
|
-
import { config } from './config';
|
|
3
|
-
/*
|
|
4
|
-
@class KeyGenerator
|
|
5
|
-
*/
|
|
6
|
-
export class KeyGenerator {
|
|
7
|
-
constructor() {
|
|
8
|
-
// key is dataProperty.name + || + entityType.name, value is propEntry
|
|
9
|
-
// propEntry = { entityType, propertyName, keyMap }
|
|
10
|
-
// keyMap has key of the actual value ( as a string) and a value of null or the real id.
|
|
11
|
-
this._tempIdMap = {};
|
|
12
|
-
}
|
|
13
|
-
/*
|
|
14
|
-
Returns a unique 'temporary' id for the specified [[EntityType]].
|
|
15
|
-
Uniqueness is defined for this purpose as being unique within each instance of a KeyGenerator. This is sufficient
|
|
16
|
-
because each EntityManager will have its own instance of a KeyGenerator and any entities imported into
|
|
17
|
-
the EntityManager with temporary keys will have them regenerated and remapped on import.
|
|
18
|
-
|
|
19
|
-
The return value of this method must be of the correct type as determined by the keyProperties of the
|
|
20
|
-
specified EntityType
|
|
21
|
-
@example
|
|
22
|
-
// Assume em1 is a preexisting EntityManager
|
|
23
|
-
let custType = em1.metadataStore.getEntityType("Customer");
|
|
24
|
-
let cust1 = custType.createEntity();
|
|
25
|
-
// next line both sets cust1's 'CustomerId' property but also returns the value
|
|
26
|
-
let cid1 = em1.generateTempKeyValue(cust1);
|
|
27
|
-
em1.saveChanges().then( function( data) {
|
|
28
|
-
let sameCust1 = data.results[0];
|
|
29
|
-
// cust1 === sameCust1;
|
|
30
|
-
// but cust1.getProperty("CustomerId") != cid1
|
|
31
|
-
// because the server will have generated a new id
|
|
32
|
-
// and the client will have been updated with this
|
|
33
|
-
// new id.
|
|
34
|
-
});
|
|
35
|
-
@method generateTempKeyValue
|
|
36
|
-
@param entityType {EntityType}
|
|
37
|
-
*/
|
|
38
|
-
generateTempKeyValue(entityType, valueIfAvail) {
|
|
39
|
-
let keyProps = entityType.keyProperties;
|
|
40
|
-
if (keyProps.length > 1) {
|
|
41
|
-
throw new Error("Ids can not be autogenerated for entities with multipart keys");
|
|
42
|
-
}
|
|
43
|
-
let keyProp = keyProps[0];
|
|
44
|
-
let propEntry = this._getPropEntry(keyProp, true);
|
|
45
|
-
let nextId;
|
|
46
|
-
if (valueIfAvail != null) {
|
|
47
|
-
if (!propEntry.keyMap[valueIfAvail.toString()]) {
|
|
48
|
-
nextId = valueIfAvail;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
if (nextId === undefined) {
|
|
52
|
-
let dataType = keyProp.dataType;
|
|
53
|
-
let getNextFn = dataType.getNext;
|
|
54
|
-
if (getNextFn) {
|
|
55
|
-
nextId = getNextFn(this);
|
|
56
|
-
// need to watch out for collision with previously imported ids that might also get generated.
|
|
57
|
-
while (propEntry.keyMap[nextId.toString()] != null) {
|
|
58
|
-
nextId = getNextFn(this);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
throw new Error("Cannot use a property with a dataType of: " + dataType.toString() + " for id generation");
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
propEntry.keyMap[nextId.toString()] = true;
|
|
66
|
-
return nextId;
|
|
67
|
-
}
|
|
68
|
-
getTempKeys() {
|
|
69
|
-
let results = [];
|
|
70
|
-
//noinspection JSHint
|
|
71
|
-
for (let key in this._tempIdMap) {
|
|
72
|
-
let propEntry = this._tempIdMap[key];
|
|
73
|
-
let entityType = propEntry.entityType;
|
|
74
|
-
// let propName = propEntry.propertyName;
|
|
75
|
-
//noinspection JSHint
|
|
76
|
-
for (let keyValue in propEntry.keyMap) {
|
|
77
|
-
results.push(new EntityKey(entityType, [keyValue]));
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
return results;
|
|
81
|
-
}
|
|
82
|
-
// proto methods below are not part of the KeyGenerator interface.
|
|
83
|
-
isTempKey(entityKey) {
|
|
84
|
-
let keyProps = entityKey.entityType.keyProperties;
|
|
85
|
-
if (keyProps.length > 1)
|
|
86
|
-
return false;
|
|
87
|
-
let keyProp = keyProps[0];
|
|
88
|
-
let propEntry = this._getPropEntry(keyProp);
|
|
89
|
-
if (!propEntry) {
|
|
90
|
-
return false;
|
|
91
|
-
}
|
|
92
|
-
return (propEntry.keyMap[entityKey.values[0].toString()] !== undefined);
|
|
93
|
-
}
|
|
94
|
-
/** @hidden @internal */
|
|
95
|
-
_getPropEntry(keyProp, createIfMissing = false) {
|
|
96
|
-
let key = keyProp.name + ".." + keyProp.parentType.name;
|
|
97
|
-
let propEntry = this._tempIdMap[key];
|
|
98
|
-
if (!propEntry) {
|
|
99
|
-
if (createIfMissing) {
|
|
100
|
-
propEntry = { entityType: keyProp.parentType, propertyName: keyProp.name, keyMap: {} };
|
|
101
|
-
this._tempIdMap[key] = propEntry;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
return propEntry;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
config.registerType(KeyGenerator, "KeyGenerator");
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LWdlbmVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2JyZWV6ZS1jbGllbnQvIiwic291cmNlcyI6WyJzcmMva2V5LWdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFZbEM7O0lBRUk7QUFDSixNQUFNLE9BQU8sWUFBWTtJQUt2QjtRQUNFLHNFQUFzRTtRQUN0RSxtREFBbUQ7UUFDbkQsd0ZBQXdGO1FBQ3hGLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFHRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01Bd0JFO0lBQ0Ysb0JBQW9CLENBQUMsVUFBc0IsRUFBRSxZQUFzQjtRQUNqRSxJQUFJLFFBQVEsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQ3hDLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQywrREFBK0QsQ0FBQyxDQUFDO1NBQ2xGO1FBQ0QsSUFBSSxPQUFPLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2xELElBQUksTUFBVyxDQUFDO1FBQ2hCLElBQUksWUFBWSxJQUFJLElBQUksRUFBRTtZQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRTtnQkFDOUMsTUFBTSxHQUFHLFlBQVksQ0FBQzthQUN2QjtTQUNGO1FBRUQsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFO1lBQ3hCLElBQUksUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7WUFDaEMsSUFBSSxTQUFTLEdBQUksUUFBZ0IsQ0FBQyxPQUFPLENBQUM7WUFDMUMsSUFBSSxTQUFTLEVBQUU7Z0JBQ2IsTUFBTSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDekIsOEZBQThGO2dCQUM5RixPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksSUFBSSxFQUFFO29CQUNsRCxNQUFNLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUMxQjthQUNGO2lCQUFNO2dCQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsNENBQTRDLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLG9CQUFvQixDQUFDLENBQUM7YUFDNUc7U0FDRjtRQUVELFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQzNDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxPQUFPLEdBQWdCLEVBQUUsQ0FBQztRQUM5QixxQkFBcUI7UUFDckIsS0FBSyxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQy9CLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDckMsSUFBSSxVQUFVLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQztZQUN0Qyx5Q0FBeUM7WUFDekMscUJBQXFCO1lBQ3JCLEtBQUssSUFBSSxRQUFRLElBQUksU0FBUyxDQUFDLE1BQU0sRUFBRTtnQkFDckMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDckQ7U0FDRjtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFHRCxrRUFBa0U7SUFFbEUsU0FBUyxDQUFDLFNBQW9CO1FBQzVCLElBQUksUUFBUSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQ2xELElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDdEMsSUFBSSxPQUFPLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNkLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELHdCQUF3QjtJQUNoQixhQUFhLENBQUMsT0FBcUIsRUFBRSxlQUFlLEdBQUcsS0FBSztRQUNsRSxJQUFJLEdBQUcsR0FBRyxPQUFPLENBQUMsSUFBSSxHQUFHLElBQUksR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztRQUN4RCxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDZCxJQUFJLGVBQWUsRUFBRTtnQkFDbkIsU0FBUyxHQUFHLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUF3QixFQUFFLFlBQVksRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQztnQkFDckcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUM7YUFDbEM7U0FDRjtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7Q0FFRjtBQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5VHlwZSwgRGF0YVByb3BlcnR5IH0gZnJvbSAnLi9lbnRpdHktbWV0YWRhdGEnO1xyXG5pbXBvcnQgeyBFbnRpdHlLZXkgfSBmcm9tICcuL2VudGl0eS1rZXknO1xyXG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICcuL2NvbmZpZyc7XHJcblxyXG5pbnRlcmZhY2UgSVByb3BFbnRyeSB7XHJcbiAgZW50aXR5VHlwZTogRW50aXR5VHlwZTtcclxuICBwcm9wZXJ0eU5hbWU6IHN0cmluZztcclxuICBrZXlNYXA6IE9iamVjdDtcclxufVxyXG5cclxuaW50ZXJmYWNlIElUZW1wSWRNYXAge1xyXG4gIFtpbmRleDogc3RyaW5nXTogSVByb3BFbnRyeTtcclxufVxyXG5cclxuLypcclxuICBAY2xhc3MgS2V5R2VuZXJhdG9yXHJcbiAgKi9cclxuZXhwb3J0IGNsYXNzIEtleUdlbmVyYXRvciB7XHJcbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXHJcbiAgcHJpdmF0ZSBfdGVtcElkTWFwOiBJVGVtcElkTWFwO1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAvLyBrZXkgaXMgZGF0YVByb3BlcnR5Lm5hbWUgKyB8fCArIGVudGl0eVR5cGUubmFtZSwgdmFsdWUgaXMgcHJvcEVudHJ5XHJcbiAgICAvLyBwcm9wRW50cnkgPSB7IGVudGl0eVR5cGUsIHByb3BlcnR5TmFtZSwga2V5TWFwIH1cclxuICAgIC8vIGtleU1hcCBoYXMga2V5IG9mIHRoZSBhY3R1YWwgdmFsdWUgKCBhcyBhIHN0cmluZykgYW5kIGEgdmFsdWUgb2YgbnVsbCBvciB0aGUgcmVhbCBpZC5cclxuICAgIHRoaXMuX3RlbXBJZE1hcCA9IHt9O1xyXG4gIH1cclxuXHJcblxyXG4gIC8qXHJcbiAgUmV0dXJucyBhIHVuaXF1ZSAndGVtcG9yYXJ5JyBpZCBmb3IgdGhlIHNwZWNpZmllZCBbW0VudGl0eVR5cGVdXS5cclxuICBVbmlxdWVuZXNzIGlzIGRlZmluZWQgZm9yIHRoaXMgcHVycG9zZSBhcyBiZWluZyB1bmlxdWUgd2l0aGluIGVhY2ggaW5zdGFuY2Ugb2YgYSBLZXlHZW5lcmF0b3IuIFRoaXMgaXMgc3VmZmljaWVudFxyXG4gIGJlY2F1c2UgZWFjaCBFbnRpdHlNYW5hZ2VyIHdpbGwgaGF2ZSBpdHMgb3duIGluc3RhbmNlIG9mIGEgS2V5R2VuZXJhdG9yIGFuZCBhbnkgZW50aXRpZXMgaW1wb3J0ZWQgaW50b1xyXG4gIHRoZSBFbnRpdHlNYW5hZ2VyIHdpdGggdGVtcG9yYXJ5IGtleXMgd2lsbCBoYXZlIHRoZW0gcmVnZW5lcmF0ZWQgYW5kIHJlbWFwcGVkIG9uIGltcG9ydC5cclxuXHJcbiAgVGhlIHJldHVybiB2YWx1ZSBvZiB0aGlzIG1ldGhvZCBtdXN0IGJlIG9mIHRoZSBjb3JyZWN0IHR5cGUgYXMgZGV0ZXJtaW5lZCBieSB0aGUga2V5UHJvcGVydGllcyBvZiB0aGVcclxuICBzcGVjaWZpZWQgRW50aXR5VHlwZVxyXG4gIEBleGFtcGxlXHJcbiAgICAgIC8vIEFzc3VtZSBlbTEgaXMgYSBwcmVleGlzdGluZyBFbnRpdHlNYW5hZ2VyXHJcbiAgICAgIGxldCBjdXN0VHlwZSA9IGVtMS5tZXRhZGF0YVN0b3JlLmdldEVudGl0eVR5cGUoXCJDdXN0b21lclwiKTtcclxuICAgICAgbGV0IGN1c3QxID0gY3VzdFR5cGUuY3JlYXRlRW50aXR5KCk7XHJcbiAgICAgIC8vIG5leHQgbGluZSBib3RoIHNldHMgY3VzdDEncyAnQ3VzdG9tZXJJZCcgcHJvcGVydHkgYnV0IGFsc28gcmV0dXJucyB0aGUgdmFsdWVcclxuICAgICAgbGV0IGNpZDEgPSBlbTEuZ2VuZXJhdGVUZW1wS2V5VmFsdWUoY3VzdDEpO1xyXG4gICAgICBlbTEuc2F2ZUNoYW5nZXMoKS50aGVuKCBmdW5jdGlvbiggZGF0YSkge1xyXG4gICAgICAgIGxldCBzYW1lQ3VzdDEgPSBkYXRhLnJlc3VsdHNbMF07XHJcbiAgICAgICAgLy8gY3VzdDEgPT09IHNhbWVDdXN0MTtcclxuICAgICAgICAvLyBidXQgY3VzdDEuZ2V0UHJvcGVydHkoXCJDdXN0b21lcklkXCIpICE9IGNpZDFcclxuICAgICAgICAvLyBiZWNhdXNlIHRoZSBzZXJ2ZXIgd2lsbCBoYXZlIGdlbmVyYXRlZCBhIG5ldyBpZFxyXG4gICAgICAgIC8vIGFuZCB0aGUgY2xpZW50IHdpbGwgaGF2ZSBiZWVuIHVwZGF0ZWQgd2l0aCB0aGlzXHJcbiAgICAgICAgLy8gbmV3IGlkLlxyXG4gICAgICB9KTtcclxuICBAbWV0aG9kIGdlbmVyYXRlVGVtcEtleVZhbHVlXHJcbiAgQHBhcmFtIGVudGl0eVR5cGUge0VudGl0eVR5cGV9XHJcbiAgKi9cclxuICBnZW5lcmF0ZVRlbXBLZXlWYWx1ZShlbnRpdHlUeXBlOiBFbnRpdHlUeXBlLCB2YWx1ZUlmQXZhaWw/OiBib29sZWFuKSB7XHJcbiAgICBsZXQga2V5UHJvcHMgPSBlbnRpdHlUeXBlLmtleVByb3BlcnRpZXM7XHJcbiAgICBpZiAoa2V5UHJvcHMubGVuZ3RoID4gMSkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJZHMgY2FuIG5vdCBiZSBhdXRvZ2VuZXJhdGVkIGZvciBlbnRpdGllcyB3aXRoIG11bHRpcGFydCBrZXlzXCIpO1xyXG4gICAgfVxyXG4gICAgbGV0IGtleVByb3AgPSBrZXlQcm9wc1swXTtcclxuICAgIGxldCBwcm9wRW50cnkgPSB0aGlzLl9nZXRQcm9wRW50cnkoa2V5UHJvcCwgdHJ1ZSk7XHJcbiAgICBsZXQgbmV4dElkOiBhbnk7XHJcbiAgICBpZiAodmFsdWVJZkF2YWlsICE9IG51bGwpIHtcclxuICAgICAgaWYgKCFwcm9wRW50cnkua2V5TWFwW3ZhbHVlSWZBdmFpbC50b1N0cmluZygpXSkge1xyXG4gICAgICAgIG5leHRJZCA9IHZhbHVlSWZBdmFpbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmIChuZXh0SWQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBsZXQgZGF0YVR5cGUgPSBrZXlQcm9wLmRhdGFUeXBlO1xyXG4gICAgICBsZXQgZ2V0TmV4dEZuID0gKGRhdGFUeXBlIGFzIGFueSkuZ2V0TmV4dDtcclxuICAgICAgaWYgKGdldE5leHRGbikge1xyXG4gICAgICAgIG5leHRJZCA9IGdldE5leHRGbih0aGlzKTtcclxuICAgICAgICAvLyBuZWVkIHRvIHdhdGNoIG91dCBmb3IgY29sbGlzaW9uIHdpdGggcHJldmlvdXNseSBpbXBvcnRlZCBpZHMgdGhhdCBtaWdodCBhbHNvIGdldCBnZW5lcmF0ZWQuXHJcbiAgICAgICAgd2hpbGUgKHByb3BFbnRyeS5rZXlNYXBbbmV4dElkLnRvU3RyaW5nKCldICE9IG51bGwpIHtcclxuICAgICAgICAgIG5leHRJZCA9IGdldE5leHRGbih0aGlzKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IHVzZSBhIHByb3BlcnR5IHdpdGggYSBkYXRhVHlwZSBvZjogXCIgKyBkYXRhVHlwZS50b1N0cmluZygpICsgXCIgZm9yIGlkIGdlbmVyYXRpb25cIik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcm9wRW50cnkua2V5TWFwW25leHRJZC50b1N0cmluZygpXSA9IHRydWU7XHJcbiAgICByZXR1cm4gbmV4dElkO1xyXG4gIH1cclxuXHJcbiAgZ2V0VGVtcEtleXMoKSB7XHJcbiAgICBsZXQgcmVzdWx0czogRW50aXR5S2V5W10gPSBbXTtcclxuICAgIC8vbm9pbnNwZWN0aW9uIEpTSGludFxyXG4gICAgZm9yIChsZXQga2V5IGluIHRoaXMuX3RlbXBJZE1hcCkge1xyXG4gICAgICBsZXQgcHJvcEVudHJ5ID0gdGhpcy5fdGVtcElkTWFwW2tleV07XHJcbiAgICAgIGxldCBlbnRpdHlUeXBlID0gcHJvcEVudHJ5LmVudGl0eVR5cGU7XHJcbiAgICAgIC8vIGxldCBwcm9wTmFtZSA9IHByb3BFbnRyeS5wcm9wZXJ0eU5hbWU7XHJcbiAgICAgIC8vbm9pbnNwZWN0aW9uIEpTSGludFxyXG4gICAgICBmb3IgKGxldCBrZXlWYWx1ZSBpbiBwcm9wRW50cnkua2V5TWFwKSB7XHJcbiAgICAgICAgcmVzdWx0cy5wdXNoKG5ldyBFbnRpdHlLZXkoZW50aXR5VHlwZSwgW2tleVZhbHVlXSkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0cztcclxuICB9XHJcblxyXG5cclxuICAvLyBwcm90byBtZXRob2RzIGJlbG93IGFyZSBub3QgcGFydCBvZiB0aGUgS2V5R2VuZXJhdG9yIGludGVyZmFjZS5cclxuXHJcbiAgaXNUZW1wS2V5KGVudGl0eUtleTogRW50aXR5S2V5KSB7XHJcbiAgICBsZXQga2V5UHJvcHMgPSBlbnRpdHlLZXkuZW50aXR5VHlwZS5rZXlQcm9wZXJ0aWVzO1xyXG4gICAgaWYgKGtleVByb3BzLmxlbmd0aCA+IDEpIHJldHVybiBmYWxzZTtcclxuICAgIGxldCBrZXlQcm9wID0ga2V5UHJvcHNbMF07XHJcbiAgICBsZXQgcHJvcEVudHJ5ID0gdGhpcy5fZ2V0UHJvcEVudHJ5KGtleVByb3ApO1xyXG4gICAgaWYgKCFwcm9wRW50cnkpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIChwcm9wRW50cnkua2V5TWFwW2VudGl0eUtleS52YWx1ZXNbMF0udG9TdHJpbmcoKV0gIT09IHVuZGVmaW5lZCk7XHJcbiAgfVxyXG5cclxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cclxuICBwcml2YXRlIF9nZXRQcm9wRW50cnkoa2V5UHJvcDogRGF0YVByb3BlcnR5LCBjcmVhdGVJZk1pc3NpbmcgPSBmYWxzZSkge1xyXG4gICAgbGV0IGtleSA9IGtleVByb3AubmFtZSArIFwiLi5cIiArIGtleVByb3AucGFyZW50VHlwZS5uYW1lO1xyXG4gICAgbGV0IHByb3BFbnRyeSA9IHRoaXMuX3RlbXBJZE1hcFtrZXldO1xyXG4gICAgaWYgKCFwcm9wRW50cnkpIHtcclxuICAgICAgaWYgKGNyZWF0ZUlmTWlzc2luZykge1xyXG4gICAgICAgIHByb3BFbnRyeSA9IHsgZW50aXR5VHlwZToga2V5UHJvcC5wYXJlbnRUeXBlIGFzIEVudGl0eVR5cGUsIHByb3BlcnR5TmFtZToga2V5UHJvcC5uYW1lLCBrZXlNYXA6IHt9IH07XHJcbiAgICAgICAgdGhpcy5fdGVtcElkTWFwW2tleV0gPSBwcm9wRW50cnk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwcm9wRW50cnk7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuY29uZmlnLnJlZ2lzdGVyVHlwZShLZXlHZW5lcmF0b3IsIFwiS2V5R2VuZXJhdG9yXCIpO1xyXG5cclxuIl19
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { core } from './core';
|
|
2
|
-
import { assertConfig } from './assert-param';
|
|
3
|
-
import { config } from './config';
|
|
4
|
-
/**
|
|
5
|
-
A LocalQueryComparisonOptions instance is used to specify the "comparison rules" used when performing "local queries" in order
|
|
6
|
-
to match the semantics of these same queries when executed against a remote service. These options should be set based on the
|
|
7
|
-
manner in which your remote service interprets certain comparison operations.
|
|
8
|
-
|
|
9
|
-
The default LocalQueryComparisonOptions stipulates 'caseInsensitive" queries with ANSI SQL rules regarding comparisons of unequal
|
|
10
|
-
length strings.
|
|
11
|
-
**/
|
|
12
|
-
export class LocalQueryComparisonOptions {
|
|
13
|
-
/**
|
|
14
|
-
LocalQueryComparisonOptions constructor
|
|
15
|
-
> // create a 'caseSensitive - non SQL' instance.
|
|
16
|
-
> var lqco = new LocalQueryComparisonOptions({
|
|
17
|
-
> name: "caseSensitive-nonSQL"
|
|
18
|
-
> isCaseSensitive: true;
|
|
19
|
-
> usesSql92CompliantStringComparison: false;
|
|
20
|
-
> });
|
|
21
|
-
> // either apply it globally
|
|
22
|
-
> lqco.setAsDefault();
|
|
23
|
-
> // or to a specific MetadataStore
|
|
24
|
-
> var ms = new MetadataStore({ localQueryComparisonOptions: lqco });
|
|
25
|
-
> var em = new EntityManager( { metadataStore: ms });
|
|
26
|
-
@param config - A configuration object.
|
|
27
|
-
**/
|
|
28
|
-
constructor(lqcoConfig) {
|
|
29
|
-
assertConfig(lqcoConfig || {})
|
|
30
|
-
.whereParam("name").isOptional().isString()
|
|
31
|
-
.whereParam("isCaseSensitive").isOptional().isBoolean()
|
|
32
|
-
.whereParam("usesSql92CompliantStringComparison").isBoolean()
|
|
33
|
-
.applyAll(this);
|
|
34
|
-
if (!this.name) {
|
|
35
|
-
this.name = core.getUuid();
|
|
36
|
-
}
|
|
37
|
-
config._storeObject(this, "LocalQueryComparisonOptions", this.name);
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
Sets the 'defaultInstance' by creating a copy of the current 'defaultInstance' and then applying all of the properties of the current instance.
|
|
41
|
-
The current instance is returned unchanged.
|
|
42
|
-
> var lqco = new LocalQueryComparisonOptions({
|
|
43
|
-
> isCaseSensitive: false;
|
|
44
|
-
> usesSql92CompliantStringComparison: true;
|
|
45
|
-
> });
|
|
46
|
-
> lqco.setAsDefault();
|
|
47
|
-
**/
|
|
48
|
-
setAsDefault() {
|
|
49
|
-
return core.setAsDefault(this, LocalQueryComparisonOptions);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
Case insensitive SQL compliant options - this is also the default unless otherwise changed.
|
|
54
|
-
**/
|
|
55
|
-
LocalQueryComparisonOptions.caseInsensitiveSQL = new LocalQueryComparisonOptions({
|
|
56
|
-
name: "caseInsensitiveSQL",
|
|
57
|
-
isCaseSensitive: false,
|
|
58
|
-
usesSql92CompliantStringComparison: true
|
|
59
|
-
});
|
|
60
|
-
/**
|
|
61
|
-
The default value whenever LocalQueryComparisonOptions are not specified. By default this is 'caseInsensitiveSQL'.
|
|
62
|
-
**/
|
|
63
|
-
LocalQueryComparisonOptions.defaultInstance = new LocalQueryComparisonOptions(LocalQueryComparisonOptions.caseInsensitiveSQL);
|
|
64
|
-
LocalQueryComparisonOptions.prototype._$typeName = "LocalQueryComparisonOptions";
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtcXVlcnktY29tcGFyaXNvbi1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYnJlZXplLWNsaWVudC8iLCJzb3VyY2VzIjpbInNyYy9sb2NhbC1xdWVyeS1jb21wYXJpc29uLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQWVsQzs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLDJCQUEyQjtJQVl0Qzs7Ozs7Ozs7Ozs7Ozs7T0FjRztJQUNILFlBQVksVUFBNkM7UUFDdkQsWUFBWSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7YUFDekIsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRTthQUMxQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxTQUFTLEVBQUU7YUFDdEQsVUFBVSxDQUFDLG9DQUFvQyxDQUFDLENBQUMsU0FBUyxFQUFFO2FBQzVELFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQzVCO1FBQ0QsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsNkJBQTZCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFnQkQ7Ozs7Ozs7O09BUUc7SUFDSCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSwyQkFBMkIsQ0FBQyxDQUFDO0lBQzlELENBQUM7O0FBekJEOztHQUVHO0FBQ0ksOENBQWtCLEdBQUcsSUFBSSwyQkFBMkIsQ0FBQztJQUMxRCxJQUFJLEVBQUUsb0JBQW9CO0lBQzFCLGVBQWUsRUFBRSxLQUFLO0lBQ3RCLGtDQUFrQyxFQUFFLElBQUk7Q0FDekMsQ0FBQyxDQUFDO0FBRUg7O0dBRUc7QUFDSSwyQ0FBZSxHQUFHLElBQUksMkJBQTJCLENBQUMsMkJBQTJCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQWdCM0csMkJBQTJCLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBRyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvcmUgfSBmcm9tICcuL2NvcmUnO1xuaW1wb3J0IHsgYXNzZXJ0Q29uZmlnIH0gZnJvbSAnLi9hc3NlcnQtcGFyYW0nO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAnLi9jb25maWcnO1xuXG5cbi8qKiBDb25maWd1cmF0aW9uIGluZm8gdG8gYmUgcGFzc2VkIHRvIHRoZSBbW0xvY2FsUXVlcnlDb21wYXJpc29uT3B0aW9uc11dIGNvbnN0cnVjdG9yLiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb2NhbFF1ZXJ5Q29tcGFyaXNvbk9wdGlvbnNDb25maWcge1xuICAvKiogVGhlIG5hbWUgb2YgdGhpcyBjb2xsZWN0aW9uIG9mIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MuICovXG4gIG5hbWU/OiBzdHJpbmc7XG4gIC8qKiBXaGV0aGVyIHByZWRpY2F0ZXMgdGhhdCBpbnZvbHZlIHN0cmluZ3Mgd2lsbCBiZSBpbnRlcnByZXRlZCBpbiBhIFwiY2FzZVNlbnNpdGl2ZVwiIG1hbm5lci4gRGVmYXVsdCBpcyAnZmFsc2UnLiAqL1xuICBpc0Nhc2VTZW5zaXRpdmU/OiBib29sZWFuO1xuICAvKiBXaGV0aGVyIG9yIG5vdCB0byBlbmZvcmNlIHRoZSBBTlNJIFNRTCBzdGFuZGFyZFxuICBvZiBwYWRkaW5nIHN0cmluZ3Mgb2YgdW5lcXVhbCBsZW5ndGhzIGJlZm9yZSBjb21wYXJpc29uIHdpdGggc3BhY2VzLiBOb3RlIHRoYXQgcGVyIHRoZSBzdGFuZGFyZCwgcGFkZGluZyBvbmx5IG9jY3VycyB3aXRoIGVxdWFsaXR5IGFuZFxuICBpbmVxdWFsaXR5IHByZWRpY2F0ZXMsIGFuZCBub3Qgd2l0aCBvcGVyYXRpb25zIGxpa2UgJ3N0YXJ0c1dpdGgnLCAnZW5kc1dpdGgnIG9yICdjb250YWlucycuICBEZWZhdWx0IGlzIHRydWUuICovXG4gIHVzZXNTcWw5MkNvbXBsaWFudFN0cmluZ0NvbXBhcmlzb24/OiBib29sZWFuO1xufVxuXG4vKipcbkEgTG9jYWxRdWVyeUNvbXBhcmlzb25PcHRpb25zIGluc3RhbmNlIGlzIHVzZWQgdG8gc3BlY2lmeSB0aGUgXCJjb21wYXJpc29uIHJ1bGVzXCIgdXNlZCB3aGVuIHBlcmZvcm1pbmcgXCJsb2NhbCBxdWVyaWVzXCIgaW4gb3JkZXJcbnRvIG1hdGNoIHRoZSBzZW1hbnRpY3Mgb2YgdGhlc2Ugc2FtZSBxdWVyaWVzIHdoZW4gZXhlY3V0ZWQgYWdhaW5zdCBhIHJlbW90ZSBzZXJ2aWNlLiAgVGhlc2Ugb3B0aW9ucyBzaG91bGQgYmUgc2V0IGJhc2VkIG9uIHRoZVxubWFubmVyIGluIHdoaWNoIHlvdXIgcmVtb3RlIHNlcnZpY2UgaW50ZXJwcmV0cyBjZXJ0YWluIGNvbXBhcmlzb24gb3BlcmF0aW9ucy5cblxuVGhlIGRlZmF1bHQgTG9jYWxRdWVyeUNvbXBhcmlzb25PcHRpb25zIHN0aXB1bGF0ZXMgJ2Nhc2VJbnNlbnNpdGl2ZVwiIHF1ZXJpZXMgd2l0aCBBTlNJIFNRTCBydWxlcyByZWdhcmRpbmcgY29tcGFyaXNvbnMgb2YgdW5lcXVhbFxubGVuZ3RoIHN0cmluZ3MuXG4qKi9cbmV4cG9ydCBjbGFzcyBMb2NhbFF1ZXJ5Q29tcGFyaXNvbk9wdGlvbnMge1xuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgXyR0eXBlTmFtZTogc3RyaW5nOyAvLyBvbiBwcm90b3R5cGVcbiAgLyoqIFRoZSBuYW1lIGZvciB0aGlzIGluc3RhbmNlLiAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKiBXaGV0aGVyIHByZWRpY2F0ZXMgdGhhdCBpbnZvbHZlIHN0cmluZ3Mgd2lsbCBiZSBpbnRlcnByZXRlZCBpbiBhIFwiY2FzZVNlbnNpdGl2ZVwiIG1hbm5lci4gKGRlZmF1bHQgPSBmYWxzZSkuICAqL1xuICBpc0Nhc2VTZW5zaXRpdmU6IGJvb2xlYW47XG4gIC8qIFdoZXRoZXIgb3Igbm90IHRvIGVuZm9yY2UgdGhlIEFOU0kgU1FMIHN0YW5kYXJkXG4gIG9mIHBhZGRpbmcgc3RyaW5ncyBvZiB1bmVxdWFsIGxlbmd0aHMgYmVmb3JlIGNvbXBhcmlzb24gd2l0aCBzcGFjZXMuIE5vdGUgdGhhdCBwZXIgdGhlIHN0YW5kYXJkLCBwYWRkaW5nIG9ubHkgb2NjdXJzIHdpdGggZXF1YWxpdHkgYW5kXG4gIGluZXF1YWxpdHkgcHJlZGljYXRlcywgYW5kIG5vdCB3aXRoIG9wZXJhdGlvbnMgbGlrZSAnc3RhcnRzV2l0aCcsICdlbmRzV2l0aCcgb3IgJ2NvbnRhaW5zJy4gIERlZmF1bHQgaXMgdHJ1ZS4gKi9cbiAgdXNlc1NxbDkyQ29tcGxpYW50U3RyaW5nQ29tcGFyaXNvbjogYm9vbGVhbjtcblxuICAvKipcbiAgTG9jYWxRdWVyeUNvbXBhcmlzb25PcHRpb25zIGNvbnN0cnVjdG9yXG4gID4gICAgICAvLyBjcmVhdGUgYSAnY2FzZVNlbnNpdGl2ZSAtIG5vbiBTUUwnIGluc3RhbmNlLlxuICA+ICAgICAgdmFyIGxxY28gPSBuZXcgTG9jYWxRdWVyeUNvbXBhcmlzb25PcHRpb25zKHtcbiAgPiAgICAgICAgICAgICAgbmFtZTogXCJjYXNlU2Vuc2l0aXZlLW5vblNRTFwiXG4gID4gICAgICAgICAgICAgIGlzQ2FzZVNlbnNpdGl2ZTogdHJ1ZTtcbiAgPiAgICAgICAgICAgICAgdXNlc1NxbDkyQ29tcGxpYW50U3RyaW5nQ29tcGFyaXNvbjogZmFsc2U7XG4gID4gICAgICAgICAgfSk7XG4gID4gICAgICAvLyBlaXRoZXIgYXBwbHkgaXQgZ2xvYmFsbHlcbiAgPiAgICAgIGxxY28uc2V0QXNEZWZhdWx0KCk7XG4gID4gICAgICAvLyBvciB0byBhIHNwZWNpZmljIE1ldGFkYXRhU3RvcmVcbiAgPiAgICAgIHZhciBtcyA9IG5ldyBNZXRhZGF0YVN0b3JlKHsgbG9jYWxRdWVyeUNvbXBhcmlzb25PcHRpb25zOiBscWNvIH0pO1xuICA+ICAgICAgdmFyIGVtID0gbmV3IEVudGl0eU1hbmFnZXIoIHsgbWV0YWRhdGFTdG9yZTogbXMgfSk7XG4gIEBwYXJhbSBjb25maWcgLSBBIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAqKi9cbiAgY29uc3RydWN0b3IobHFjb0NvbmZpZzogTG9jYWxRdWVyeUNvbXBhcmlzb25PcHRpb25zQ29uZmlnKSB7XG4gICAgYXNzZXJ0Q29uZmlnKGxxY29Db25maWcgfHwge30pXG4gICAgICAgIC53aGVyZVBhcmFtKFwibmFtZVwiKS5pc09wdGlvbmFsKCkuaXNTdHJpbmcoKVxuICAgICAgICAud2hlcmVQYXJhbShcImlzQ2FzZVNlbnNpdGl2ZVwiKS5pc09wdGlvbmFsKCkuaXNCb29sZWFuKClcbiAgICAgICAgLndoZXJlUGFyYW0oXCJ1c2VzU3FsOTJDb21wbGlhbnRTdHJpbmdDb21wYXJpc29uXCIpLmlzQm9vbGVhbigpXG4gICAgICAgIC5hcHBseUFsbCh0aGlzKTtcbiAgICBpZiAoIXRoaXMubmFtZSkge1xuICAgICAgdGhpcy5uYW1lID0gY29yZS5nZXRVdWlkKCk7XG4gICAgfVxuICAgIGNvbmZpZy5fc3RvcmVPYmplY3QodGhpcywgXCJMb2NhbFF1ZXJ5Q29tcGFyaXNvbk9wdGlvbnNcIiwgdGhpcy5uYW1lKTtcbiAgfVxuXG4gIC8qKlxuICBDYXNlIGluc2Vuc2l0aXZlIFNRTCBjb21wbGlhbnQgb3B0aW9ucyAtIHRoaXMgaXMgYWxzbyB0aGUgZGVmYXVsdCB1bmxlc3Mgb3RoZXJ3aXNlIGNoYW5nZWQuXG4gICoqL1xuICBzdGF0aWMgY2FzZUluc2Vuc2l0aXZlU1FMID0gbmV3IExvY2FsUXVlcnlDb21wYXJpc29uT3B0aW9ucyh7XG4gICAgbmFtZTogXCJjYXNlSW5zZW5zaXRpdmVTUUxcIixcbiAgICBpc0Nhc2VTZW5zaXRpdmU6IGZhbHNlLFxuICAgIHVzZXNTcWw5MkNvbXBsaWFudFN0cmluZ0NvbXBhcmlzb246IHRydWVcbiAgfSk7XG5cbiAgLyoqXG4gIFRoZSBkZWZhdWx0IHZhbHVlIHdoZW5ldmVyIExvY2FsUXVlcnlDb21wYXJpc29uT3B0aW9ucyBhcmUgbm90IHNwZWNpZmllZC4gQnkgZGVmYXVsdCB0aGlzIGlzICdjYXNlSW5zZW5zaXRpdmVTUUwnLlxuICAqKi9cbiAgc3RhdGljIGRlZmF1bHRJbnN0YW5jZSA9IG5ldyBMb2NhbFF1ZXJ5Q29tcGFyaXNvbk9wdGlvbnMoTG9jYWxRdWVyeUNvbXBhcmlzb25PcHRpb25zLmNhc2VJbnNlbnNpdGl2ZVNRTCk7XG5cbiAgLyoqXG4gIFNldHMgdGhlICdkZWZhdWx0SW5zdGFuY2UnIGJ5IGNyZWF0aW5nIGEgY29weSBvZiB0aGUgY3VycmVudCAnZGVmYXVsdEluc3RhbmNlJyBhbmQgdGhlbiBhcHBseWluZyBhbGwgb2YgdGhlIHByb3BlcnRpZXMgb2YgdGhlIGN1cnJlbnQgaW5zdGFuY2UuXG4gIFRoZSBjdXJyZW50IGluc3RhbmNlIGlzIHJldHVybmVkIHVuY2hhbmdlZC5cbiAgPiAgICAgdmFyIGxxY28gPSBuZXcgTG9jYWxRdWVyeUNvbXBhcmlzb25PcHRpb25zKHtcbiAgPiAgICAgICAgaXNDYXNlU2Vuc2l0aXZlOiBmYWxzZTtcbiAgPiAgICAgICAgdXNlc1NxbDkyQ29tcGxpYW50U3RyaW5nQ29tcGFyaXNvbjogdHJ1ZTtcbiAgPiAgICAgfSk7XG4gID4gICAgIGxxY28uc2V0QXNEZWZhdWx0KCk7XG4gICoqL1xuICBzZXRBc0RlZmF1bHQoKSB7XG4gICAgcmV0dXJuIGNvcmUuc2V0QXNEZWZhdWx0KHRoaXMsIExvY2FsUXVlcnlDb21wYXJpc29uT3B0aW9ucyk7XG4gIH1cblxufVxuTG9jYWxRdWVyeUNvbXBhcmlzb25PcHRpb25zLnByb3RvdHlwZS5fJHR5cGVOYW1lID0gXCJMb2NhbFF1ZXJ5Q29tcGFyaXNvbk9wdGlvbnNcIjtcbiJdfQ==
|