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,107 @@
|
|
|
1
|
+
import { BreezeEnum } from './enum';
|
|
2
|
+
/**
|
|
3
|
+
EntityState is an 'Enum' containing all of the valid states for an 'Entity'.
|
|
4
|
+
**/
|
|
5
|
+
export class EntityState extends BreezeEnum {
|
|
6
|
+
/**
|
|
7
|
+
Returns whether an entityState instance is EntityState.Unchanged.
|
|
8
|
+
> var es = anEntity.entityAspect.entityState;
|
|
9
|
+
> return es.isUnchanged();
|
|
10
|
+
|
|
11
|
+
is the same as
|
|
12
|
+
> return es === EntityState.Unchanged;
|
|
13
|
+
**/
|
|
14
|
+
isUnchanged() {
|
|
15
|
+
return this === EntityState.Unchanged;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
Return whether an entityState instance is EntityState.Added.
|
|
19
|
+
|
|
20
|
+
> var es = anEntity.entityAspect.entityState;
|
|
21
|
+
> return es.isAdded();
|
|
22
|
+
|
|
23
|
+
is the same as
|
|
24
|
+
> return es === EntityState.Added;
|
|
25
|
+
**/
|
|
26
|
+
isAdded() {
|
|
27
|
+
return this === EntityState.Added;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
Returns whether an entityState instance is EntityState.Modified.
|
|
31
|
+
> var es = anEntity.entityAspect.entityState;
|
|
32
|
+
> return es.isModified();
|
|
33
|
+
|
|
34
|
+
is the same as
|
|
35
|
+
> return es === EntityState.Modified;
|
|
36
|
+
**/
|
|
37
|
+
isModified() {
|
|
38
|
+
return this === EntityState.Modified;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
Returns whether an entityState instance is EntityState.Deleted.
|
|
42
|
+
> var es = anEntity.entityAspect.entityState;
|
|
43
|
+
> return es.isDeleted();
|
|
44
|
+
|
|
45
|
+
is the same as
|
|
46
|
+
|
|
47
|
+
> return es === EntityState.Deleted;
|
|
48
|
+
**/
|
|
49
|
+
isDeleted() {
|
|
50
|
+
return this === EntityState.Deleted;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
Returns whether an entityState instance is EntityState.Detached.
|
|
54
|
+
> var es = anEntity.entityAspect.entityState;
|
|
55
|
+
> return es.isDetached();
|
|
56
|
+
|
|
57
|
+
is the same as
|
|
58
|
+
> return es === EntityState.Detached;
|
|
59
|
+
**/
|
|
60
|
+
isDetached() {
|
|
61
|
+
return this === EntityState.Detached;
|
|
62
|
+
}
|
|
63
|
+
/** Return true if EntityState is Deleted or Detached */
|
|
64
|
+
isDeletedOrDetached() {
|
|
65
|
+
return this === EntityState.Detached || this === EntityState.Detached;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
Returns whether an entityState instance is EntityState.Unchanged or EntityState.Modified.
|
|
69
|
+
> var es = anEntity.entityAspect.entityState;
|
|
70
|
+
> return es.isUnchangedOrModified();
|
|
71
|
+
|
|
72
|
+
is the same as
|
|
73
|
+
> return es === EntityState.Unchanged || es === EntityState.Modified
|
|
74
|
+
**/
|
|
75
|
+
isUnchangedOrModified() {
|
|
76
|
+
return this === EntityState.Unchanged || this === EntityState.Modified;
|
|
77
|
+
}
|
|
78
|
+
/** Return true if EntityStatis is Added or Modified */
|
|
79
|
+
isAddedOrModified() {
|
|
80
|
+
return this === EntityState.Added || this === EntityState.Modified;
|
|
81
|
+
}
|
|
82
|
+
/** Returns whether an entityState instance is EntityState.Added or EntityState.Modified or EntityState.Deleted.
|
|
83
|
+
> var es = anEntity.entityAspect.entityState;
|
|
84
|
+
> return es.isAddedModifiedOrDeleted();
|
|
85
|
+
|
|
86
|
+
is the same as
|
|
87
|
+
> return es === EntityState.Added || es === EntityState.Modified || es === EntityState.Deleted
|
|
88
|
+
**/
|
|
89
|
+
isAddedModifiedOrDeleted() {
|
|
90
|
+
return this === EntityState.Added ||
|
|
91
|
+
this === EntityState.Modified ||
|
|
92
|
+
this === EntityState.Deleted;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/** The 'Unchanged' state. **/
|
|
96
|
+
EntityState.Unchanged = new EntityState();
|
|
97
|
+
/** The 'Added' state. **/
|
|
98
|
+
EntityState.Added = new EntityState();
|
|
99
|
+
/** The 'Modified' state. **/
|
|
100
|
+
EntityState.Modified = new EntityState();
|
|
101
|
+
/** The 'Deleted' state. **/
|
|
102
|
+
EntityState.Deleted = new EntityState();
|
|
103
|
+
/** The 'Detached' state. **/
|
|
104
|
+
EntityState.Detached = new EntityState();
|
|
105
|
+
EntityState.prototype._$typeName = "EntityState";
|
|
106
|
+
Error['x'] = EntityState.resolveSymbols();
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXN0YXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYnJlZXplLWNsaWVudC8iLCJzb3VyY2VzIjpbInNyYy9lbnRpdHktc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVwQzs7R0FFRztBQUNILE1BQU0sT0FBTyxXQUFZLFNBQVEsVUFBVTtJQWF6Qzs7Ozs7OztPQU9HO0lBQ0gsV0FBVztRQUNULE9BQU8sSUFBSSxLQUFLLFdBQVcsQ0FBQyxTQUFTLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsT0FBTztRQUNMLE9BQU8sSUFBSSxLQUFLLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxVQUFVO1FBQ1IsT0FBTyxJQUFJLEtBQUssV0FBVyxDQUFDLFFBQVEsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxTQUFTO1FBQ1AsT0FBTyxJQUFJLEtBQUssV0FBVyxDQUFDLE9BQU8sQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILFVBQVU7UUFDUixPQUFPLElBQUksS0FBSyxXQUFXLENBQUMsUUFBUSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCx3REFBd0Q7SUFDeEQsbUJBQW1CO1FBQ2pCLE9BQU8sSUFBSSxLQUFLLFdBQVcsQ0FBQyxRQUFRLElBQUksSUFBSSxLQUFLLFdBQVcsQ0FBQyxRQUFRLENBQUM7SUFDeEUsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxxQkFBcUI7UUFDbkIsT0FBTyxJQUFJLEtBQUssV0FBVyxDQUFDLFNBQVMsSUFBSSxJQUFJLEtBQUssV0FBVyxDQUFDLFFBQVEsQ0FBQztJQUN6RSxDQUFDO0lBRUQsdURBQXVEO0lBQ3ZELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxLQUFLLFdBQVcsQ0FBQyxLQUFLLElBQUksSUFBSSxLQUFLLFdBQVcsQ0FBQyxRQUFRLENBQUM7SUFDckUsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILHdCQUF3QjtRQUN0QixPQUFPLElBQUksS0FBSyxXQUFXLENBQUMsS0FBSztZQUMvQixJQUFJLEtBQUssV0FBVyxDQUFDLFFBQVE7WUFDN0IsSUFBSSxLQUFLLFdBQVcsQ0FBQyxPQUFPLENBQUM7SUFDakMsQ0FBQzs7QUExR0QsOEJBQThCO0FBQ3ZCLHFCQUFTLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztBQUNyQyw0QkFBNEI7QUFDckIsaUJBQUssR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0FBQ2pDLGdDQUFnQztBQUN6QixvQkFBUSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7QUFDcEMsOEJBQThCO0FBQ3ZCLG1CQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztBQUNuQywrQkFBK0I7QUFDeEIsb0JBQVEsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0FBb0d0QyxXQUFXLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUM7QUFDakQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJyZWV6ZUVudW0gfSBmcm9tICcuL2VudW0nO1xyXG5cclxuLyoqXHJcbkVudGl0eVN0YXRlIGlzIGFuICdFbnVtJyBjb250YWluaW5nIGFsbCBvZiB0aGUgdmFsaWQgc3RhdGVzIGZvciBhbiAnRW50aXR5Jy5cclxuKiovXHJcbmV4cG9ydCBjbGFzcyBFbnRpdHlTdGF0ZSBleHRlbmRzIEJyZWV6ZUVudW0ge1xyXG5cclxuICAvKiogVGhlICdVbmNoYW5nZWQnIHN0YXRlLiAqKi9cclxuICBzdGF0aWMgVW5jaGFuZ2VkID0gbmV3IEVudGl0eVN0YXRlKCk7XHJcbiAgLyoqICBUaGUgJ0FkZGVkJyBzdGF0ZS4gICoqL1xyXG4gIHN0YXRpYyBBZGRlZCA9IG5ldyBFbnRpdHlTdGF0ZSgpO1xyXG4gIC8qKiAgVGhlICdNb2RpZmllZCcgc3RhdGUuICAgKiovXHJcbiAgc3RhdGljIE1vZGlmaWVkID0gbmV3IEVudGl0eVN0YXRlKCk7XHJcbiAgLyoqICBUaGUgJ0RlbGV0ZWQnIHN0YXRlLiAgKiovXHJcbiAgc3RhdGljIERlbGV0ZWQgPSBuZXcgRW50aXR5U3RhdGUoKTtcclxuICAvKiogIFRoZSAnRGV0YWNoZWQnIHN0YXRlLiAgKiovXHJcbiAgc3RhdGljIERldGFjaGVkID0gbmV3IEVudGl0eVN0YXRlKCk7XHJcblxyXG4gIC8qKlxyXG4gIFJldHVybnMgd2hldGhlciBhbiBlbnRpdHlTdGF0ZSBpbnN0YW5jZSBpcyBFbnRpdHlTdGF0ZS5VbmNoYW5nZWQuXHJcbiAgPiAgICAgdmFyIGVzID0gYW5FbnRpdHkuZW50aXR5QXNwZWN0LmVudGl0eVN0YXRlO1xyXG4gID4gICAgIHJldHVybiBlcy5pc1VuY2hhbmdlZCgpO1xyXG5cclxuICBpcyB0aGUgc2FtZSBhc1xyXG4gID4gICAgIHJldHVybiBlcyA9PT0gRW50aXR5U3RhdGUuVW5jaGFuZ2VkO1xyXG4gICoqL1xyXG4gIGlzVW5jaGFuZ2VkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMgPT09IEVudGl0eVN0YXRlLlVuY2hhbmdlZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gIFJldHVybiB3aGV0aGVyIGFuIGVudGl0eVN0YXRlIGluc3RhbmNlIGlzIEVudGl0eVN0YXRlLkFkZGVkLlxyXG4gIFxyXG4gID4gICAgIHZhciBlcyA9IGFuRW50aXR5LmVudGl0eUFzcGVjdC5lbnRpdHlTdGF0ZTtcclxuICA+ICAgICByZXR1cm4gZXMuaXNBZGRlZCgpO1xyXG5cclxuICBpcyB0aGUgc2FtZSBhc1xyXG4gID4gICAgIHJldHVybiBlcyA9PT0gRW50aXR5U3RhdGUuQWRkZWQ7XHJcbiAgKiovXHJcbiAgaXNBZGRlZCgpIHtcclxuICAgIHJldHVybiB0aGlzID09PSBFbnRpdHlTdGF0ZS5BZGRlZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gIFJldHVybnMgd2hldGhlciBhbiBlbnRpdHlTdGF0ZSBpbnN0YW5jZSBpcyBFbnRpdHlTdGF0ZS5Nb2RpZmllZC5cclxuICA+ICAgICB2YXIgZXMgPSBhbkVudGl0eS5lbnRpdHlBc3BlY3QuZW50aXR5U3RhdGU7XHJcbiAgPiAgICAgcmV0dXJuIGVzLmlzTW9kaWZpZWQoKTtcclxuXHJcbiAgaXMgdGhlIHNhbWUgYXNcclxuICA+ICAgICByZXR1cm4gZXMgPT09IEVudGl0eVN0YXRlLk1vZGlmaWVkO1xyXG4gICoqL1xyXG4gIGlzTW9kaWZpZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcyA9PT0gRW50aXR5U3RhdGUuTW9kaWZpZWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICBSZXR1cm5zIHdoZXRoZXIgYW4gZW50aXR5U3RhdGUgaW5zdGFuY2UgaXMgRW50aXR5U3RhdGUuRGVsZXRlZC5cclxuICA+ICAgICB2YXIgZXMgPSBhbkVudGl0eS5lbnRpdHlBc3BlY3QuZW50aXR5U3RhdGU7XHJcbiAgPiAgICAgcmV0dXJuIGVzLmlzRGVsZXRlZCgpO1xyXG5cclxuICBpcyB0aGUgc2FtZSBhc1xyXG4gIFxyXG4gID4gICAgIHJldHVybiBlcyA9PT0gRW50aXR5U3RhdGUuRGVsZXRlZDtcclxuICAqKi9cclxuICBpc0RlbGV0ZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcyA9PT0gRW50aXR5U3RhdGUuRGVsZXRlZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gIFJldHVybnMgd2hldGhlciBhbiBlbnRpdHlTdGF0ZSBpbnN0YW5jZSBpcyBFbnRpdHlTdGF0ZS5EZXRhY2hlZC5cclxuICA+ICAgICB2YXIgZXMgPSBhbkVudGl0eS5lbnRpdHlBc3BlY3QuZW50aXR5U3RhdGU7XHJcbiAgPiAgICAgcmV0dXJuIGVzLmlzRGV0YWNoZWQoKTtcclxuXHJcbiAgaXMgdGhlIHNhbWUgYXNcclxuICA+ICAgICByZXR1cm4gZXMgPT09IEVudGl0eVN0YXRlLkRldGFjaGVkO1xyXG4gICoqL1xyXG4gIGlzRGV0YWNoZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcyA9PT0gRW50aXR5U3RhdGUuRGV0YWNoZWQ7XHJcbiAgfVxyXG5cclxuICAvKiogUmV0dXJuIHRydWUgaWYgRW50aXR5U3RhdGUgaXMgRGVsZXRlZCBvciBEZXRhY2hlZCAqL1xyXG4gIGlzRGVsZXRlZE9yRGV0YWNoZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcyA9PT0gRW50aXR5U3RhdGUuRGV0YWNoZWQgfHwgdGhpcyA9PT0gRW50aXR5U3RhdGUuRGV0YWNoZWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICBSZXR1cm5zIHdoZXRoZXIgYW4gZW50aXR5U3RhdGUgaW5zdGFuY2UgaXMgRW50aXR5U3RhdGUuVW5jaGFuZ2VkIG9yIEVudGl0eVN0YXRlLk1vZGlmaWVkLlxyXG4gID4gICAgIHZhciBlcyA9IGFuRW50aXR5LmVudGl0eUFzcGVjdC5lbnRpdHlTdGF0ZTtcclxuICA+ICAgICByZXR1cm4gZXMuaXNVbmNoYW5nZWRPck1vZGlmaWVkKCk7XHJcblxyXG4gIGlzIHRoZSBzYW1lIGFzXHJcbiAgPiAgICAgcmV0dXJuIGVzID09PSBFbnRpdHlTdGF0ZS5VbmNoYW5nZWQgfHwgZXMgPT09IEVudGl0eVN0YXRlLk1vZGlmaWVkXHJcbiAgKiovXHJcbiAgaXNVbmNoYW5nZWRPck1vZGlmaWVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMgPT09IEVudGl0eVN0YXRlLlVuY2hhbmdlZCB8fCB0aGlzID09PSBFbnRpdHlTdGF0ZS5Nb2RpZmllZDtcclxuICB9XHJcblxyXG4gIC8qKiBSZXR1cm4gdHJ1ZSBpZiBFbnRpdHlTdGF0aXMgaXMgQWRkZWQgb3IgTW9kaWZpZWQgKi9cclxuICBpc0FkZGVkT3JNb2RpZmllZCgpIHtcclxuICAgIHJldHVybiB0aGlzID09PSBFbnRpdHlTdGF0ZS5BZGRlZCB8fCB0aGlzID09PSBFbnRpdHlTdGF0ZS5Nb2RpZmllZDtcclxuICB9XHJcblxyXG4gIC8qKiBSZXR1cm5zIHdoZXRoZXIgYW4gZW50aXR5U3RhdGUgaW5zdGFuY2UgaXMgRW50aXR5U3RhdGUuQWRkZWQgb3IgRW50aXR5U3RhdGUuTW9kaWZpZWQgb3IgRW50aXR5U3RhdGUuRGVsZXRlZC5cclxuICA+ICAgICB2YXIgZXMgPSBhbkVudGl0eS5lbnRpdHlBc3BlY3QuZW50aXR5U3RhdGU7XHJcbiAgPiAgICAgcmV0dXJuIGVzLmlzQWRkZWRNb2RpZmllZE9yRGVsZXRlZCgpO1xyXG5cclxuICBpcyB0aGUgc2FtZSBhc1xyXG4gID4gICAgIHJldHVybiBlcyA9PT0gRW50aXR5U3RhdGUuQWRkZWQgfHwgZXMgPT09IEVudGl0eVN0YXRlLk1vZGlmaWVkIHx8IGVzID09PSBFbnRpdHlTdGF0ZS5EZWxldGVkXHJcbiAgKiovXHJcbiAgaXNBZGRlZE1vZGlmaWVkT3JEZWxldGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMgPT09IEVudGl0eVN0YXRlLkFkZGVkIHx8XHJcbiAgICAgIHRoaXMgPT09IEVudGl0eVN0YXRlLk1vZGlmaWVkIHx8XHJcbiAgICAgIHRoaXMgPT09IEVudGl0eVN0YXRlLkRlbGV0ZWQ7XHJcbiAgfVxyXG5cclxufVxyXG5FbnRpdHlTdGF0ZS5wcm90b3R5cGUuXyR0eXBlTmFtZSA9IFwiRW50aXR5U3RhdGVcIjtcclxuRXJyb3JbJ3gnXSA9IEVudGl0eVN0YXRlLnJlc29sdmVTeW1ib2xzKCk7XHJcbiJdfQ==
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2012-2023 IdeaBlade, Inc. All Rights Reserved.
|
|
3
|
+
* Use, reproduction, distribution, and modification of this code is subject to the terms and
|
|
4
|
+
* conditions of the IdeaBlade Breeze license, available at http://www.breezejs.com/license
|
|
5
|
+
*
|
|
6
|
+
* Author: Jay Traband
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
Base class for all Breeze enumerations, such as EntityState, DataType, FetchStrategy, MergeStrategy etc.
|
|
10
|
+
A Breeze Enum is a namespaced set of constant values. Each Enum consists of a group of related constants, called 'symbols'.
|
|
11
|
+
Unlike enums in some other environments, each 'symbol' can have both methods and properties.
|
|
12
|
+
> class DayOfWeek extends BreezeEnum {
|
|
13
|
+
> dayIndex: number;
|
|
14
|
+
> isWeekend?: boolean;
|
|
15
|
+
> nextDay() {
|
|
16
|
+
> let nextIndex = (this.dayIndex + 1) % 7;
|
|
17
|
+
> return DayOfWeek.getSymbols()[nextIndex];
|
|
18
|
+
> }
|
|
19
|
+
>
|
|
20
|
+
> static Monday = new DayOfWeek( { dayIndex: 0});
|
|
21
|
+
> static Tuesday = new DayOfWeek( { dayIndex: 1 });
|
|
22
|
+
> static Wednesday = new DayOfWeek( { dayIndex: 2 });
|
|
23
|
+
> static Thursday = new DayOfWeek( { dayIndex: 3 });
|
|
24
|
+
> static Friday = new DayOfWeek( { dayIndex: 4 });
|
|
25
|
+
> static Saturday = new DayOfWeek( { dayIndex: 5, isWeekend: true });
|
|
26
|
+
> static Sunday = new DayOfWeek( { dayIndex: 6, isWeekend: true });
|
|
27
|
+
> }
|
|
28
|
+
>
|
|
29
|
+
> describe("DayOfWeek", () => {
|
|
30
|
+
> test("should support full enum capabilities", function() {
|
|
31
|
+
> // // custom methods
|
|
32
|
+
> let dowSymbols = DayOfWeek.getSymbols();
|
|
33
|
+
> expect(dowSymbols.length).toBe(7);
|
|
34
|
+
> expect(DayOfWeek.Monday.nextDay()).toBe(DayOfWeek.Tuesday);
|
|
35
|
+
> expect(DayOfWeek.Sunday.nextDay()).toBe(DayOfWeek.Monday);
|
|
36
|
+
> // // custom properties
|
|
37
|
+
> expect(DayOfWeek.Tuesday.isWeekend).toBe(undefined);
|
|
38
|
+
> expect(DayOfWeek.Saturday.isWeekend).toBe(true);
|
|
39
|
+
> // // Standard enum capabilities
|
|
40
|
+
> expect(DayOfWeek.Thursday instanceof DayOfWeek).toBe(true);
|
|
41
|
+
> expect(BreezeEnum.isSymbol(DayOfWeek.Wednesday)).toBe(true);
|
|
42
|
+
> expect(DayOfWeek.contains(DayOfWeek.Thursday)).toBe(true);
|
|
43
|
+
> expect(DayOfWeek.Friday.toString()).toBe("Friday");
|
|
44
|
+
> });
|
|
45
|
+
> });
|
|
46
|
+
Note that we have Error['x'] = ... in some places in the code to prevent Terser from optimizing out some important calls.
|
|
47
|
+
@dynamic
|
|
48
|
+
*/
|
|
49
|
+
export class BreezeEnum {
|
|
50
|
+
/** */
|
|
51
|
+
constructor(propertiesObj) {
|
|
52
|
+
if (propertiesObj) {
|
|
53
|
+
Object.keys(propertiesObj).forEach((key) => this[key] = propertiesObj[key]);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
Returns all of the symbols contained within this Enum.
|
|
58
|
+
> let symbols = DayOfWeek.getSymbols();
|
|
59
|
+
@return All of the symbols contained within this Enum.
|
|
60
|
+
**/
|
|
61
|
+
static getSymbols() {
|
|
62
|
+
return this.resolveSymbols().map(ks => ks.symbol);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
Returns the names of all of the symbols contained within this Enum.
|
|
66
|
+
> let symbols = DayOfWeek.getNames();
|
|
67
|
+
@return All of the names of the symbols contained within this Enum.
|
|
68
|
+
**/
|
|
69
|
+
static getNames() {
|
|
70
|
+
return this.resolveSymbols().map(ks => ks.name);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
Returns an Enum symbol given its name.
|
|
74
|
+
> let dayOfWeek = DayOfWeek.from("Thursday");
|
|
75
|
+
> // nowdayOfWeek === DayOfWeek.Thursday
|
|
76
|
+
@param name - Name for which an enum symbol should be returned.
|
|
77
|
+
@return The symbol that matches the name or 'undefined' if not found.
|
|
78
|
+
**/
|
|
79
|
+
static fromName(name) {
|
|
80
|
+
return this[name];
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
Seals this enum so that no more symbols may be added to it. This should only be called after all symbols
|
|
84
|
+
have already been added to the Enum. This method also sets the 'name' property on each of the symbols.
|
|
85
|
+
> DayOfWeek.resolveSymbols();
|
|
86
|
+
**/
|
|
87
|
+
static resolveSymbols() {
|
|
88
|
+
if (this._resolvedNamesAndSymbols)
|
|
89
|
+
return this._resolvedNamesAndSymbols;
|
|
90
|
+
let result = [];
|
|
91
|
+
for (let key in this) {
|
|
92
|
+
if (this.hasOwnProperty(key)) {
|
|
93
|
+
let symb = this[key];
|
|
94
|
+
if (symb instanceof BreezeEnum) {
|
|
95
|
+
result.push({ name: key, symbol: symb });
|
|
96
|
+
this[key] = symb;
|
|
97
|
+
symb.name = key;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
this._resolvedNamesAndSymbols = result;
|
|
102
|
+
return result;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
Returns whether an Enum contains a specified symbol.
|
|
106
|
+
> let symbol = DayOfWeek.Friday;
|
|
107
|
+
> if (DayOfWeek.contains(symbol)) {
|
|
108
|
+
> // do something
|
|
109
|
+
> }
|
|
110
|
+
@param sym - Object or symbol to test.
|
|
111
|
+
@return Whether this Enum contains the specified symbol.
|
|
112
|
+
**/
|
|
113
|
+
static contains(sym) {
|
|
114
|
+
if (!(sym instanceof BreezeEnum)) {
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
return this[sym.name] != null;
|
|
118
|
+
}
|
|
119
|
+
// /**
|
|
120
|
+
// Checks if an object is an Enum 'symbol'. Use the 'contains' method instead of this one
|
|
121
|
+
// if you want to test for a specific Enum.
|
|
122
|
+
// > if (Enum.isSymbol(DayOfWeek.Wednesday)) {
|
|
123
|
+
// > // do something ...
|
|
124
|
+
// > };
|
|
125
|
+
// **/
|
|
126
|
+
// static isSymbol(obj: any) {
|
|
127
|
+
// return obj instanceof BreezeEnum;
|
|
128
|
+
// };
|
|
129
|
+
/** Returns the string name of this Enum */
|
|
130
|
+
toString() {
|
|
131
|
+
return this.name;
|
|
132
|
+
}
|
|
133
|
+
/** Return enum name and symbol name */
|
|
134
|
+
toJSON() {
|
|
135
|
+
return {
|
|
136
|
+
_$typeName: this['_$typeName'] || this.constructor.name,
|
|
137
|
+
name: this.name
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2JyZWV6ZS1jbGllbnQvIiwic291cmNlcyI6WyJzcmMvZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXdDRTtBQUNGLE1BQU0sT0FBTyxVQUFVO0lBU3JCLE9BQU87SUFDUCxZQUFZLGFBQXNCO1FBQ2hDLElBQUksYUFBYSxFQUFFO1lBQ2pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDN0U7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBWTtRQUMxQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxjQUFjO1FBQ25CLElBQUksSUFBSSxDQUFDLHdCQUF3QjtZQUFFLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDO1FBQ3hFLElBQUksTUFBTSxHQUEwQyxFQUFFLENBQUM7UUFFdkQsS0FBSyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUU7WUFDcEIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUM1QixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3JCLElBQUksSUFBSSxZQUFZLFVBQVUsRUFBRTtvQkFDOUIsTUFBTSxDQUFDLElBQUksQ0FBRSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7b0JBQzFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7b0JBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO2lCQUNqQjthQUNGO1NBQ0Y7UUFDRCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsTUFBTSxDQUFDO1FBQ3ZDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBZTtRQUM3QixJQUFJLENBQUMsQ0FBQyxHQUFHLFlBQVksVUFBVSxDQUFDLEVBQUU7WUFDaEMsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUdELE1BQU07SUFDTiwwRkFBMEY7SUFDMUYsNENBQTRDO0lBQzVDLGtEQUFrRDtJQUNsRCw4QkFBOEI7SUFDOUIsV0FBVztJQUNYLE1BQU07SUFDTiw4QkFBOEI7SUFDOUIsc0NBQXNDO0lBQ3RDLEtBQUs7SUFFTCwyQ0FBMkM7SUFDM0MsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsdUNBQXVDO0lBQ3ZDLE1BQU07UUFDSixPQUFPO1lBQ0wsVUFBVSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSyxJQUFJLENBQUMsV0FBbUIsQ0FBQyxJQUFJO1lBQ2hFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNoQixDQUFDO0lBQ0osQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IDIwMTItMjAyMyBJZGVhQmxhZGUsIEluYy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuICBcclxuICogVXNlLCByZXByb2R1Y3Rpb24sIGRpc3RyaWJ1dGlvbiwgYW5kIG1vZGlmaWNhdGlvbiBvZiB0aGlzIGNvZGUgaXMgc3ViamVjdCB0byB0aGUgdGVybXMgYW5kIFxyXG4gKiBjb25kaXRpb25zIG9mIHRoZSBJZGVhQmxhZGUgQnJlZXplIGxpY2Vuc2UsIGF2YWlsYWJsZSBhdCBodHRwOi8vd3d3LmJyZWV6ZWpzLmNvbS9saWNlbnNlXHJcbiAqXHJcbiAqIEF1dGhvcjogSmF5IFRyYWJhbmRcclxuICovXHJcblxyXG4vKipcclxuQmFzZSBjbGFzcyBmb3IgYWxsIEJyZWV6ZSBlbnVtZXJhdGlvbnMsIHN1Y2ggYXMgRW50aXR5U3RhdGUsIERhdGFUeXBlLCBGZXRjaFN0cmF0ZWd5LCBNZXJnZVN0cmF0ZWd5IGV0Yy5cclxuQSBCcmVlemUgRW51bSBpcyBhIG5hbWVzcGFjZWQgc2V0IG9mIGNvbnN0YW50IHZhbHVlcy4gIEVhY2ggRW51bSBjb25zaXN0cyBvZiBhIGdyb3VwIG9mIHJlbGF0ZWQgY29uc3RhbnRzLCBjYWxsZWQgJ3N5bWJvbHMnLlxyXG5Vbmxpa2UgZW51bXMgaW4gc29tZSBvdGhlciBlbnZpcm9ubWVudHMsIGVhY2ggJ3N5bWJvbCcgY2FuIGhhdmUgYm90aCBtZXRob2RzIGFuZCBwcm9wZXJ0aWVzLlxyXG4+ICAgICBjbGFzcyBEYXlPZldlZWsgZXh0ZW5kcyBCcmVlemVFbnVtIHtcclxuPiAgICAgICBkYXlJbmRleDogbnVtYmVyO1xyXG4+ICAgICAgIGlzV2Vla2VuZD86IGJvb2xlYW47XHJcbj4gICAgICAgbmV4dERheSgpIHtcclxuPiAgICAgICAgIGxldCBuZXh0SW5kZXggPSAodGhpcy5kYXlJbmRleCArIDEpICUgNztcclxuPiAgICAgICAgIHJldHVybiBEYXlPZldlZWsuZ2V0U3ltYm9scygpW25leHRJbmRleF07XHJcbj4gICAgICAgfVxyXG4+XHJcbj4gICAgICAgc3RhdGljIE1vbmRheSA9IG5ldyBEYXlPZldlZWsoIHsgZGF5SW5kZXg6IDB9KTtcclxuPiAgICAgICBzdGF0aWMgVHVlc2RheSA9IG5ldyBEYXlPZldlZWsoIHsgZGF5SW5kZXg6IDEgfSk7XHJcbj4gICAgICAgc3RhdGljIFdlZG5lc2RheSA9IG5ldyBEYXlPZldlZWsoIHsgZGF5SW5kZXg6IDIgfSk7XHJcbj4gICAgICAgc3RhdGljIFRodXJzZGF5ID0gbmV3IERheU9mV2VlayggeyBkYXlJbmRleDogMyB9KTtcclxuPiAgICAgICBzdGF0aWMgRnJpZGF5ID0gbmV3IERheU9mV2VlayggeyBkYXlJbmRleDogNCB9KTtcclxuPiAgICAgICBzdGF0aWMgU2F0dXJkYXkgPSBuZXcgRGF5T2ZXZWVrKCB7IGRheUluZGV4OiA1LCBpc1dlZWtlbmQ6IHRydWUgfSk7XHJcbj4gICAgICAgc3RhdGljIFN1bmRheSA9IG5ldyBEYXlPZldlZWsoIHsgZGF5SW5kZXg6IDYsIGlzV2Vla2VuZDogdHJ1ZSB9KTtcclxuPiAgICAgfVxyXG4+XHJcbj4gICAgIGRlc2NyaWJlKFwiRGF5T2ZXZWVrXCIsICgpID0+IHtcclxuPiAgICAgICB0ZXN0KFwic2hvdWxkIHN1cHBvcnQgZnVsbCBlbnVtIGNhcGFiaWxpdGllc1wiLCBmdW5jdGlvbigpIHtcclxuPiAgICAgICAgIC8vIC8vIGN1c3RvbSBtZXRob2RzXHJcbj4gICAgICAgICBsZXQgZG93U3ltYm9scyA9IERheU9mV2Vlay5nZXRTeW1ib2xzKCk7XHJcbj4gICAgICAgICBleHBlY3QoZG93U3ltYm9scy5sZW5ndGgpLnRvQmUoNyk7XHJcbj4gICAgICAgICBleHBlY3QoRGF5T2ZXZWVrLk1vbmRheS5uZXh0RGF5KCkpLnRvQmUoRGF5T2ZXZWVrLlR1ZXNkYXkpO1xyXG4+ICAgICAgICAgZXhwZWN0KERheU9mV2Vlay5TdW5kYXkubmV4dERheSgpKS50b0JlKERheU9mV2Vlay5Nb25kYXkpO1xyXG4+ICAgICAgIC8vIC8vIGN1c3RvbSBwcm9wZXJ0aWVzXHJcbj4gICAgICAgICBleHBlY3QoRGF5T2ZXZWVrLlR1ZXNkYXkuaXNXZWVrZW5kKS50b0JlKHVuZGVmaW5lZCk7XHJcbj4gICAgICAgICBleHBlY3QoRGF5T2ZXZWVrLlNhdHVyZGF5LmlzV2Vla2VuZCkudG9CZSh0cnVlKTtcclxuPiAgICAgICAvLyAvLyBTdGFuZGFyZCBlbnVtIGNhcGFiaWxpdGllc1xyXG4+ICAgICAgICAgZXhwZWN0KERheU9mV2Vlay5UaHVyc2RheSBpbnN0YW5jZW9mIERheU9mV2VlaykudG9CZSh0cnVlKTtcclxuPiAgICAgICAgIGV4cGVjdChCcmVlemVFbnVtLmlzU3ltYm9sKERheU9mV2Vlay5XZWRuZXNkYXkpKS50b0JlKHRydWUpO1xyXG4+ICAgICAgICAgZXhwZWN0KERheU9mV2Vlay5jb250YWlucyhEYXlPZldlZWsuVGh1cnNkYXkpKS50b0JlKHRydWUpO1xyXG4+ICAgICAgICAgZXhwZWN0KERheU9mV2Vlay5GcmlkYXkudG9TdHJpbmcoKSkudG9CZShcIkZyaWRheVwiKTtcclxuPiAgICAgICB9KTtcclxuPiAgIH0pO1xyXG5Ob3RlIHRoYXQgd2UgaGF2ZSBFcnJvclsneCddID0gLi4uIGluIHNvbWUgcGxhY2VzIGluIHRoZSBjb2RlIHRvIHByZXZlbnQgVGVyc2VyIGZyb20gb3B0aW1pemluZyBvdXQgc29tZSBpbXBvcnRhbnQgY2FsbHMuXHJcbkBkeW5hbWljXHJcbiovXHJcbmV4cG9ydCBjbGFzcyBCcmVlemVFbnVtIHtcclxuICAvLyAvLyBUT0RPOiB0aGluayBhYm91dCBDb21wb3NpdGVFbnVtIChmbGFncyBpbXBsKS5cclxuICAvKiogVGhlIG5hbWUgb2YgdGhpcyBzeW1ib2wgKi9cclxuICBkZWNsYXJlIG5hbWU6IHN0cmluZztcclxuICAvKiogVHlwZSBvZiB0aGUgZW51bTsgc2V0IGluIHByb3RvdHlwZSBvZiBlYWNoIGVudW0gKi9cclxuICBkZWNsYXJlIF8kdHlwZU5hbWU6IHN0cmluZztcclxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cclxuICBzdGF0aWMgX3Jlc29sdmVkTmFtZXNBbmRTeW1ib2xzOiB7IG5hbWU6IHN0cmluZywgc3ltYm9sOiBCcmVlemVFbnVtIH1bXTtcclxuXHJcbiAgLyoqICAqL1xyXG4gIGNvbnN0cnVjdG9yKHByb3BlcnRpZXNPYmo/OiBPYmplY3QpIHtcclxuICAgIGlmIChwcm9wZXJ0aWVzT2JqKSB7XHJcbiAgICAgIE9iamVjdC5rZXlzKHByb3BlcnRpZXNPYmopLmZvckVhY2goKGtleSkgPT4gdGhpc1trZXldID0gcHJvcGVydGllc09ialtrZXldKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gIFJldHVybnMgYWxsIG9mIHRoZSBzeW1ib2xzIGNvbnRhaW5lZCB3aXRoaW4gdGhpcyBFbnVtLlxyXG4gID4gICAgIGxldCBzeW1ib2xzID0gRGF5T2ZXZWVrLmdldFN5bWJvbHMoKTtcclxuICBAcmV0dXJuIEFsbCBvZiB0aGUgc3ltYm9scyBjb250YWluZWQgd2l0aGluIHRoaXMgRW51bS5cclxuICAqKi9cclxuICBzdGF0aWMgZ2V0U3ltYm9scygpIHtcclxuICAgIHJldHVybiB0aGlzLnJlc29sdmVTeW1ib2xzKCkubWFwKGtzID0+IGtzLnN5bWJvbCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICBSZXR1cm5zIHRoZSBuYW1lcyBvZiBhbGwgb2YgdGhlIHN5bWJvbHMgY29udGFpbmVkIHdpdGhpbiB0aGlzIEVudW0uXHJcbiAgPiAgICAgbGV0IHN5bWJvbHMgPSBEYXlPZldlZWsuZ2V0TmFtZXMoKTtcclxuICBAcmV0dXJuICBBbGwgb2YgdGhlIG5hbWVzIG9mIHRoZSBzeW1ib2xzIGNvbnRhaW5lZCB3aXRoaW4gdGhpcyBFbnVtLlxyXG4gICoqL1xyXG4gIHN0YXRpYyBnZXROYW1lcygpIHtcclxuICAgIHJldHVybiB0aGlzLnJlc29sdmVTeW1ib2xzKCkubWFwKGtzID0+IGtzLm5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgUmV0dXJucyBhbiBFbnVtIHN5bWJvbCBnaXZlbiBpdHMgbmFtZS5cclxuICA+ICAgICBsZXQgZGF5T2ZXZWVrID0gRGF5T2ZXZWVrLmZyb20oXCJUaHVyc2RheVwiKTtcclxuICA+ICAgICAvLyBub3dkYXlPZldlZWsgPT09IERheU9mV2Vlay5UaHVyc2RheVxyXG4gIEBwYXJhbSBuYW1lIC0gTmFtZSBmb3Igd2hpY2ggYW4gZW51bSBzeW1ib2wgc2hvdWxkIGJlIHJldHVybmVkLlxyXG4gIEByZXR1cm4gVGhlIHN5bWJvbCB0aGF0IG1hdGNoZXMgdGhlIG5hbWUgb3IgJ3VuZGVmaW5lZCcgaWYgbm90IGZvdW5kLlxyXG4gICoqL1xyXG4gIHN0YXRpYyBmcm9tTmFtZShuYW1lOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzW25hbWVdO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgU2VhbHMgdGhpcyBlbnVtIHNvIHRoYXQgbm8gbW9yZSBzeW1ib2xzIG1heSBiZSBhZGRlZCB0byBpdC4gVGhpcyBzaG91bGQgb25seSBiZSBjYWxsZWQgYWZ0ZXIgYWxsIHN5bWJvbHNcclxuICBoYXZlIGFscmVhZHkgYmVlbiBhZGRlZCB0byB0aGUgRW51bS4gVGhpcyBtZXRob2QgYWxzbyBzZXRzIHRoZSAnbmFtZScgcHJvcGVydHkgb24gZWFjaCBvZiB0aGUgc3ltYm9scy5cclxuICA+ICAgICBEYXlPZldlZWsucmVzb2x2ZVN5bWJvbHMoKTtcclxuICAqKi9cclxuICBzdGF0aWMgcmVzb2x2ZVN5bWJvbHMoKSB7XHJcbiAgICBpZiAodGhpcy5fcmVzb2x2ZWROYW1lc0FuZFN5bWJvbHMpIHJldHVybiB0aGlzLl9yZXNvbHZlZE5hbWVzQW5kU3ltYm9scztcclxuICAgIGxldCByZXN1bHQ6IHtuYW1lOiBzdHJpbmcsIHN5bWJvbDogQnJlZXplRW51bSB9W10gPSBbXTtcclxuXHJcbiAgICBmb3IgKGxldCBrZXkgaW4gdGhpcykge1xyXG4gICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgbGV0IHN5bWIgPSB0aGlzW2tleV07XHJcbiAgICAgICAgaWYgKHN5bWIgaW5zdGFuY2VvZiBCcmVlemVFbnVtKSB7XHJcbiAgICAgICAgICByZXN1bHQucHVzaCggeyBuYW1lOiBrZXksIHN5bWJvbDogc3ltYiB9KTtcclxuICAgICAgICAgIHRoaXNba2V5XSA9IHN5bWI7XHJcbiAgICAgICAgICBzeW1iLm5hbWUgPSBrZXk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLl9yZXNvbHZlZE5hbWVzQW5kU3ltYm9scyA9IHJlc3VsdDtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICBSZXR1cm5zIHdoZXRoZXIgYW4gRW51bSBjb250YWlucyBhIHNwZWNpZmllZCBzeW1ib2wuXHJcbiAgPiAgICAgbGV0IHN5bWJvbCA9IERheU9mV2Vlay5GcmlkYXk7XHJcbiAgPiAgICAgaWYgKERheU9mV2Vlay5jb250YWlucyhzeW1ib2wpKSB7XHJcbiAgPiAgICAgICAgIC8vIGRvIHNvbWV0aGluZ1xyXG4gID4gICAgIH1cclxuICBAcGFyYW0gc3ltIC0gT2JqZWN0IG9yIHN5bWJvbCB0byB0ZXN0LlxyXG4gIEByZXR1cm4gV2hldGhlciB0aGlzIEVudW0gY29udGFpbnMgdGhlIHNwZWNpZmllZCBzeW1ib2wuXHJcbiAgKiovXHJcbiAgc3RhdGljIGNvbnRhaW5zKHN5bTogQnJlZXplRW51bSkge1xyXG4gICAgaWYgKCEoc3ltIGluc3RhbmNlb2YgQnJlZXplRW51bSkpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzW3N5bS5uYW1lXSAhPSBudWxsO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vIC8qKlxyXG4gIC8vIENoZWNrcyBpZiBhbiBvYmplY3QgaXMgYW4gRW51bSAnc3ltYm9sJy4gVXNlIHRoZSAnY29udGFpbnMnIG1ldGhvZCBpbnN0ZWFkIG9mIHRoaXMgb25lIFxyXG4gIC8vIGlmIHlvdSB3YW50IHRvIHRlc3QgZm9yIGEgc3BlY2lmaWMgRW51bS4gXHJcbiAgLy8gPiAgICAgaWYgKEVudW0uaXNTeW1ib2woRGF5T2ZXZWVrLldlZG5lc2RheSkpIHtcclxuICAvLyA+ICAgICAgIC8vIGRvIHNvbWV0aGluZyAuLi5cclxuICAvLyA+ICAgICB9O1xyXG4gIC8vICoqL1xyXG4gIC8vIHN0YXRpYyBpc1N5bWJvbChvYmo6IGFueSkge1xyXG4gIC8vICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIEJyZWV6ZUVudW07XHJcbiAgLy8gfTtcclxuXHJcbiAgLyoqIFJldHVybnMgdGhlIHN0cmluZyBuYW1lIG9mIHRoaXMgRW51bSAqL1xyXG4gIHRvU3RyaW5nKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubmFtZTtcclxuICB9XHJcblxyXG4gIC8qKiBSZXR1cm4gZW51bSBuYW1lIGFuZCBzeW1ib2wgbmFtZSAqL1xyXG4gIHRvSlNPTigpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIF8kdHlwZU5hbWU6IHRoaXNbJ18kdHlwZU5hbWUnXSB8fCAodGhpcy5jb25zdHJ1Y3RvciBhcyBhbnkpLm5hbWUsXHJcbiAgICAgIG5hbWU6IHRoaXMubmFtZVxyXG4gICAgfTtcclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuIl19
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
import { core } from './core';
|
|
2
|
+
import { assertParam } from './assert-param';
|
|
3
|
+
function publishCore(that, data, errorCallback) {
|
|
4
|
+
let subscribers = that._subscribers;
|
|
5
|
+
if (!subscribers)
|
|
6
|
+
return true;
|
|
7
|
+
// subscribers from outer scope.
|
|
8
|
+
subscribers.forEach(function (s) {
|
|
9
|
+
try {
|
|
10
|
+
s.callback(data);
|
|
11
|
+
}
|
|
12
|
+
catch (e) {
|
|
13
|
+
e.context = "unable to publish on topic: " + that.name;
|
|
14
|
+
if (errorCallback) {
|
|
15
|
+
errorCallback(e);
|
|
16
|
+
}
|
|
17
|
+
else if (that._defaultErrorCallback) {
|
|
18
|
+
that._defaultErrorCallback(e);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
fallbackErrorHandler(e);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
function fallbackErrorHandler(e) {
|
|
27
|
+
// TODO: maybe log this
|
|
28
|
+
// for now do nothing;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
Class to support basic event publication and subscription semantics.
|
|
32
|
+
@dynamic
|
|
33
|
+
**/
|
|
34
|
+
export class BreezeEvent {
|
|
35
|
+
/**
|
|
36
|
+
Constructor for an Event
|
|
37
|
+
> salaryEvent = new BreezeEvent("salaryEvent", person);
|
|
38
|
+
@param name - The name of the event.
|
|
39
|
+
@param publisher - The object that will be doing the publication. i.e. the object to which this event is attached.
|
|
40
|
+
@param defaultErrorCallback - Function to call when an error occurs during subscription execution.
|
|
41
|
+
If omitted then subscriber notification failures will be ignored.
|
|
42
|
+
**/
|
|
43
|
+
constructor(name, publisher, defaultErrorCallback) {
|
|
44
|
+
/**
|
|
45
|
+
Unsubscribe from this event.
|
|
46
|
+
> // Assume order is a preexisting 'order' entity
|
|
47
|
+
> let token = order.entityAspect.propertyChanged.subscribe(function (pcEvent) {
|
|
48
|
+
> // do something
|
|
49
|
+
> });
|
|
50
|
+
> // sometime later
|
|
51
|
+
> order.entityAspect.propertyChanged.unsubscribe(token);
|
|
52
|
+
@param unsubKey - The value returned from the 'subscribe' method may be used to unsubscribe here.
|
|
53
|
+
@return Whether unsubscription occured. This will return false if already unsubscribed or if the key simply
|
|
54
|
+
cannot be found.
|
|
55
|
+
**/
|
|
56
|
+
this.unsubscribe = function (unsubKey) {
|
|
57
|
+
if (!this._subscribers)
|
|
58
|
+
return false;
|
|
59
|
+
let subs = this._subscribers;
|
|
60
|
+
let ix = core.arrayIndexOf(subs, function (s) {
|
|
61
|
+
return s.unsubKey === unsubKey;
|
|
62
|
+
});
|
|
63
|
+
if (ix !== -1) {
|
|
64
|
+
subs.splice(ix, 1);
|
|
65
|
+
if (subs.length === 0) {
|
|
66
|
+
this._subscribers = null;
|
|
67
|
+
}
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
assertParam(name, "eventName").isNonEmptyString().check();
|
|
75
|
+
assertParam(publisher, "publisher").isObject().check();
|
|
76
|
+
this.name = name;
|
|
77
|
+
// register the name
|
|
78
|
+
BreezeEvent.__eventNameMap[name] = true;
|
|
79
|
+
this.publisher = publisher;
|
|
80
|
+
if (defaultErrorCallback) {
|
|
81
|
+
this._defaultErrorCallback = defaultErrorCallback;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
Publish data for this event.
|
|
86
|
+
> // Assume 'salaryEvent' is previously constructed Event
|
|
87
|
+
> salaryEvent.publish( { eventType: "payRaise", amount: 100 });
|
|
88
|
+
|
|
89
|
+
This event can also be published asychronously
|
|
90
|
+
> salaryEvent.publish( { eventType: "payRaise", amount: 100 }, true);
|
|
91
|
+
|
|
92
|
+
And we can add a handler in case the subscriber 'mishandles' the event.
|
|
93
|
+
> salaryEvent.publish( { eventType: "payRaise", amount: 100 }, true, function(error) {
|
|
94
|
+
> // do something with the 'error' object
|
|
95
|
+
> });
|
|
96
|
+
@param data - Data to publish
|
|
97
|
+
@param publishAsync - (default=false) Whether to publish asynchonously or not.
|
|
98
|
+
@param errorCallback - Function to be called for any errors that occur during publication. If omitted,
|
|
99
|
+
errors will be eaten.
|
|
100
|
+
@return false if event is disabled; true otherwise.
|
|
101
|
+
**/
|
|
102
|
+
publish(data, publishAsync = false, errorCallback) {
|
|
103
|
+
if (!BreezeEvent._isEnabled(this.name, this.publisher))
|
|
104
|
+
return false;
|
|
105
|
+
if (publishAsync === true) {
|
|
106
|
+
setTimeout(publishCore, 0, this, data, errorCallback);
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
publishCore(this, data, errorCallback);
|
|
110
|
+
}
|
|
111
|
+
return true;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
Publish data for this event asynchronously.
|
|
115
|
+
> // Assume 'salaryEvent' is previously constructed Event
|
|
116
|
+
> salaryEvent.publishAsync( { eventType: "payRaise", amount: 100 });
|
|
117
|
+
|
|
118
|
+
And we can add a handler in case the subscriber 'mishandles' the event.
|
|
119
|
+
> salaryEvent.publishAsync( { eventType: "payRaise", amount: 100 }, function(error) {
|
|
120
|
+
> // do something with the 'error' object
|
|
121
|
+
> });
|
|
122
|
+
@param data - Data to publish
|
|
123
|
+
@param errorCallback - Function to be called for any errors that occur during publication. If omitted,
|
|
124
|
+
errors will be eaten.
|
|
125
|
+
**/
|
|
126
|
+
publishAsync(data, errorCallback) {
|
|
127
|
+
this.publish(data, true, errorCallback);
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
Subscribe to this event.
|
|
131
|
+
> // Assume 'salaryEvent' is previously constructed Event
|
|
132
|
+
> salaryEvent.subscribe(function (eventArgs) {
|
|
133
|
+
> if (eventArgs.eventType === "payRaise") {
|
|
134
|
+
> // do something
|
|
135
|
+
> }
|
|
136
|
+
> });
|
|
137
|
+
|
|
138
|
+
There are several built in Breeze events, such as [[EntityAspect.propertyChanged]], [[EntityAspect.validationErrorsChanged]] as well.
|
|
139
|
+
> // Assume order is a preexisting 'order' entity
|
|
140
|
+
> order.entityAspect.propertyChanged.subscribe(function (pcEvent) {
|
|
141
|
+
> if ( pcEvent.propertyName === "OrderDate") {
|
|
142
|
+
> // do something
|
|
143
|
+
> }
|
|
144
|
+
> });
|
|
145
|
+
@param callback- Function to be called whenever 'data' is published for this event.
|
|
146
|
+
@param callback.data - {Object} Whatever 'data' was published. This should be documented on the specific event.
|
|
147
|
+
@return This is a key for 'unsubscription'. It can be passed to the 'unsubscribe' method.
|
|
148
|
+
**/
|
|
149
|
+
subscribe(callback) {
|
|
150
|
+
if (!this._subscribers) {
|
|
151
|
+
this._subscribers = [];
|
|
152
|
+
}
|
|
153
|
+
let unsubKey = BreezeEvent.__nextUnsubKey;
|
|
154
|
+
this._subscribers.push({ unsubKey: unsubKey, callback: callback });
|
|
155
|
+
++BreezeEvent.__nextUnsubKey;
|
|
156
|
+
return unsubKey;
|
|
157
|
+
}
|
|
158
|
+
/** remove all subscribers */
|
|
159
|
+
clear() {
|
|
160
|
+
this._subscribers = null;
|
|
161
|
+
}
|
|
162
|
+
/** event bubbling - document later. */
|
|
163
|
+
// null or undefined 'getParentFn' means Event does not need to bubble i.e. that it is always enabled - .
|
|
164
|
+
static bubbleEvent(target, getParentFn) {
|
|
165
|
+
target._getEventParent = getParentFn || null;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
Enables or disables the named event for an object and all of its children.
|
|
169
|
+
> BreezeEvent.enable(“propertyChanged”, myEntityManager, false)
|
|
170
|
+
|
|
171
|
+
will disable all EntityAspect.propertyChanged events within a EntityManager.
|
|
172
|
+
> BreezeEvent.enable(“propertyChanged”, myEntityManager, true)
|
|
173
|
+
|
|
174
|
+
will enable all EntityAspect.propertyChanged events within a EntityManager.
|
|
175
|
+
> BreezeEvent.enable(“propertyChanged”, myEntity.entityAspect, false)
|
|
176
|
+
|
|
177
|
+
will disable EntityAspect.propertyChanged events for a specific entity.
|
|
178
|
+
> BreezeEvent.enable(“propertyChanged”, myEntity.entityAspect, null)
|
|
179
|
+
|
|
180
|
+
will removes any enabling / disabling at the entity aspect level so now any 'Event.enable' calls at the EntityManager level,
|
|
181
|
+
made either previously or in the future, will control notification.
|
|
182
|
+
> BreezeEvent.enable(“validationErrorsChanged”, myEntityManager, function(em) {
|
|
183
|
+
> return em.customTag === “blue”;
|
|
184
|
+
> })
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
will either enable or disable myEntityManager based on the current value of a ‘customTag’ property on myEntityManager.
|
|
188
|
+
Note that this is dynamic, changing the customTag value will cause events to be enabled or disabled immediately.
|
|
189
|
+
@param eventName - The name of the event.
|
|
190
|
+
@param target - The object at which enabling or disabling will occur. All event notifications that occur to this object or
|
|
191
|
+
children of this object will be enabled or disabled.
|
|
192
|
+
@param isEnabled - A boolean, a null or a function that returns either a boolean or a null.
|
|
193
|
+
**/
|
|
194
|
+
static enable(eventName, obj, isEnabled) {
|
|
195
|
+
assertParam(eventName, "eventName").isNonEmptyString().check();
|
|
196
|
+
assertParam(obj, "obj").isObject().check();
|
|
197
|
+
assertParam(isEnabled, "isEnabled").isBoolean().isOptional().or().isFunction().check();
|
|
198
|
+
let ob = obj;
|
|
199
|
+
if (!ob._$eventMap) {
|
|
200
|
+
ob._$eventMap = {};
|
|
201
|
+
}
|
|
202
|
+
ob._$eventMap[eventName] = isEnabled;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
Returns whether for a specific event and a specific object and its children, notification is enabled or disabled or not set.
|
|
206
|
+
> BreezeEvent.isEnabled(“propertyChanged”, myEntityManager)
|
|
207
|
+
>
|
|
208
|
+
@param eventName - The name of the event.
|
|
209
|
+
@param target - The object for which we want to know if notifications are enabled.
|
|
210
|
+
@return A null is returned if this value has not been set.
|
|
211
|
+
**/
|
|
212
|
+
static isEnabled(eventName, obj) {
|
|
213
|
+
assertParam(eventName, "eventName").isNonEmptyString().check();
|
|
214
|
+
assertParam(obj, "obj").isObject().check();
|
|
215
|
+
// null is ok - it just means that the object is at the top level.
|
|
216
|
+
if (obj._getEventParent === undefined) {
|
|
217
|
+
throw new Error("This object does not support event enabling/disabling");
|
|
218
|
+
}
|
|
219
|
+
// return ctor._isEnabled(getFullEventName(eventName), obj);
|
|
220
|
+
return BreezeEvent._isEnabled(eventName, 3);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
/** @hidden @internal */
|
|
224
|
+
BreezeEvent.__eventNameMap = {};
|
|
225
|
+
/** @hidden @internal */
|
|
226
|
+
BreezeEvent.__nextUnsubKey = 1;
|
|
227
|
+
/** @hidden @internal */
|
|
228
|
+
BreezeEvent._isEnabled = function (eventName, obj) {
|
|
229
|
+
let isEnabled = null;
|
|
230
|
+
let ob = obj;
|
|
231
|
+
let eventMap = ob._$eventMap;
|
|
232
|
+
if (eventMap) {
|
|
233
|
+
isEnabled = eventMap[eventName];
|
|
234
|
+
}
|
|
235
|
+
if (isEnabled != null) {
|
|
236
|
+
if (typeof isEnabled === 'function') {
|
|
237
|
+
return !!isEnabled(obj);
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
return !!isEnabled;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
let parent = ob._getEventParent && ob._getEventParent();
|
|
245
|
+
if (parent) {
|
|
246
|
+
return !!this._isEnabled(eventName, parent);
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
// default if not explicitly disabled.
|
|
250
|
+
return true;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
};
|
|
254
|
+
// legacy support - deliberately not typed
|
|
255
|
+
core.Event = BreezeEvent;
|
|
256
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9icmVlemUtY2xpZW50LyIsInNvdXJjZXMiOlsic3JjL2V2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDOUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLFNBQVMsV0FBVyxDQUFJLElBQW9CLEVBQUUsSUFBTyxFQUFFLGFBQWlDO0lBQ3RGLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDcEMsSUFBSSxDQUFDLFdBQVc7UUFBRSxPQUFPLElBQUksQ0FBQztJQUM5QixnQ0FBZ0M7SUFDaEMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7UUFDN0IsSUFBSTtZQUNGLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbEI7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLENBQUMsQ0FBQyxPQUFPLEdBQUcsOEJBQThCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUN2RCxJQUFJLGFBQWEsRUFBRTtnQkFDakIsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2xCO2lCQUFNLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFO2dCQUNyQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDL0I7aUJBQU07Z0JBQ0wsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDekI7U0FDRjtJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELFNBQVMsb0JBQW9CLENBQUMsQ0FBUTtJQUNwQyx1QkFBdUI7SUFDdkIsc0JBQXNCO0FBQ3hCLENBQUM7QUFTRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sV0FBVztJQWdCdEI7Ozs7Ozs7T0FPRztJQUNILFlBQVksSUFBWSxFQUFFLFNBQWlCLEVBQUUsb0JBQXdDO1FBMkZyRjs7Ozs7Ozs7Ozs7V0FXRztRQUNILGdCQUFXLEdBQUcsVUFBVSxRQUFnQjtZQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVk7Z0JBQUUsT0FBTyxLQUFLLENBQUM7WUFDckMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUM3QixJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUM7Z0JBQzFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUM7WUFDakMsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRTtnQkFDYixJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDbkIsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtvQkFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7aUJBQzFCO2dCQUNELE9BQU8sSUFBSSxDQUFDO2FBQ2I7aUJBQU07Z0JBQ0wsT0FBTyxLQUFLLENBQUM7YUFDZDtRQUNILENBQUMsQ0FBQztRQXJIQSxXQUFXLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUQsV0FBVyxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUV2RCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixvQkFBb0I7UUFDcEIsV0FBVyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDeEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxvQkFBb0IsRUFBRTtZQUN4QixJQUFJLENBQUMscUJBQXFCLEdBQUcsb0JBQW9CLENBQUM7U0FDbkQ7SUFDSCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7O09BaUJHO0lBQ0gsT0FBTyxDQUFDLElBQU8sRUFBRSxlQUF3QixLQUFLLEVBQUUsYUFBaUM7UUFFL0UsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFFckUsSUFBSSxZQUFZLEtBQUssSUFBSSxFQUFFO1lBQ3pCLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUM7U0FDdkQ7YUFBTTtZQUNMLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1NBQ3hDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0gsWUFBWSxDQUFDLElBQU8sRUFBRSxhQUFnQztRQUNwRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BbUJHO0lBQ0gsU0FBUyxDQUFDLFFBQTBCO1FBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1NBQ3hCO1FBRUQsSUFBSSxRQUFRLEdBQUcsV0FBVyxDQUFDLGNBQWMsQ0FBQztRQUMxQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDbkUsRUFBRSxXQUFXLENBQUMsY0FBYyxDQUFDO1FBQzdCLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUErQkQsNkJBQTZCO0lBQzdCLEtBQUs7UUFDSCxJQUFJLENBQUMsWUFBWSxHQUFRLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBRUQsdUNBQXVDO0lBRXZDLHlHQUF5RztJQUN6RyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQVcsRUFBRSxXQUF5QjtRQUN2RCxNQUFNLENBQUMsZUFBZSxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQTBCRztJQUNKLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBaUIsRUFBRSxHQUFXLEVBQUUsU0FBMEM7UUFDckYsV0FBVyxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQy9ELFdBQVcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDM0MsV0FBVyxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN2RixJQUFJLEVBQUUsR0FBUSxHQUFHLENBQUM7UUFDbEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUU7WUFDbEIsRUFBRSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7U0FDcEI7UUFDRCxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFNBQVMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsU0FBaUIsRUFBRSxHQUFXO1FBQzdDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMvRCxXQUFXLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNDLGtFQUFrRTtRQUNsRSxJQUFVLEdBQUksQ0FBQyxlQUFlLEtBQUssU0FBUyxFQUFFO1lBQzVDLE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQztTQUMxRTtRQUNELDREQUE0RDtRQUM1RCxPQUFPLFdBQVcsQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7O0FBbE5ELHdCQUF3QjtBQUNqQiwwQkFBYyxHQUFHLEVBQUUsQ0FBQztBQUMzQix3QkFBd0I7QUFDakIsMEJBQWMsR0FBRyxDQUFDLENBQUM7QUFpTjFCLHdCQUF3QjtBQUNqQixzQkFBVSxHQUFHLFVBQVUsU0FBaUIsRUFBRSxHQUFXO0lBQzFELElBQUksU0FBUyxHQUFRLElBQUksQ0FBQztJQUMxQixJQUFJLEVBQUUsR0FBUSxHQUFHLENBQUM7SUFDbEIsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQztJQUM3QixJQUFJLFFBQVEsRUFBRTtRQUNaLFNBQVMsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7S0FDakM7SUFDRCxJQUFJLFNBQVMsSUFBSSxJQUFJLEVBQUU7UUFDckIsSUFBSSxPQUFPLFNBQVMsS0FBSyxVQUFVLEVBQUU7WUFDbkMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3pCO2FBQU07WUFDTCxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUM7U0FDcEI7S0FDRjtTQUFNO1FBQ0wsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEQsSUFBSSxNQUFNLEVBQUU7WUFDVixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUM3QzthQUFNO1lBQ0wsc0NBQXNDO1lBQ3RDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7S0FDRjtBQUNILENBQUMsQ0FBQztBQUtKLDBDQUEwQztBQUN6QyxJQUFZLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvcmUgfSBmcm9tICcuL2NvcmUnO1xyXG5pbXBvcnQgeyBhc3NlcnRQYXJhbSB9IGZyb20gJy4vYXNzZXJ0LXBhcmFtJztcclxuXHJcbmZ1bmN0aW9uIHB1Ymxpc2hDb3JlPFQ+KHRoYXQ6IEJyZWV6ZUV2ZW50PFQ+LCBkYXRhOiBULCBlcnJvckNhbGxiYWNrPzogKGU6IEVycm9yKSA9PiBhbnkpIHtcclxuICBsZXQgc3Vic2NyaWJlcnMgPSB0aGF0Ll9zdWJzY3JpYmVycztcclxuICBpZiAoIXN1YnNjcmliZXJzKSByZXR1cm4gdHJ1ZTtcclxuICAvLyBzdWJzY3JpYmVycyBmcm9tIG91dGVyIHNjb3BlLlxyXG4gIHN1YnNjcmliZXJzLmZvckVhY2goZnVuY3Rpb24gKHMpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHMuY2FsbGJhY2soZGF0YSk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIGUuY29udGV4dCA9IFwidW5hYmxlIHRvIHB1Ymxpc2ggb24gdG9waWM6IFwiICsgdGhhdC5uYW1lO1xyXG4gICAgICBpZiAoZXJyb3JDYWxsYmFjaykge1xyXG4gICAgICAgIGVycm9yQ2FsbGJhY2soZSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhhdC5fZGVmYXVsdEVycm9yQ2FsbGJhY2spIHtcclxuICAgICAgICB0aGF0Ll9kZWZhdWx0RXJyb3JDYWxsYmFjayhlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBmYWxsYmFja0Vycm9ySGFuZGxlcihlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBmYWxsYmFja0Vycm9ySGFuZGxlcihlOiBFcnJvcikge1xyXG4gIC8vIFRPRE86IG1heWJlIGxvZyB0aGlzXHJcbiAgLy8gZm9yIG5vdyBkbyBub3RoaW5nO1xyXG59XHJcblxyXG5cclxuLyoqIEBoaWRkZW4gQGludGVybmFsICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaXB0aW9uIHtcclxuICB1bnN1YktleTogbnVtYmVyO1xyXG4gIGNhbGxiYWNrOiAoZGF0YTogYW55KSA9PiBhbnk7XHJcbn1cclxuXHJcbi8qKlxyXG5DbGFzcyB0byBzdXBwb3J0IGJhc2ljIGV2ZW50IHB1YmxpY2F0aW9uIGFuZCBzdWJzY3JpcHRpb24gc2VtYW50aWNzLlxyXG5AZHluYW1pY1xyXG4qKi9cclxuZXhwb3J0IGNsYXNzIEJyZWV6ZUV2ZW50PFQ+IHtcclxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cclxuICBzdGF0aWMgX19ldmVudE5hbWVNYXAgPSB7fTtcclxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cclxuICBzdGF0aWMgX19uZXh0VW5zdWJLZXkgPSAxO1xyXG4gIC8qKiBUaGUgbmFtZSBvZiB0aGlzIEV2ZW50ICovXHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIC8qKiBUaGUgb2JqZWN0IGRvaW5nIHRoZSBwdWJsaWNhdGlvbi4gaS5lLiB0aGUgb2JqZWN0IHRvIHdoaWNoIHRoaXMgZXZlbnQgaXMgYXR0YWNoZWQuICovXHJcbiAgcHVibGlzaGVyOiBPYmplY3Q7XHJcblxyXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xyXG4gIF9zdWJzY3JpYmVyczogU3Vic2NyaXB0aW9uW107XHJcbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXHJcbiAgX2RlZmF1bHRFcnJvckNhbGxiYWNrOiAoZTogRXJyb3IpID0+IGFueTtcclxuXHJcblxyXG4gIC8qKlxyXG4gIENvbnN0cnVjdG9yIGZvciBhbiBFdmVudFxyXG4gID4gICAgIHNhbGFyeUV2ZW50ID0gbmV3IEJyZWV6ZUV2ZW50KFwic2FsYXJ5RXZlbnRcIiwgcGVyc29uKTtcclxuICBAcGFyYW0gbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBldmVudC5cclxuICBAcGFyYW0gcHVibGlzaGVyIC0gVGhlIG9iamVjdCB0aGF0IHdpbGwgYmUgZG9pbmcgdGhlIHB1YmxpY2F0aW9uLiBpLmUuIHRoZSBvYmplY3QgdG8gd2hpY2ggdGhpcyBldmVudCBpcyBhdHRhY2hlZC5cclxuICBAcGFyYW0gZGVmYXVsdEVycm9yQ2FsbGJhY2sgLSBGdW5jdGlvbiB0byBjYWxsIHdoZW4gYW4gZXJyb3Igb2NjdXJzIGR1cmluZyBzdWJzY3JpcHRpb24gZXhlY3V0aW9uLiBcclxuICBJZiBvbWl0dGVkIHRoZW4gc3Vic2NyaWJlciBub3RpZmljYXRpb24gZmFpbHVyZXMgd2lsbCBiZSBpZ25vcmVkLlxyXG4gICoqL1xyXG4gIGNvbnN0cnVjdG9yKG5hbWU6IHN0cmluZywgcHVibGlzaGVyOiBPYmplY3QsIGRlZmF1bHRFcnJvckNhbGxiYWNrPzogKGU6IEVycm9yKSA9PiBhbnkpIHtcclxuICAgIGFzc2VydFBhcmFtKG5hbWUsIFwiZXZlbnROYW1lXCIpLmlzTm9uRW1wdHlTdHJpbmcoKS5jaGVjaygpO1xyXG4gICAgYXNzZXJ0UGFyYW0ocHVibGlzaGVyLCBcInB1Ymxpc2hlclwiKS5pc09iamVjdCgpLmNoZWNrKCk7XHJcblxyXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcclxuICAgIC8vIHJlZ2lzdGVyIHRoZSBuYW1lXHJcbiAgICBCcmVlemVFdmVudC5fX2V2ZW50TmFtZU1hcFtuYW1lXSA9IHRydWU7XHJcbiAgICB0aGlzLnB1Ymxpc2hlciA9IHB1Ymxpc2hlcjtcclxuICAgIGlmIChkZWZhdWx0RXJyb3JDYWxsYmFjaykge1xyXG4gICAgICB0aGlzLl9kZWZhdWx0RXJyb3JDYWxsYmFjayA9IGRlZmF1bHRFcnJvckNhbGxiYWNrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgUHVibGlzaCBkYXRhIGZvciB0aGlzIGV2ZW50LlxyXG4gID4gICAgICAvLyBBc3N1bWUgJ3NhbGFyeUV2ZW50JyBpcyBwcmV2aW91c2x5IGNvbnN0cnVjdGVkIEV2ZW50XHJcbiAgPiAgICAgIHNhbGFyeUV2ZW50LnB1Ymxpc2goIHsgZXZlbnRUeXBlOiBcInBheVJhaXNlXCIsIGFtb3VudDogMTAwIH0pO1xyXG5cclxuICBUaGlzIGV2ZW50IGNhbiBhbHNvIGJlIHB1Ymxpc2hlZCBhc3ljaHJvbm91c2x5XHJcbiAgPiAgICAgIHNhbGFyeUV2ZW50LnB1Ymxpc2goIHsgZXZlbnRUeXBlOiBcInBheVJhaXNlXCIsIGFtb3VudDogMTAwIH0sIHRydWUpO1xyXG5cclxuICBBbmQgd2UgY2FuIGFkZCBhIGhhbmRsZXIgaW4gY2FzZSB0aGUgc3Vic2NyaWJlciAnbWlzaGFuZGxlcycgdGhlIGV2ZW50LlxyXG4gID4gICAgICBzYWxhcnlFdmVudC5wdWJsaXNoKCB7IGV2ZW50VHlwZTogXCJwYXlSYWlzZVwiLCBhbW91bnQ6IDEwMCB9LCB0cnVlLCBmdW5jdGlvbihlcnJvcikge1xyXG4gID4gICAgICAgICAgLy8gZG8gc29tZXRoaW5nIHdpdGggdGhlICdlcnJvcicgb2JqZWN0XHJcbiAgPiAgICAgIH0pO1xyXG4gIEBwYXJhbSBkYXRhIC0gRGF0YSB0byBwdWJsaXNoXHJcbiAgQHBhcmFtIHB1Ymxpc2hBc3luYyAtIChkZWZhdWx0PWZhbHNlKSBXaGV0aGVyIHRvIHB1Ymxpc2ggYXN5bmNob25vdXNseSBvciBub3QuXHJcbiAgQHBhcmFtIGVycm9yQ2FsbGJhY2sgLSBGdW5jdGlvbiB0byBiZSBjYWxsZWQgZm9yIGFueSBlcnJvcnMgdGhhdCBvY2N1ciBkdXJpbmcgcHVibGljYXRpb24uIElmIG9taXR0ZWQsXHJcbiAgZXJyb3JzIHdpbGwgYmUgZWF0ZW4uXHJcbiAgQHJldHVybiBmYWxzZSBpZiBldmVudCBpcyBkaXNhYmxlZDsgdHJ1ZSBvdGhlcndpc2UuXHJcbiAgKiovXHJcbiAgcHVibGlzaChkYXRhOiBULCBwdWJsaXNoQXN5bmM6IGJvb2xlYW4gPSBmYWxzZSwgZXJyb3JDYWxsYmFjaz86IChlOiBFcnJvcikgPT4gYW55KSB7XHJcblxyXG4gICAgaWYgKCFCcmVlemVFdmVudC5faXNFbmFibGVkKHRoaXMubmFtZSwgdGhpcy5wdWJsaXNoZXIpKSByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgaWYgKHB1Ymxpc2hBc3luYyA9PT0gdHJ1ZSkge1xyXG4gICAgICBzZXRUaW1lb3V0KHB1Ymxpc2hDb3JlLCAwLCB0aGlzLCBkYXRhLCBlcnJvckNhbGxiYWNrKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHB1Ymxpc2hDb3JlKHRoaXMsIGRhdGEsIGVycm9yQ2FsbGJhY2spO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICBQdWJsaXNoIGRhdGEgZm9yIHRoaXMgZXZlbnQgYXN5bmNocm9ub3VzbHkuXHJcbiAgPiAgICAgIC8vIEFzc3VtZSAnc2FsYXJ5RXZlbnQnIGlzIHByZXZpb3VzbHkgY29uc3RydWN0ZWQgRXZlbnRcclxuICA+ICAgICAgc2FsYXJ5RXZlbnQucHVibGlzaEFzeW5jKCB7IGV2ZW50VHlwZTogXCJwYXlSYWlzZVwiLCBhbW91bnQ6IDEwMCB9KTtcclxuXHJcbiAgQW5kIHdlIGNhbiBhZGQgYSBoYW5kbGVyIGluIGNhc2UgdGhlIHN1YnNjcmliZXIgJ21pc2hhbmRsZXMnIHRoZSBldmVudC5cclxuICA+ICAgICAgc2FsYXJ5RXZlbnQucHVibGlzaEFzeW5jKCB7IGV2ZW50VHlwZTogXCJwYXlSYWlzZVwiLCBhbW91bnQ6IDEwMCB9LCBmdW5jdGlvbihlcnJvcikge1xyXG4gID4gICAgICAgICAgLy8gZG8gc29tZXRoaW5nIHdpdGggdGhlICdlcnJvcicgb2JqZWN0XHJcbiAgPiAgICAgIH0pO1xyXG4gIEBwYXJhbSBkYXRhIC0gRGF0YSB0byBwdWJsaXNoXHJcbiAgQHBhcmFtIGVycm9yQ2FsbGJhY2sgLSBGdW5jdGlvbiB0byBiZSBjYWxsZWQgZm9yIGFueSBlcnJvcnMgdGhhdCBvY2N1ciBkdXJpbmcgcHVibGljYXRpb24uIElmIG9taXR0ZWQsXHJcbiAgZXJyb3JzIHdpbGwgYmUgZWF0ZW4uXHJcbiAgKiovXHJcbiAgcHVibGlzaEFzeW5jKGRhdGE6IFQsIGVycm9yQ2FsbGJhY2s6IChlOiBFcnJvcikgPT4gYW55KSB7XHJcbiAgICB0aGlzLnB1Ymxpc2goZGF0YSwgdHJ1ZSwgZXJyb3JDYWxsYmFjayk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICBTdWJzY3JpYmUgdG8gdGhpcyBldmVudC5cclxuICA+ICAgICAgLy8gQXNzdW1lICdzYWxhcnlFdmVudCcgaXMgcHJldmlvdXNseSBjb25zdHJ1Y3RlZCBFdmVudFxyXG4gID4gICAgICBzYWxhcnlFdmVudC5zdWJzY3JpYmUoZnVuY3Rpb24gKGV2ZW50QXJncykge1xyXG4gID4gICAgICAgICAgaWYgKGV2ZW50QXJncy5ldmVudFR5cGUgPT09IFwicGF5UmFpc2VcIikge1xyXG4gID4gICAgICAgICAgICAgIC8vIGRvIHNvbWV0aGluZ1xyXG4gID4gICAgICAgICAgfVxyXG4gID4gICAgICB9KTtcclxuXHJcbiAgVGhlcmUgYXJlIHNldmVyYWwgYnVpbHQgaW4gQnJlZXplIGV2ZW50cywgc3VjaCBhcyBbW0VudGl0eUFzcGVjdC5wcm9wZXJ0eUNoYW5nZWRdXSwgW1tFbnRpdHlBc3BlY3QudmFsaWRhdGlvbkVycm9yc0NoYW5nZWRdXSBhcyB3ZWxsLlxyXG4gID4gICAgICAvLyBBc3N1bWUgb3JkZXIgaXMgYSBwcmVleGlzdGluZyAnb3JkZXInIGVudGl0eVxyXG4gID4gICAgICBvcmRlci5lbnRpdHlBc3BlY3QucHJvcGVydHlDaGFuZ2VkLnN1YnNjcmliZShmdW5jdGlvbiAocGNFdmVudCkge1xyXG4gID4gICAgICAgICAgaWYgKCBwY0V2ZW50LnByb3BlcnR5TmFtZSA9PT0gXCJPcmRlckRhdGVcIikge1xyXG4gID4gICAgICAgICAgICAgIC8vIGRvIHNvbWV0aGluZ1xyXG4gID4gICAgICAgICAgfVxyXG4gID4gICAgICB9KTtcclxuICBAcGFyYW0gY2FsbGJhY2stIEZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuZXZlciAnZGF0YScgaXMgcHVibGlzaGVkIGZvciB0aGlzIGV2ZW50LlxyXG4gIEBwYXJhbSBjYWxsYmFjay5kYXRhIC0ge09iamVjdH0gV2hhdGV2ZXIgJ2RhdGEnIHdhcyBwdWJsaXNoZWQuICBUaGlzIHNob3VsZCBiZSBkb2N1bWVudGVkIG9uIHRoZSBzcGVjaWZpYyBldmVudC5cclxuICBAcmV0dXJuIFRoaXMgaXMgYSBrZXkgZm9yICd1bnN1YnNjcmlwdGlvbicuICBJdCBjYW4gYmUgcGFzc2VkIHRvIHRoZSAndW5zdWJzY3JpYmUnIG1ldGhvZC5cclxuICAqKi9cclxuICBzdWJzY3JpYmUoY2FsbGJhY2s6IChkYXRhOiBUKSA9PiBhbnkpIHtcclxuICAgIGlmICghdGhpcy5fc3Vic2NyaWJlcnMpIHtcclxuICAgICAgdGhpcy5fc3Vic2NyaWJlcnMgPSBbXTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgdW5zdWJLZXkgPSBCcmVlemVFdmVudC5fX25leHRVbnN1YktleTtcclxuICAgIHRoaXMuX3N1YnNjcmliZXJzLnB1c2goeyB1bnN1YktleTogdW5zdWJLZXksIGNhbGxiYWNrOiBjYWxsYmFjayB9KTtcclxuICAgICsrQnJlZXplRXZlbnQuX19uZXh0VW5zdWJLZXk7XHJcbiAgICByZXR1cm4gdW5zdWJLZXk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICBVbnN1YnNjcmliZSBmcm9tIHRoaXMgZXZlbnQuXHJcbiAgPiAgICAgIC8vIEFzc3VtZSBvcmRlciBpcyBhIHByZWV4aXN0aW5nICdvcmRlcicgZW50aXR5XHJcbiAgPiAgICAgIGxldCB0b2tlbiA9IG9yZGVyLmVudGl0eUFzcGVjdC5wcm9wZXJ0eUNoYW5nZWQuc3Vic2NyaWJlKGZ1bmN0aW9uIChwY0V2ZW50KSB7XHJcbiAgPiAgICAgICAgICAgICAgLy8gZG8gc29tZXRoaW5nXHJcbiAgPiAgICAgIH0pO1xyXG4gID4gICAgICAvLyBzb21ldGltZSBsYXRlclxyXG4gID4gICAgICBvcmRlci5lbnRpdHlBc3BlY3QucHJvcGVydHlDaGFuZ2VkLnVuc3Vic2NyaWJlKHRva2VuKTtcclxuICBAcGFyYW0gdW5zdWJLZXkgLSBUaGUgdmFsdWUgcmV0dXJuZWQgZnJvbSB0aGUgJ3N1YnNjcmliZScgbWV0aG9kIG1heSBiZSB1c2VkIHRvIHVuc3Vic2NyaWJlIGhlcmUuXHJcbiAgQHJldHVybiBXaGV0aGVyIHVuc3Vic2NyaXB0aW9uIG9jY3VyZWQuIFRoaXMgd2lsbCByZXR1cm4gZmFsc2UgaWYgYWxyZWFkeSB1bnN1YnNjcmliZWQgb3IgaWYgdGhlIGtleSBzaW1wbHlcclxuICBjYW5ub3QgYmUgZm91bmQuXHJcbiAgKiovXHJcbiAgdW5zdWJzY3JpYmUgPSBmdW5jdGlvbiAodW5zdWJLZXk6IG51bWJlcikge1xyXG4gICAgaWYgKCF0aGlzLl9zdWJzY3JpYmVycykgcmV0dXJuIGZhbHNlO1xyXG4gICAgbGV0IHN1YnMgPSB0aGlzLl9zdWJzY3JpYmVycztcclxuICAgIGxldCBpeCA9IGNvcmUuYXJyYXlJbmRleE9mKHN1YnMsIGZ1bmN0aW9uIChzKSB7XHJcbiAgICAgIHJldHVybiBzLnVuc3ViS2V5ID09PSB1bnN1YktleTtcclxuICAgIH0pO1xyXG4gICAgaWYgKGl4ICE9PSAtMSkge1xyXG4gICAgICBzdWJzLnNwbGljZShpeCwgMSk7XHJcbiAgICAgIGlmIChzdWJzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHRoaXMuX3N1YnNjcmliZXJzID0gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICAvKiogcmVtb3ZlIGFsbCBzdWJzY3JpYmVycyAqL1xyXG4gIGNsZWFyKCkge1xyXG4gICAgdGhpcy5fc3Vic2NyaWJlcnMgPSA8YW55Pm51bGw7XHJcbiAgfVxyXG5cclxuICAvKiogZXZlbnQgYnViYmxpbmcgLSBkb2N1bWVudCBsYXRlci4gKi9cclxuXHJcbiAgLy8gbnVsbCBvciB1bmRlZmluZWQgJ2dldFBhcmVudEZuJyBtZWFucyBFdmVudCBkb2VzIG5vdCBuZWVkIHRvIGJ1YmJsZSBpLmUuIHRoYXQgaXQgaXMgYWx3YXlzIGVuYWJsZWQgLSAuXHJcbiAgc3RhdGljIGJ1YmJsZUV2ZW50KHRhcmdldDogYW55LCBnZXRQYXJlbnRGbj86ICgoKSA9PiBhbnkpKSB7XHJcbiAgICB0YXJnZXQuX2dldEV2ZW50UGFyZW50ID0gZ2V0UGFyZW50Rm4gfHwgbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gIEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIG5hbWVkIGV2ZW50IGZvciBhbiBvYmplY3QgYW5kIGFsbCBvZiBpdHMgY2hpbGRyZW4uXHJcbiAgPiAgICAgIEJyZWV6ZUV2ZW50LmVuYWJsZSjigJxwcm9wZXJ0eUNoYW5nZWTigJ0sIG15RW50aXR5TWFuYWdlciwgZmFsc2UpXHJcblxyXG4gIHdpbGwgZGlzYWJsZSBhbGwgRW50aXR5QXNwZWN0LnByb3BlcnR5Q2hhbmdlZCBldmVudHMgd2l0aGluIGEgRW50aXR5TWFuYWdlci5cclxuICA+ICAgICAgQnJlZXplRXZlbnQuZW5hYmxlKOKAnHByb3BlcnR5Q2hhbmdlZOKAnSwgbXlFbnRpdHlNYW5hZ2VyLCB0cnVlKVxyXG5cclxuICB3aWxsIGVuYWJsZSBhbGwgRW50aXR5QXNwZWN0LnByb3BlcnR5Q2hhbmdlZCBldmVudHMgd2l0aGluIGEgRW50aXR5TWFuYWdlci5cclxuICA+ICAgICAgQnJlZXplRXZlbnQuZW5hYmxlKOKAnHByb3BlcnR5Q2hhbmdlZOKAnSwgbXlFbnRpdHkuZW50aXR5QXNwZWN0LCBmYWxzZSlcclxuXHJcbiAgd2lsbCBkaXNhYmxlIEVudGl0eUFzcGVjdC5wcm9wZXJ0eUNoYW5nZWQgZXZlbnRzIGZvciBhIHNwZWNpZmljIGVudGl0eS5cclxuICA+ICAgICAgQnJlZXplRXZlbnQuZW5hYmxlKOKAnHByb3BlcnR5Q2hhbmdlZOKAnSwgbXlFbnRpdHkuZW50aXR5QXNwZWN0LCBudWxsKVxyXG5cclxuICB3aWxsIHJlbW92ZXMgYW55IGVuYWJsaW5nIC8gZGlzYWJsaW5nIGF0IHRoZSBlbnRpdHkgYXNwZWN0IGxldmVsIHNvIG5vdyBhbnkgJ0V2ZW50LmVuYWJsZScgY2FsbHMgYXQgdGhlIEVudGl0eU1hbmFnZXIgbGV2ZWwsXHJcbiAgbWFkZSBlaXRoZXIgcHJldmlvdXNseSBvciBpbiB0aGUgZnV0dXJlLCB3aWxsIGNvbnRyb2wgbm90aWZpY2F0aW9uLlxyXG4gID4gICAgICBCcmVlemVFdmVudC5lbmFibGUo4oCcdmFsaWRhdGlvbkVycm9yc0NoYW5nZWTigJ0sIG15RW50aXR5TWFuYWdlciwgZnVuY3Rpb24oZW0pIHtcclxuICA+ICAgICAgICAgIHJldHVybiBlbS5jdXN0b21UYWcgPT09IOKAnGJsdWXigJ07XHJcbiAgPiAgICAgIH0pXHJcblxyXG5cclxuICB3aWxsIGVpdGhlciBlbmFibGUgb3IgZGlzYWJsZSBteUVudGl0eU1hbmFnZXIgYmFzZWQgb24gdGhlIGN1cnJlbnQgdmFsdWUgb2YgYSDigJhjdXN0b21UYWfigJkgcHJvcGVydHkgb24gbXlFbnRpdHlNYW5hZ2VyLlxyXG4gIE5vdGUgdGhhdCB0aGlzIGlzIGR5bmFtaWMsIGNoYW5naW5nIHRoZSBjdXN0b21UYWcgdmFsdWUgd2lsbCBjYXVzZSBldmVudHMgdG8gYmUgZW5hYmxlZCBvciBkaXNhYmxlZCBpbW1lZGlhdGVseS5cclxuICBAcGFyYW0gZXZlbnROYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGV2ZW50LlxyXG4gIEBwYXJhbSB0YXJnZXQgLSBUaGUgb2JqZWN0IGF0IHdoaWNoIGVuYWJsaW5nIG9yIGRpc2FibGluZyB3aWxsIG9jY3VyLiAgQWxsIGV2ZW50IG5vdGlmaWNhdGlvbnMgdGhhdCBvY2N1ciB0byB0aGlzIG9iamVjdCBvclxyXG4gIGNoaWxkcmVuIG9mIHRoaXMgb2JqZWN0IHdpbGwgYmUgZW5hYmxlZCBvciBkaXNhYmxlZC5cclxuICBAcGFyYW0gaXNFbmFibGVkIC0gQSBib29sZWFuLCBhIG51bGwgb3IgYSBmdW5jdGlvbiB0aGF0IHJldHVybnMgZWl0aGVyIGEgYm9vbGVhbiBvciBhIG51bGwuXHJcbiAgKiovXHJcbiBzdGF0aWMgZW5hYmxlKGV2ZW50TmFtZTogc3RyaW5nLCBvYmo6IE9iamVjdCwgaXNFbmFibGVkOiBib29sZWFuIHwgKCh4OiBhbnkpID0+IGJvb2xlYW4pKSB7XHJcbiAgICBhc3NlcnRQYXJhbShldmVudE5hbWUsIFwiZXZlbnROYW1lXCIpLmlzTm9uRW1wdHlTdHJpbmcoKS5jaGVjaygpO1xyXG4gICAgYXNzZXJ0UGFyYW0ob2JqLCBcIm9ialwiKS5pc09iamVjdCgpLmNoZWNrKCk7XHJcbiAgICBhc3NlcnRQYXJhbShpc0VuYWJsZWQsIFwiaXNFbmFibGVkXCIpLmlzQm9vbGVhbigpLmlzT3B0aW9uYWwoKS5vcigpLmlzRnVuY3Rpb24oKS5jaGVjaygpO1xyXG4gICAgbGV0IG9iID0gPGFueT5vYmo7XHJcbiAgICBpZiAoIW9iLl8kZXZlbnRNYXApIHtcclxuICAgICAgb2IuXyRldmVudE1hcCA9IHt9O1xyXG4gICAgfVxyXG4gICAgb2IuXyRldmVudE1hcFtldmVudE5hbWVdID0gaXNFbmFibGVkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgUmV0dXJucyB3aGV0aGVyIGZvciBhIHNwZWNpZmljIGV2ZW50IGFuZCBhIHNwZWNpZmljIG9iamVjdCBhbmQgaXRzIGNoaWxkcmVuLCBub3RpZmljYXRpb24gaXMgZW5hYmxlZCBvciBkaXNhYmxlZCBvciBub3Qgc2V0LlxyXG4gID4gICAgICBCcmVlemVFdmVudC5pc0VuYWJsZWQo4oCccHJvcGVydHlDaGFuZ2Vk4oCdLCBteUVudGl0eU1hbmFnZXIpXHJcbiAgPiBcclxuICBAcGFyYW0gZXZlbnROYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGV2ZW50LlxyXG4gIEBwYXJhbSB0YXJnZXQgLSBUaGUgb2JqZWN0IGZvciB3aGljaCB3ZSB3YW50IHRvIGtub3cgaWYgbm90aWZpY2F0aW9ucyBhcmUgZW5hYmxlZC5cclxuICBAcmV0dXJuIEEgbnVsbCBpcyByZXR1cm5lZCBpZiB0aGlzIHZhbHVlIGhhcyBub3QgYmVlbiBzZXQuXHJcbiAgKiovXHJcbiAgc3RhdGljIGlzRW5hYmxlZChldmVudE5hbWU6IHN0cmluZywgb2JqOiBPYmplY3QpIHtcclxuICAgIGFzc2VydFBhcmFtKGV2ZW50TmFtZSwgXCJldmVudE5hbWVcIikuaXNOb25FbXB0eVN0cmluZygpLmNoZWNrKCk7XHJcbiAgICBhc3NlcnRQYXJhbShvYmosIFwib2JqXCIpLmlzT2JqZWN0KCkuY2hlY2soKTtcclxuICAgIC8vIG51bGwgaXMgb2sgLSBpdCBqdXN0IG1lYW5zIHRoYXQgdGhlIG9iamVjdCBpcyBhdCB0aGUgdG9wIGxldmVsLlxyXG4gICAgaWYgKCg8YW55Pm9iaikuX2dldEV2ZW50UGFyZW50ID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVGhpcyBvYmplY3QgZG9lcyBub3Qgc3VwcG9ydCBldmVudCBlbmFibGluZy9kaXNhYmxpbmdcIik7XHJcbiAgICB9XHJcbiAgICAvLyByZXR1cm4gY3Rvci5faXNFbmFibGVkKGdldEZ1bGxFdmVudE5hbWUoZXZlbnROYW1lKSwgb2JqKTtcclxuICAgIHJldHVybiBCcmVlemVFdmVudC5faXNFbmFibGVkKGV2ZW50TmFtZSwgMyk7XHJcbiAgfVxyXG5cclxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cclxuICBzdGF0aWMgX2lzRW5hYmxlZCA9IGZ1bmN0aW9uIChldmVudE5hbWU6IHN0cmluZywgb2JqOiBPYmplY3QpIHtcclxuICAgIGxldCBpc0VuYWJsZWQ6IGFueSA9IG51bGw7XHJcbiAgICBsZXQgb2IgPSA8YW55Pm9iajtcclxuICAgIGxldCBldmVudE1hcCA9IG9iLl8kZXZlbnRNYXA7XHJcbiAgICBpZiAoZXZlbnRNYXApIHtcclxuICAgICAgaXNFbmFibGVkID0gZXZlbnRNYXBbZXZlbnROYW1lXTtcclxuICAgIH1cclxuICAgIGlmIChpc0VuYWJsZWQgIT0gbnVsbCkge1xyXG4gICAgICBpZiAodHlwZW9mIGlzRW5hYmxlZCA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgIHJldHVybiAhIWlzRW5hYmxlZChvYmopO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiAhIWlzRW5hYmxlZDtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGV0IHBhcmVudCA9IG9iLl9nZXRFdmVudFBhcmVudCAmJiBvYi5fZ2V0RXZlbnRQYXJlbnQoKTtcclxuICAgICAgaWYgKHBhcmVudCkge1xyXG4gICAgICAgIHJldHVybiAhIXRoaXMuX2lzRW5hYmxlZChldmVudE5hbWUsIHBhcmVudCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gZGVmYXVsdCBpZiBub3QgZXhwbGljaXRseSBkaXNhYmxlZC5cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH07XHJcblxyXG5cclxufVxyXG5cclxuLy8gbGVnYWN5IHN1cHBvcnQgLSBkZWxpYmVyYXRlbHkgbm90IHR5cGVkXHJcbihjb3JlIGFzIGFueSkuRXZlbnQgPSBCcmVlemVFdmVudDsiXX0=
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { core } from './core';
|
|
2
|
+
import { assertConfig } from './assert-param';
|
|
3
|
+
import { config, InterfaceDef } from './config';
|
|
4
|
+
/** Registers adapters used by Breeze */
|
|
5
|
+
export class InterfaceRegistry {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.ajax = new InterfaceDef("ajax");
|
|
8
|
+
this.modelLibrary = new InterfaceDef("modelLibrary");
|
|
9
|
+
this.dataService = new InterfaceDef("dataService");
|
|
10
|
+
this.uriBuilder = new InterfaceDef("uriBuilder");
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
config.interfaceRegistry = new InterfaceRegistry();
|
|
14
|
+
config._interfaceRegistry = config.interfaceRegistry;
|
|
15
|
+
config.interfaceRegistry.modelLibrary.getDefaultInstance = function () {
|
|
16
|
+
if (!this.defaultInstance) {
|
|
17
|
+
throw new Error("Unable to locate the default implementation of the '" + this.name +
|
|
18
|
+
"' interface. Possible options are 'ko', 'backingStore' or 'backbone'. See the breeze.config.initializeAdapterInstances method.");
|
|
19
|
+
}
|
|
20
|
+
return this.defaultInstance;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
Initializes a collection of adapter implementations and makes each one the default for its corresponding interface.
|
|
24
|
+
@method initializeAdapterInstances
|
|
25
|
+
@param config {Object}
|
|
26
|
+
@param [config.ajax] {String} - the name of a previously registered "ajax" adapter
|
|
27
|
+
@param [config.dataService] {String} - the name of a previously registered "dataService" adapter
|
|
28
|
+
@param [config.modelLibrary] {String} - the name of a previously registered "modelLibrary" adapter
|
|
29
|
+
@param [config.uriBuilder] {String} - the name of a previously registered "uriBuilder" adapter
|
|
30
|
+
@return [array of instances]
|
|
31
|
+
**/
|
|
32
|
+
config.initializeAdapterInstances = function (irConfig) {
|
|
33
|
+
assertConfig(irConfig)
|
|
34
|
+
.whereParam("dataService").isOptional()
|
|
35
|
+
.whereParam("modelLibrary").isOptional()
|
|
36
|
+
.whereParam("ajax").isOptional()
|
|
37
|
+
.whereParam("uriBuilder").isOptional()
|
|
38
|
+
.applyAll(this, false);
|
|
39
|
+
return core.objectMap(config, this.initializeAdapterInstance);
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLXJlZ2lzdHJ5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYnJlZXplLWNsaWVudC8iLCJzb3VyY2VzIjpbInNyYy9pbnRlcmZhY2UtcmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWUsTUFBTSxVQUFVLENBQUM7QUFlN0Qsd0NBQXdDO0FBQ3hDLE1BQU0sT0FBTyxpQkFBaUI7SUFBOUI7UUFDSSxTQUFJLEdBQUcsSUFBSSxZQUFZLENBQWMsTUFBTSxDQUFDLENBQUM7UUFDN0MsaUJBQVksR0FBRyxJQUFJLFlBQVksQ0FBc0IsY0FBYyxDQUFDLENBQUM7UUFDckUsZ0JBQVcsR0FBRyxJQUFJLFlBQVksQ0FBcUIsYUFBYSxDQUFDLENBQUM7UUFDbEUsZUFBVSxHQUFHLElBQUksWUFBWSxDQUFvQixZQUFZLENBQUMsQ0FBQztJQUNuRSxDQUFDO0NBQUE7QUF1QkQsTUFBTSxDQUFDLGlCQUFpQixHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztBQUNuRCxNQUFNLENBQUMsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDO0FBQ3JELE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsa0JBQWtCLEdBQUc7SUFDdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7UUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzREFBc0QsR0FBRyxJQUFJLENBQUMsSUFBSTtZQUM5RSxpSUFBaUksQ0FBQyxDQUFDO0tBQzFJO0lBQ0QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0FBQ2hDLENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sQ0FBQywwQkFBMEIsR0FBRyxVQUFVLFFBQWlDO0lBQzNFLFlBQVksQ0FBQyxRQUFRLENBQUM7U0FDakIsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFVBQVUsRUFBRTtTQUN0QyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUMsVUFBVSxFQUFFO1NBQ3ZDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLEVBQUU7U0FDL0IsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLFVBQVUsRUFBRTtTQUNyQyxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzNCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFDbEUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29yZSB9IGZyb20gJy4vY29yZSc7XHJcbmltcG9ydCB7IGFzc2VydENvbmZpZyB9IGZyb20gJy4vYXNzZXJ0LXBhcmFtJztcclxuaW1wb3J0IHsgY29uZmlnLCBJbnRlcmZhY2VEZWYsIEJhc2VBZGFwdGVyIH0gZnJvbSAnLi9jb25maWcnO1xyXG5pbXBvcnQgeyBNYXBwaW5nQ29udGV4dCB9IGZyb20gJy4vbWFwcGluZy1jb250ZXh0JztcclxuaW1wb3J0IHsgRW50aXR5UXVlcnkgfSBmcm9tICcuL2VudGl0eS1xdWVyeSc7XHJcbmltcG9ydCB7IE1ldGFkYXRhU3RvcmUgfSBmcm9tICcuL2VudGl0eS1tZXRhZGF0YSc7XHJcbmltcG9ydCB7IEpzb25SZXN1bHRzQWRhcHRlciwgRGF0YVNlcnZpY2UgfSBmcm9tICcuL2RhdGEtc2VydmljZSc7XHJcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gJy4vZW50aXR5LWFzcGVjdCc7XHJcbmltcG9ydCB7IFNhdmVDb250ZXh0LCBTYXZlQnVuZGxlLCBRdWVyeVJlc3VsdCwgU2F2ZVJlc3VsdCwgSHR0cFJlc3BvbnNlIH0gZnJvbSAnLi9lbnRpdHktbWFuYWdlcic7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEludGVyZmFjZVJlZ2lzdHJ5Q29uZmlnIHtcclxuICAgIGFqYXg/OiBJbnRlcmZhY2VEZWY8QWpheEFkYXB0ZXI+O1xyXG4gICAgbW9kZWxMaWJyYXJ5PzogSW50ZXJmYWNlRGVmPE1vZGVsTGlicmFyeUFkYXB0ZXI+O1xyXG4gICAgZGF0YVNlcnZpY2U/OiBJbnRlcmZhY2VEZWY8RGF0YVNlcnZpY2VBZGFwdGVyPjtcclxuICAgIHVyaUJ1aWxkZXI/OiBJbnRlcmZhY2VEZWY8VXJpQnVpbGRlckFkYXB0ZXI+O1xyXG59XHJcblxyXG4vKiogUmVnaXN0ZXJzIGFkYXB0ZXJzIHVzZWQgYnkgQnJlZXplICovXHJcbmV4cG9ydCBjbGFzcyBJbnRlcmZhY2VSZWdpc3RyeSB7XHJcbiAgICBhamF4ID0gbmV3IEludGVyZmFjZURlZjxBamF4QWRhcHRlcj4oXCJhamF4XCIpO1xyXG4gICAgbW9kZWxMaWJyYXJ5ID0gbmV3IEludGVyZmFjZURlZjxNb2RlbExpYnJhcnlBZGFwdGVyPihcIm1vZGVsTGlicmFyeVwiKTtcclxuICAgIGRhdGFTZXJ2aWNlID0gbmV3IEludGVyZmFjZURlZjxEYXRhU2VydmljZUFkYXB0ZXI+KFwiZGF0YVNlcnZpY2VcIik7XHJcbiAgICB1cmlCdWlsZGVyID0gbmV3IEludGVyZmFjZURlZjxVcmlCdWlsZGVyQWRhcHRlcj4oXCJ1cmlCdWlsZGVyXCIpO1xyXG59XHJcblxyXG4vLyBUaGlzIG1vZHVsZSBkZXNjcmliZXMgdGhlIGludGVyZmFjZVJlZ2lzdHJ5IGJ5IGV4dGVuZGluZyBjb25maWdcclxuLyoqIEBoaWRkZW4gQGludGVybmFsICovXHJcbmRlY2xhcmUgbW9kdWxlIFwiLi9jb25maWdcIiB7XHJcbiAgICBpbnRlcmZhY2UgQnJlZXplQ29uZmlnIHtcclxuICAgICAgICAvKipcclxuICAgICAgICBJbml0aWFsaXplcyBhIGNvbGxlY3Rpb24gb2YgYWRhcHRlciBpbXBsZW1lbnRhdGlvbnMgYW5kIG1ha2VzIGVhY2ggb25lIHRoZSBkZWZhdWx0IGZvciBpdHMgY29ycmVzcG9uZGluZyBpbnRlcmZhY2UuXHJcbiAgICAgICAgQG1ldGhvZCBpbml0aWFsaXplQWRhcHRlckluc3RhbmNlc1xyXG4gICAgICAgIEBwYXJhbSBjb25maWcge09iamVjdH1cclxuICAgICAgICBAcGFyYW0gW2NvbmZpZy5hamF4XSB7U3RyaW5nfSAtIHRoZSBuYW1lIG9mIGEgcHJldmlvdXNseSByZWdpc3RlcmVkIFwiYWpheFwiIGFkYXB0ZXJcclxuICAgICAgICBAcGFyYW0gW2NvbmZpZy5kYXRhU2VydmljZV0ge1N0cmluZ30gLSB0aGUgbmFtZSBvZiBhIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCBcImRhdGFTZXJ2aWNlXCIgYWRhcHRlclxyXG4gICAgICAgIEBwYXJhbSBbY29uZmlnLm1vZGVsTGlicmFyeV0ge1N0cmluZ30gLSB0aGUgbmFtZSBvZiBhIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCBcIm1vZGVsTGlicmFyeVwiIGFkYXB0ZXJcclxuICAgICAgICBAcGFyYW0gW2NvbmZpZy51cmlCdWlsZGVyXSB7U3RyaW5nfSAtIHRoZSBuYW1lIG9mIGEgcHJldmlvdXNseSByZWdpc3RlcmVkIFwidXJpQnVpbGRlclwiIGFkYXB0ZXJcclxuICAgICAgICBAcmV0dXJuIFthcnJheSBvZiBpbnN0YW5jZXNdXHJcbiAgICAgICAgKiovXHJcbiAgICAgICAgaW5pdGlhbGl6ZUFkYXB0ZXJJbnN0YW5jZXMoaXJDb25maWc6IEludGVyZmFjZVJlZ2lzdHJ5Q29uZmlnKTogdm9pZDtcclxuXHJcbiAgICAgICAgLy8gc3Ryb25nbHkgdHlwZWQgdmVyc2lvblxyXG4gICAgICAgIGludGVyZmFjZVJlZ2lzdHJ5OiBJbnRlcmZhY2VSZWdpc3RyeTtcclxuICAgIH1cclxufVxyXG5cclxuY29uZmlnLmludGVyZmFjZVJlZ2lzdHJ5ID0gbmV3IEludGVyZmFjZVJlZ2lzdHJ5KCk7XHJcbmNvbmZpZy5faW50ZXJmYWNlUmVnaXN0cnkgPSBjb25maWcuaW50ZXJmYWNlUmVnaXN0cnk7XHJcbmNvbmZpZy5pbnRlcmZhY2VSZWdpc3RyeS5tb2RlbExpYnJhcnkuZ2V0RGVmYXVsdEluc3RhbmNlID0gZnVuY3Rpb24oKSB7XHJcbiAgICBpZiAoIXRoaXMuZGVmYXVsdEluc3RhbmNlKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5hYmxlIHRvIGxvY2F0ZSB0aGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgJ1wiICsgdGhpcy5uYW1lICtcclxuICAgICAgICAgICAgXCInIGludGVyZmFjZS4gIFBvc3NpYmxlIG9wdGlvbnMgYXJlICdrbycsICdiYWNraW5nU3RvcmUnIG9yICdiYWNrYm9uZScuIFNlZSB0aGUgYnJlZXplLmNvbmZpZy5pbml0aWFsaXplQWRhcHRlckluc3RhbmNlcyBtZXRob2QuXCIpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdEluc3RhbmNlO1xyXG59O1xyXG5cclxuLyoqXHJcbkluaXRpYWxpemVzIGEgY29sbGVjdGlvbiBvZiBhZGFwdGVyIGltcGxlbWVudGF0aW9ucyBhbmQgbWFrZXMgZWFjaCBvbmUgdGhlIGRlZmF1bHQgZm9yIGl0cyBjb3JyZXNwb25kaW5nIGludGVyZmFjZS5cclxuQG1ldGhvZCBpbml0aWFsaXplQWRhcHRlckluc3RhbmNlc1xyXG5AcGFyYW0gY29uZmlnIHtPYmplY3R9XHJcbkBwYXJhbSBbY29uZmlnLmFqYXhdIHtTdHJpbmd9IC0gdGhlIG5hbWUgb2YgYSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgXCJhamF4XCIgYWRhcHRlclxyXG5AcGFyYW0gW2NvbmZpZy5kYXRhU2VydmljZV0ge1N0cmluZ30gLSB0aGUgbmFtZSBvZiBhIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCBcImRhdGFTZXJ2aWNlXCIgYWRhcHRlclxyXG5AcGFyYW0gW2NvbmZpZy5tb2RlbExpYnJhcnldIHtTdHJpbmd9IC0gdGhlIG5hbWUgb2YgYSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgXCJtb2RlbExpYnJhcnlcIiBhZGFwdGVyXHJcbkBwYXJhbSBbY29uZmlnLnVyaUJ1aWxkZXJdIHtTdHJpbmd9IC0gdGhlIG5hbWUgb2YgYSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgXCJ1cmlCdWlsZGVyXCIgYWRhcHRlclxyXG5AcmV0dXJuIFthcnJheSBvZiBpbnN0YW5jZXNdXHJcbioqL1xyXG5jb25maWcuaW5pdGlhbGl6ZUFkYXB0ZXJJbnN0YW5jZXMgPSBmdW5jdGlvbiAoaXJDb25maWc6IEludGVyZmFjZVJlZ2lzdHJ5Q29uZmlnKSB7XHJcbiAgICBhc3NlcnRDb25maWcoaXJDb25maWcpXHJcbiAgICAgICAgLndoZXJlUGFyYW0oXCJkYXRhU2VydmljZVwiKS5pc09wdGlvbmFsKClcclxuICAgICAgICAud2hlcmVQYXJhbShcIm1vZGVsTGlicmFyeVwiKS5pc09wdGlvbmFsKClcclxuICAgICAgICAud2hlcmVQYXJhbShcImFqYXhcIikuaXNPcHRpb25hbCgpXHJcbiAgICAgICAgLndoZXJlUGFyYW0oXCJ1cmlCdWlsZGVyXCIpLmlzT3B0aW9uYWwoKVxyXG4gICAgICAgIC5hcHBseUFsbCh0aGlzLCBmYWxzZSk7XHJcbiAgICByZXR1cm4gY29yZS5vYmplY3RNYXAoY29uZmlnLCB0aGlzLmluaXRpYWxpemVBZGFwdGVySW5zdGFuY2UpO1xyXG59O1xyXG5cclxuLyoqIERhdGFTZXJ2aWNlQWRhcHRlciBBamF4IHJlcXVlc3QgY29uZmlndXJhdGlvbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEFqYXhDb25maWcge1xyXG4gICAgdXJsOiBzdHJpbmc7XHJcbiAgICAvKiogR0VULCBQT1NULCBldGMuICovXHJcbiAgICB0eXBlPzogc3RyaW5nO1xyXG4gICAgLyoqIGpzb24sIGV0Yy4gKi9cclxuICAgIGRhdGFUeXBlPzogc3RyaW5nO1xyXG4gICAgY29udGVudFR5cGU/OiBzdHJpbmc7XHJcbiAgICBjcm9zc0RvbWFpbj86IHN0cmluZyB8IGJvb2xlYW47XHJcbiAgICBoZWFkZXJzPzoge307XHJcbiAgICBkYXRhPzogYW55O1xyXG4gICAgcGFyYW1zPzoge307XHJcbiAgICBzdWNjZXNzOiAocmVzOiBIdHRwUmVzcG9uc2UpID0+IHZvaWQ7XHJcbiAgICBlcnJvcjogKHJlczogKEh0dHBSZXNwb25zZSB8IEVycm9yKSkgPT4gdm9pZDtcclxufVxyXG5cclxuLyoqIFJlcXVlc3Qgc2VudCBieSBBamF4QWRhcHRlciAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEFqYXhSZXF1ZXN0IHtcclxuICAgIC8qKiBBamF4QWRhcHRlciB0aGF0IGluaXRpYXRlZCB0aGUgcmVxdWVzdCAqL1xyXG4gICAgYWRhcHRlcjogQWpheEFkYXB0ZXI7XHJcbiAgICAvKiogUmVxdWVzdCBjb25maWd1cmF0aW9uICovXHJcbiAgICBjb25maWc6IFJlcXVlc3RJbml0O1xyXG4gICAgLyoqIGNvbmZpZyBmcm9tIHRoZSBEYXRhU2VydmljZUFkYXB0ZXIgdGhhdCBjYWxsZWQgdGhlIEFqYXhBZGFwdGVyICovXHJcbiAgICBkc2FDb25maWc6IEFqYXhDb25maWc7XHJcbiAgICAvKiogRnVuY3Rpb24gY2FsbGVkIG9uIHJlc3BvbnNlIGVycm9yICovXHJcbiAgICBlcnJvcjogKHN0YXR1czogbnVtYmVyLCBzdGF0dXNUZXh0OiBzdHJpbmcsIGJvZHk6IHN0cmluZywgcmVzcG9uc2U6IFJlc3BvbnNlLCBlcnJvclRocm93bjogYW55KSA9PiB2b2lkO1xyXG4gICAgLyoqIEZ1bmN0aW9uIGNhbGxlZCBvbiByZXNwb25zZSBzdWNjZXNzICovXHJcbiAgICBzdWNjZXNzOiAoZGF0YTogYW55LCBzdGF0dXNUZXh0OiBzdHJpbmcsIHJlc3BvbnNlOiBSZXNwb25zZSkgPT4gdm9pZDtcclxufVxyXG5cclxuLyoqIEhhbmRsZXMgQUpBWCByZXF1ZXN0cyB0byBzZXJ2ZXIgKi9cclxuZXhwb3J0IGludGVyZmFjZSBBamF4QWRhcHRlciBleHRlbmRzIEJhc2VBZGFwdGVyIHtcclxuICAgIC8qKiBGdW5jdGlvbiB0aGF0IHBlcmZvcm1zIHRoZSBhamF4IHJlcXVlc3QgYW5kIGNhbGxzIHRoZSBzdWNjZXNzIG9yIGVycm9yIGZ1bmN0aW9uICovXHJcbiAgICBhamF4KGNvbmZpZzogQWpheENvbmZpZyk6IHZvaWQ7XHJcbiAgICAvKiogQ29udGFpbmVyIGZvciBoZWFkZXJzIHRvIGJlIGFkZGVkIHRvIGVhY2ggcmVxdWVzdCAqL1xyXG4gICAgZGVmYXVsdFNldHRpbmdzOiB7IGhlYWRlcnM/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfSB9O1xyXG4gICAgLyoqIEZ1bmN0aW9uIHRvIGFsbG93IG1hbmlwdWxhdGluZyB0aGUgcmVxdWVzdCBiZWZvcmUgc2VuZGluZyAqL1xyXG4gICAgcmVxdWVzdEludGVyY2VwdG9yPzogKHJlcTogQWpheFJlcXVlc3QpID0+IHZvaWQ7XHJcbn1cclxuXHJcbi8qKiBBZGFwdHMgYnJlZXplIGNoYW5nZS10cmFja2luZyB0byB0aGUgVUkgZnJhbWV3b3JrICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgTW9kZWxMaWJyYXJ5QWRhcHRlciBleHRlbmRzIEJhc2VBZGFwdGVyIHtcclxuICAgIGdldFRyYWNrYWJsZVByb3BlcnR5TmFtZXM6IChlbnRpdHk6IGFueSkgPT4gc3RyaW5nW107XHJcbiAgICBpbml0aWFsaXplRW50aXR5UHJvdG90eXBlKHByb3RvOiBPYmplY3QpOiB2b2lkO1xyXG4gICAgc3RhcnRUcmFja2luZyhlbnRpdHk6IGFueSwgZW50aXR5Q3RvcjogRnVuY3Rpb24pOiB2b2lkO1xyXG4gICAgY3JlYXRlQ3Rvcj86IEZ1bmN0aW9uO1xyXG59XHJcblxyXG4vKiogUmVzaGFwZXMgZGF0YSBtb3ZpbmcgYmV0d2VlbiBicmVlemUgYW5kIHNlcnZlciAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIERhdGFTZXJ2aWNlQWRhcHRlciBleHRlbmRzIEJhc2VBZGFwdGVyIHtcclxuICAgIGZldGNoTWV0YWRhdGEobWV0YWRhdGFTdG9yZTogTWV0YWRhdGFTdG9yZSwgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlKTogUHJvbWlzZTxhbnk+OyAgLy8gcmVzdWx0IG9mIFByb21pc2UgaXMgZWl0aGVyIHJhd01ldGFkYXRhIG9yIGEgc3RyaW5nIGV4cGxhaW5pbmcgd2h5IG5vdC5cclxuICAgIGV4ZWN1dGVRdWVyeShtYXBwaW5nQ29udGV4dDogTWFwcGluZ0NvbnRleHQpOiBQcm9taXNlPFF1ZXJ5UmVzdWx0PjsgICAvLyByZXN1bHQgb2YgZXhlY3V0ZVF1ZXJ5IHdpbGwgZ2V0IHBhc3NlZCB0byBKc29uUmVzdWx0c0FkYXB0ZXIgZXh0cmFjdFJlc3VsdHMgbWV0aG9kXHJcbiAgICBzYXZlQ2hhbmdlcyhzYXZlQ29udGV4dDogU2F2ZUNvbnRleHQsIHNhdmVCdW5kbGU6IFNhdmVCdW5kbGUpOiBQcm9taXNlPFNhdmVSZXN1bHQ+O1xyXG4gICAgY2hhbmdlUmVxdWVzdEludGVyY2VwdG9yOiBDaGFuZ2VSZXF1ZXN0SW50ZXJjZXB0b3JDdG9yO1xyXG4gICAganNvblJlc3VsdHNBZGFwdGVyOiBKc29uUmVzdWx0c0FkYXB0ZXI7XHJcbn1cclxuXHJcbi8qKiBGdW5jdGlvbiBjYWxsZWQgYnkgQWpheEFkYXB0ZXIgYmVmb3JlIHNlbmRpbmcgcmVxdWVzdCAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEFqYXhSZXF1ZXN0SW50ZXJjZXB0b3Ige1xyXG4gICAgKHJlcTogQWpheFJlcXVlc3QpIDogdm9pZDtcclxuICAgIC8qKiBXaGV0aGVyIHRvIHJlbW92ZSB0aGUgaW50ZXJjZXB0b3IgYWZ0ZXIgaXQgaXMgY2FsbGVkICovXHJcbiAgICBvbmVUaW1lOiBib29sZWFuO1xyXG59XHJcblxyXG4vKiogQnVpbGRzIFVSSSBmb3IgcGVyZm9ybWluZyBxdWVyaWVzLiAgU2VyaWFsaXplcyB0aGUgRW50aXR5UXVlcnkgYWNjb3JkaW5nIHRvIHRoZSBVUkkgc3ludGF4LiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFVyaUJ1aWxkZXJBZGFwdGVyIGV4dGVuZHMgQmFzZUFkYXB0ZXIge1xyXG4gICAgYnVpbGRVcmkocXVlcnk6IEVudGl0eVF1ZXJ5LCBtZXRhZGF0YVN0b3JlOiBNZXRhZGF0YVN0b3JlKTogc3RyaW5nO1xyXG59XHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDaGFuZ2VSZXF1ZXN0SW50ZXJjZXB0b3JDdG9yIHtcclxuICAgIG5ldyAoc2F2ZUNvbnRleHQ6IFNhdmVDb250ZXh0LCBzYXZlQnVuZGxlOiBTYXZlQnVuZGxlKTogQ2hhbmdlUmVxdWVzdEludGVyY2VwdG9yO1xyXG59XHJcblxyXG4vKiogQWxsb3dzIG1hbmlwdWxhdGluZyBkYXRhIGluIERhdGFTZXJ2aWNlQWRhcHRlciBiZWZvcmUgc2VuZGluZyB0byBzZXJ2ZXIgKi9cclxuZXhwb3J0IGludGVyZmFjZSBDaGFuZ2VSZXF1ZXN0SW50ZXJjZXB0b3Ige1xyXG4gICAgb25lVGltZT86IGJvb2xlYW47XHJcbiAgICAvKipcclxuICAgICBQcmVwYXJlIGFuZCByZXR1cm4gdGhlIHNhdmUgZGF0YSBmb3IgYW4gZW50aXR5IGNoYW5nZS1zZXQuXHJcbiAgXHJcbiAgICAgVGhlIGFkYXB0ZXIgY2FsbHMgdGhpcyBtZXRob2QgZm9yIGVhY2ggZW50aXR5IGluIHRoZSBjaGFuZ2Utc2V0LFxyXG4gICAgIGFmdGVyIGl0IGhhcyBwcmVwYXJlZCBhIFwiY2hhbmdlIHJlcXVlc3RcIiBmb3IgdGhhdCBvYmplY3QuXHJcbiAgXHJcbiAgICAgVGhlIG1ldGhvZCBjYW4gZG8gYW55dGhpbmcgdG8gdGhlIHJlcXVlc3QgYnV0IGl0IG11c3QgcmV0dXJuIGEgdmFsaWQsIG5vbi1udWxsIHJlcXVlc3QuXHJcbiAgICAgQGV4YW1wbGVcclxuICAgICB0aGlzLmdldFJlcXVlc3QgPSBmdW5jdGlvbiAocmVxdWVzdCwgZW50aXR5LCBpbmRleCkge1xyXG4gICAgICAgICAgICAvLyBhbHRlciB0aGUgcmVxdWVzdCB0aGF0IHRoZSBhZGFwdGVyIHByZXBhcmVkIGZvciB0aGlzIGVudGl0eVxyXG4gICAgICAgICAgICAvLyBiYXNlZCBvbiB0aGUgZW50aXR5LCBzYXZlQ29udGV4dCwgYW5kIHNhdmVCdW5kbGVcclxuICAgICAgICAgICAgLy8gZS5nLiwgYWRkIGEgY3VzdG9tIGhlYWRlciBvciBwcnVuZSB0aGUgb3JpZ2luYWxWYWx1ZXNNYXBcclxuICAgICAgICAgICAgcmV0dXJuIHJlcXVlc3Q7XHJcbiAgICAgICAgfTtcclxuICAgICBAbWV0aG9kIGdldFJlcXVlc3RcclxuICAgICBAcGFyYW0gcmVxdWVzdCB7T2JqZWN0fSBUaGUgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgYWRhcHRlcidzIHJlcXVlc3QgdG8gc2F2ZSB0aGlzIGVudGl0eS5cclxuICAgICBAcGFyYW0gZW50aXR5IHtFbnRpdHl9IFRoZSBlbnRpdHktdG8tYmUtc2F2ZSBhcyBpdCBpcyBpbiBjYWNoZVxyXG4gICAgIEBwYXJhbSBpbmRleCB7SW50ZWdlcn0gVGhlIHplcm8tYmFzZWQgaW5kZXggb2YgdGhpcyBlbnRpdHkgaW4gdGhlIGNoYW5nZS1zZXQgYXJyYXlcclxuICAgICBAcmV0dXJuIHtGdW5jdGlvbn0gVGhlIHBvdGVudGlhbGx5IHJldmlzZWQgcmVxdWVzdC5cclxuICAgICAqKi9cclxuICAgIGdldFJlcXVlc3QocmVxdWVzdDogYW55LCBlbnRpdHk6IEVudGl0eSwgaW5kZXg6IG51bWJlcik6IGFueTtcclxuXHJcbiAgICAvKipcclxuICAgICBMYXN0IGNoYW5jZSB0byBjaGFuZ2UgYW55dGhpbmcgYWJvdXQgdGhlICdyZXF1ZXN0cycgYXJyYXlcclxuICAgICBhZnRlciBpdCBoYXMgYmVlbiBidWlsdCB3aXRoIHJlcXVlc3RzIGZvciBhbGwgb2YgdGhlIGVudGl0aWVzLXRvLWJlLXNhdmVkLlxyXG4gIFxyXG4gICAgIFRoZSAncmVxdWVzdHMnIGFycmF5IGlzIHRoZSBzYW1lIGFzICdzYXZlQnVuZGxlLmVudGl0aWVzJyBpbiBtYW55IGltcGxlbWVudGF0aW9uc1xyXG4gIFxyXG4gICAgIFRoaXMgbWV0aG9kIGNhbiBkbyBhbnl0aGluZyB0byB0aGUgYXJyYXkgaW5jbHVkaW5nIGFkZCBhbmQgcmVtb3ZlIHJlcXVlc3RzLlxyXG4gICAgIEl0J3MgdXAgdG8geW91IHRvIGVuc3VyZSB0aGF0IHNlcnZlciB3aWxsIGFjY2VwdCB0aGUgcmVxdWVzdHMgYXJyYXkgZGF0YSBhcyB2YWxpZC5cclxuICBcclxuICAgICBSZXR1cm5lZCB2YWx1ZSBpcyBpZ25vcmVkLlxyXG4gICAgIEBleGFtcGxlXHJcbiAgICAgdGhpcy5kb25lID0gZnVuY3Rpb24gKHJlcXVlc3RzKSB7XHJcbiAgICAgICAgICAgIC8vIGFsdGVyIHRoZSBhcnJheSBvZiByZXF1ZXN0cyByZXByZXNlbnRpbmcgdGhlIGVudGlyZSBjaGFuZ2Utc2V0XHJcbiAgICAgICAgICAgIC8vIGJhc2VkIG9uIHRoZSBzYXZlQ29udGV4dCBhbmQgc2F2ZUJ1bmRsZVxyXG4gICAgICAgIH07XHJcbiAgICAgQG1ldGhvZCBkb25lXHJcbiAgICAgQHBhcmFtIHJlcXVlc3RzIHtBcnJheSBvZiBPYmplY3R9IFRoZSBhZGFwdGVyJ3MgYXJyYXkgb2YgcmVxdWVzdCBmb3IgdGhpcyBjaGFuZ2VzZXQuXHJcbiAgICAgKiovXHJcbiAgICBkb25lKHJlcXVlc3RzOiBPYmplY3RbXSk6IHZvaWQ7XHJcbn0iXX0=
|