jaydata
Version:
Cross-platform HTML5 data-management, JavaScript Language Query (JSLQ) support for OData, SQLite, WebSQL, IndexedDB, YQL and Facebook (packaged for Node.JS)
15 lines • 81.2 kB
JavaScript
// JayData 1.5.10
// Dual licensed under MIT and GPL v2
// Copyright JayStack Technologies (http://jaydata.org/licensing)
//
// JayData is a standards-based, cross-platform Javascript library and a set of
// practices to access and manipulate data from various online and offline sources.
//
// Credits:
// Hajnalka Battancs, Dániel József, János Roden, László Horváth, Péter Nochta
// Péter Zentai, Róbert Bónay, Szabolcs Czinege, Viktor Borza, Viktor Lázár,
// Zoltán Gyebrovszki, Gábor Dolla
//
// More info: http://jaydata.org
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define("jaydata/odata",["jaydata/core"],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.$data=e()}}(function(){return function e(t,a,r){function n(o,s){if(!a[o]){if(!t[o]){var d="function"==typeof require&&require;if(!s&&d)return d(o,!0);if(i)return i(o,!0);var u=new Error("Cannot find module '"+o+"'");throw u.code="MODULE_NOT_FOUND",u}var p=a[o]={exports:{}};t[o][0].call(p.exports,function(e){var a=t[o][1][e];return n(a?a:e)},p,p.exports,e,t,a,r)}return a[o].exports}for(var i="function"==typeof require&&require,o=0;o<r.length;o++)n(r[o]);return n}({1:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a.strategy=void 0;var n=e("jaydata/core"),i=r(n),o={name:"batch",condition:function(e,t){var a=!1;if(a="undefined"!=typeof e.providerConfiguration.disableBatch?!!e.providerConfiguration.disableBatch:!!i["default"].defaults.OData.disableBatch,!a){var r=t.getItems();return r.length>1}return!1},save:function(e,t,a){var r=e,o=t.getItems(),s=o.map(function(e){return e.request.build().get()}),d=[{requestUri:r.providerConfiguration.oDataServiceHost+"/$batch",method:"POST",data:{__batchRequests:[{__changeRequests:s}]},headers:{}},function(e,o){if(200==o.statusCode||202==o.statusCode){for(var s=e.__batchResponses[0].__changeResponses,d=[],u=0;u<s.length;u++)if(s[u].statusCode>=200&&s[u].statusCode<300){var p=t.getByResponse(s[u],u);p instanceof i["default"].Entity&&204!=s[u].statusCode&&(r.reload_fromResponse(p,s[u].data,s[u]),t.setProcessed(p))}else d.push(r.parseError(s[u]));d.length>0?1===d.length?a.error(d[0]):a.error(new n.Exception("See inner exceptions","Batch failed",d)):a.success&&a.success(t.length)}else a.error(r.parseError(o))},function(e){a.error(r.parseError(e))},r.oData.batch.batchHandler];"undefined"!=typeof r.providerConfiguration.useJsonLight&&(d[0].useJsonLight=r.providerConfiguration.useJsonLight),r.appendBasicAuth(d[0],r.providerConfiguration.user,r.providerConfiguration.password,r.providerConfiguration.withCredentials),r.context.prepareRequest.call(r,d),r.oData.request.apply(r,d)}};a.strategy=o},{"jaydata/core":"jaydata/core"}],2:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var r={name:"empty",condition:function(e,t){return!0},save:function(e,t,a){a.success(0)}};a.strategy=r},{}],3:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a.strategy=void 0;var n=e("jaydata/core"),i=r(n),o={name:"single",condition:function(e,t){var a=t.getItems();return a.length>0},save:function(e,t,a){var r=e,n=t.getItems(),o=function s(e,a,n){var o=e[a];if(!o)return n();var d=o.request.build().get(),u=[d,function(o,d){if(d.statusCode>=200&&d.statusCode<300){var u=t.getByResponse(d,a);u instanceof i["default"].Entity&&204!=d.statusCode&&(r.reload_fromResponse(u,o,d),t.setProcessed(u)),s(e,++a,n)}else n(d)},n];r.appendBasicAuth(u[0],r.providerConfiguration.user,r.providerConfiguration.password,r.providerConfiguration.withCredentials),r.context.prepareRequest.call(r,u),r.oData.request.apply(r,u)};o(n,0,function(e,t){return e?a.error(r.parseError(e)):void a.success(t)})}};a.strategy=o},{"jaydata/core":"jaydata/core"}],4:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0});var n=e("jaydata/core"),i=r(n),o=e("./oDataConverter.js"),s=(r(o),e("./oDataProvider.js")),d=(r(s),e("./oDataCompiler.js")),u=(r(d),e("./oDataWhereCompiler.js")),p=(r(u),e("./oDataIncludeCompiler.js")),l=(r(p),e("./oDataOrderCompiler.js")),f=(r(l),e("./oDataPagingCompiler.js")),c=(r(f),e("./oDataProjectionCompiler.js"));r(c);a["default"]=i["default"],t.exports=a["default"]},{"./oDataCompiler.js":5,"./oDataConverter.js":6,"./oDataIncludeCompiler.js":7,"./oDataOrderCompiler.js":8,"./oDataPagingCompiler.js":9,"./oDataProjectionCompiler.js":10,"./oDataProvider.js":11,"./oDataWhereCompiler.js":13,"jaydata/core":"jaydata/core"}],5:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}var n=e("jaydata/core"),i=r(n);(0,n.$C)("$data.storageProviders.oData.oDataCompiler",i["default"].Expressions.EntityExpressionVisitor,null,{constructor:function(){this.context={},this.provider={},this.includes=null,this.mainEntitySet=null},compile:function(e){this.provider=e.context.storageProvider,this.context=e.context,e.defaultType&&(this.mainEntitySet=e.context.getEntitySetFromElementType(e.defaultType));var t={urlText:""};this.Visit(e.expression,t),t.$expand&&(t.$expand=t.$expand.toString()),e.modelBinderConfig={};var a=n.Container.createModelBinderConfigCompiler(e,this.includes,!0);a.Visit(e.expression);var r=t.urlText,i=!1;t.$funcParams&&(r+="("+t.$funcParams+")");for(var o in t)"urlText"!=o&&"actionPack"!=o&&"data"!=o&&"lambda"!=o&&"method"!=o&&"postData"!=o&&"_isBatchExecuteQuery"!=o&&"_subQueries"!=o&&"$funcParams"!=o&&""!=t[o]&&(r+=i?"&":"?",i=!0,r+="$urlParams"!=o?o+"="+t[o]:t[o]);e.queryText=r,e.postData=t.postData;var s={queryText:r,withInlineCount:"$inlinecount"in t||"$count"in t,method:t.method||"GET",postData:t.postData,isBatchExecuteQuery:t._isBatchExecuteQuery,subQueries:t._subQueries,params:[]};return e._getComplitedData=function(){return s},s},VisitOrderExpression:function(e,t){this.Visit(e.source,t);var a=n.Container.createoDataOrderCompiler(this.provider);a.compile(e,t)},VisitPagingExpression:function(e,t){this.Visit(e.source,t);var a=n.Container.createoDataPagingCompiler(this.provider);a.compile(e,t)},VisitIncludeExpression:function(e,t){this.Visit(e.source,t);var a=n.Container.createoDataIncludeCompiler(this.provider);this.includes=this.includes||[];var r={data:t.$expand,includes:this.includes};a.compile(e.selector,r),t.$expand=r.data},VisitFindExpression:function(e,t){if(this.Visit(e.source,t),e.subMember&&(t.urlText+="/"+e.subMember.memberName),e.params&&e.params.length>0){if(t.urlText+="(",1===e.params.length){var a=e.params[0],r=n.Container.resolveName(a.type),i=this.provider.fieldConverter.toDb[r],o=i?i(a.value):a.value;i=this.provider.fieldConverter.escape[r],o=i?i(a.value):a.value,t.urlText+=o}else for(var s=0;s<e.params.length;s++){var a=e.params[s],r=n.Container.resolveName(a.type),i=this.provider.fieldConverter.toDb[r],o=i?i(a.value):a.value;i=this.provider.fieldConverter.escape[r],o=i?i(a.value):a.value,s>0&&(t.urlText+=","),t.urlText+=a.name+"="+o}t.urlText+=")"}},VisitProjectionExpression:function(e,t){this.Visit(e.source,t);var a=n.Container.createoDataProjectionCompiler(this.provider);a.compile(e,t)},VisitFilterExpression:function(e,t){this.Visit(e.source,t);var a=n.Container.createoDataWhereCompiler(this.provider);t.data="",a.compile(e.selector,t),t.$filter=t.data,t.data=""},VisitInlineCountExpression:function(e,t){this.Visit(e.source,t),"4.0"===this.provider.providerConfiguration.maxDataServiceVersion?t.$count="allpages"===e.selector.value:t.$inlinecount=e.selector.value},VisitEntitySetExpression:function(e,t){if(this.Visit(e.source,t),t.urlText+="/"+e.instance.tableName,e.params)for(var a=0;a<e.params.length;a++)this.Visit(e.params[a],t)},VisitServiceOperationExpression:function(e,t){if(e.boundItem&&(t.urlText+="/"+e.boundItem.entitySet.tableName,e.boundItem.data instanceof i["default"].Entity&&(t.urlText+="("+this.provider.getEntityKeysValue(e.boundItem)+")")),t.urlText+="/"+(e.cfg.namespace?e.cfg.namespace+"."+e.cfg.serviceName:e.cfg.serviceName),t.method=t.method||e.cfg.method,e.params){t.serviceConfig=e.cfg;for(var a=0;a<e.params.length;a++)this.Visit(e.params[a],t);delete t.serviceConfig}},VisitBatchDeleteExpression:function(e,t){this.Visit(e.source,t),t.urlText+="/$batchDelete",t.method="DELETE"},VisitConstantExpression:function(e,t){var a=n.Container.resolveName(e.type);e.value instanceof i["default"].Entity&&(a=i["default"].Entity.fullName);var r=this.provider.fieldConverter.toDb[a],o=r?r(e.value,e):e.value;if("GET"!==t.method&&t.method)t.postData=t.postData||{},t.postData[e.name]=o;else if(r=this.provider.fieldConverter.escape[a],o=r?r(o,e):o,void 0!==o){var s=t.serviceConfig||{},d=s&&s.params.filter(function(t){return t.name==e.name})[0]||{},u=s.namespace&&(d.useAlias||s.useAlias||this.provider.providerConfiguration.useParameterAlias||i["default"].defaults.OData.useParameterAlias),p=u?"@"+e.name:o,l=(u?"@":"")+e.name;t.$funcParams?t.$funcParams+=",":t.$funcParams="",t.$funcParams+=e.name+"="+p,u&&(t.$urlParams?t.$urlParams+="&":t.$urlParams="",t.$urlParams+=l+"="+o)}},VisitCountExpression:function(e,t){this.Visit(e.source,t),t.urlText+="/$count"},VisitBatchExecuteQueryExpression:function(e,t){t.urlText+="/$batch",t.method="POST",t.postData={__batchRequests:[]},t._isBatchExecuteQuery=!0,t._subQueries=e.members;for(var a=0;a<e.members.length;a++){var r=e.members[a],n=new i["default"].storageProviders.oData.oDataCompiler,o=n.compile(r);t.postData.__batchRequests.push({requestUri:this.provider.providerConfiguration.oDataServiceHost+o.queryText,method:o.method,data:o.data,headers:o.headers})}}},{})},{"jaydata/core":"jaydata/core"}],6:[function(e,t,a){(function(t){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}var r=e("jaydata/core"),n=a(r),i="undefined"!=typeof window?window.atob:"undefined"!=typeof t?t.atob:null,o=a(i);n["default"].defaults=n["default"].defaults||{},n["default"].defaults.oDataWebApi=!1,n["default"].oDataConverter={fromDb:{"$data.Enum":function(e,t){return n["default"].Container.convertTo(e,t)},"$data.Byte":n["default"].Container.proxyConverter,"$data.SByte":n["default"].Container.proxyConverter,"$data.Decimal":function(e){return n["default"].Container.convertTo(e,n["default"].Decimal)},"$data.Float":n["default"].Container.proxyConverter,"$data.Int16":n["default"].Container.proxyConverter,"$data.Int64":function(e){return n["default"].Container.convertTo(e,n["default"].Int64)},"$data.ObjectID":n["default"].Container.proxyConverter,"$data.Integer":n["default"].Container.proxyConverter,"$data.Int32":n["default"].Container.proxyConverter,"$data.Number":n["default"].Container.proxyConverter,"$data.Date":function(e){return e?e instanceof Date?e:"/Date("===e.substring(0,6)?new Date(parseInt(e.substr(6))):(-1!==e.indexOf("Z")||e.match("T.*[+-]")||(e+="Z"),new Date(e)):e},"$data.DateTimeOffset":function(e){return e?e instanceof Date?e:"/Date("===e.substring(0,6)?new Date(parseInt(e.substr(6))):(-1!==e.indexOf("Z")||e.match("T.*[+-]")||(e+="Z"),new Date(e)):e},"$data.Time":function(e){return n["default"].Container.convertTo(e,n["default"].Time)},"$data.Day":n["default"].Container.proxyConverter,"$data.Duration":n["default"].Container.proxyConverter,"$data.String":n["default"].Container.proxyConverter,"$data.Boolean":n["default"].Container.proxyConverter,"$data.Blob":function(e){if("string"!=typeof e)return e;try{return n["default"].Container.convertTo((0,o["default"])(e),"$data.Blob")}catch(t){return e}},"$data.Object":function(e){return void 0===e?new n["default"].Object:"string"==typeof e?JSON.parse(e):e},"$data.Array":function(e){return void 0===e?new n["default"].Array:e instanceof n["default"].Array?e:JSON.parse(e)},"$data.GeographyPoint":function(e){return e?new n["default"].GeographyPoint(e):e},"$data.GeographyLineString":function(e){return e?new n["default"].GeographyLineString(e):e},"$data.GeographyPolygon":function(e){return e?new n["default"].GeographyPolygon(e):e},"$data.GeographyMultiPoint":function(e){return e?new n["default"].GeographyMultiPoint(e):e},"$data.GeographyMultiLineString":function(e){return e?new n["default"].GeographyMultiLineString(e):e},"$data.GeographyMultiPolygon":function(e){return e?new n["default"].GeographyMultiPolygon(e):e},"$data.GeographyCollection":function(e){return e?new n["default"].GeographyCollection(e):e},"$data.GeometryPoint":function(e){return e?new n["default"].GeometryPoint(e):e},"$data.GeometryLineString":function(e){return e?new n["default"].GeometryLineString(e):e},"$data.GeometryPolygon":function(e){return e?new n["default"].GeometryPolygon(e):e},"$data.GeometryMultiPoint":function(e){return e?new n["default"].GeometryMultiPoint(e):e},"$data.GeometryMultiLineString":function(e){return e?new n["default"].GeometryMultiLineString(e):e},"$data.GeometryMultiPolygon":function(e){return e?new n["default"].GeometryMultiPolygon(e):e},"$data.GeometryCollection":function(e){return e?new n["default"].GeometryCollection(e):e},"$data.Guid":function(e){return e?e.toString():e}},toDb:{"$data.Enum":function(e,t){return null!==e&&void 0!==e?t&&t.getEnumName?t.getEnumName(e):"":e},"$data.Entity":n["default"].Container.proxyConverter,"$data.Byte":n["default"].Container.proxyConverter,"$data.SByte":n["default"].Container.proxyConverter,"$data.Decimal":n["default"].Container.proxyConverter,"$data.Float":n["default"].Container.proxyConverter,"$data.Int16":n["default"].Container.proxyConverter,"$data.Int64":n["default"].Container.proxyConverter,"$data.ObjectID":n["default"].Container.proxyConverter,"$data.Integer":n["default"].Container.proxyConverter,"$data.Int32":n["default"].Container.proxyConverter,"$data.Number":n["default"].Container.proxyConverter,"$data.Date":function(e){return e?e.toISOString().replace("Z",""):e},"$data.Time":n["default"].Container.proxyConverter,"$data.Day":n["default"].Container.proxyConverter,"$data.Duration":n["default"].Container.proxyConverter,"$data.DateTimeOffset":function(e){return e?e.toISOString():e},"$data.String":n["default"].Container.proxyConverter,"$data.Boolean":n["default"].Container.proxyConverter,"$data.Blob":function(e){return e?n["default"].Blob.toBase64(e):e},"$data.Object":n["default"].Container.proxyConverter,"$data.Array":function(e,t){if(e&&t&&t.elementType){for(var a=r.Container.resolveName(t.elementType),i=[],o=0;o<e.length;o++)i.push(n["default"].oDataConverter.toDb[a](e[o]));return i}return n["default"].Container.proxyConverter.apply(this,arguments)},"$data.GeographyPoint":n["default"].Container.proxyConverter,"$data.GeographyLineString":n["default"].Container.proxyConverter,"$data.GeographyPolygon":n["default"].Container.proxyConverter,"$data.GeographyMultiPoint":n["default"].Container.proxyConverter,"$data.GeographyMultiLineString":n["default"].Container.proxyConverter,"$data.GeographyMultiPolygon":n["default"].Container.proxyConverter,"$data.GeographyCollection":n["default"].Container.proxyConverter,"$data.GeometryPoint":n["default"].Container.proxyConverter,"$data.GeometryLineString":n["default"].Container.proxyConverter,"$data.GeometryPolygon":n["default"].Container.proxyConverter,"$data.GeometryMultiPoint":n["default"].Container.proxyConverter,"$data.GeometryMultiLineString":n["default"].Container.proxyConverter,"$data.GeometryMultiPolygon":n["default"].Container.proxyConverter,"$data.GeometryCollection":n["default"].Container.proxyConverter,"$data.Guid":n["default"].Container.proxyConverter},escape:{"$data.Enum":function(e,t){return null!==e&&void 0!==e?(t?t.fullName:"")+"'"+e+"'":e},"$data.Entity":function(e){return JSON.stringify(e)},"$data.Integer":n["default"].Container.proxyConverter,"$data.Int32":n["default"].Container.proxyConverter,"$data.Number":function(e){return e&&n["default"].defaults.oDataWebApi?e+"d":e},"$data.Int16":n["default"].Container.proxyConverter,"$data.Byte":n["default"].Container.proxyConverter,"$data.SByte":n["default"].Container.proxyConverter,"$data.Decimal":function(e){return e&&n["default"].defaults.oDataWebApi?e+"m":e},"$data.Float":function(e){return e&&n["default"].defaults.oDataWebApi?e+"f":e},"$data.Int64":n["default"].Container.proxyConverter,"$data.Time":n["default"].Container.proxyConverter,"$data.Day":n["default"].Container.proxyConverter,"$data.Duration":function(e){return e?"duration'"+e+"'":e},"$data.DateTimeOffset":function(e){return e?encodeURIComponent(e):e},"$data.Date":function(e){return e?"datetime'"+e+"'":e},"$data.String":function(e){return"string"==typeof e?"'"+e.replace(/'/g,"''")+"'":e},"$data.ObjectID":function(e){return"string"==typeof e?"'"+e.replace(/'/g,"''")+"'":e},"$data.Boolean":function(e){return"boolean"==typeof e?e.toString():e},"$data.Blob":function(e){return e?"binary'"+e+"'":e},"$data.Object":function(e){return JSON.stringify(e)},"$data.Array":function(e,t){if(e&&t&&t.elementType){for(var a=r.Container.resolveName(t.elementType),i=[],o=0;o<e.length;o++)i.push(n["default"].oDataConverter.escape[a](e[o]));return"["+i.join(",")+"]"}return JSON.stringify(e)},"$data.GeographyPoint":function(e){return e?n["default"].GeographyBase.stringifyToUrl(e):e},"$data.GeographyLineString":function(e){return e?n["default"].GeographyBase.stringifyToUrl(e):e},"$data.GeographyPolygon":function(e){return e?n["default"].GeographyBase.stringifyToUrl(e):e},"$data.GeographyMultiPoint":function(e){return e?n["default"].GeographyBase.stringifyToUrl(e):e},"$data.GeographyMultiLineString":function(e){return e?n["default"].GeographyBase.stringifyToUrl(e):e},"$data.GeographyMultiPolygon":function(e){return e?n["default"].GeographyBase.stringifyToUrl(e):e},"$data.GeographyCollection":function(e){return e?n["default"].GeographyBase.stringifyToUrl(e):e},"$data.GeometryPoint":function(e){return e?n["default"].GeometryBase.stringifyToUrl(e):e},"$data.GeometryLineString":function(e){return e?n["default"].GeometryBase.stringifyToUrl(e):e},"$data.GeometryPolygon":function(e){return e?n["default"].GeometryBase.stringifyToUrl(e):e},"$data.GeometryMultiPoint":function(e){return e?n["default"].GeometryBase.stringifyToUrl(e):e},"$data.GeometryMultiLineString":function(e){return e?n["default"].GeometryBase.stringifyToUrl(e):e},"$data.GeometryMultiPolygon":function(e){return e?n["default"].GeometryBase.stringifyToUrl(e):e},"$data.GeometryCollection":function(e){return e?n["default"].GeometryBase.stringifyToUrl(e):e},"$data.Guid":function(e){return e?""+e.toString():e}},unescape:{"$data.Entity":function(e,t){var a=t||{},n=JSON.parse(e);if(n&&a.type){var i=r.Container.resolveType(a.type);return new i(n,{converters:void 0})}return n},"$data.Number":function(e){return JSON.parse(e)},"$data.Integer":function(e){return JSON.parse(e)},"$data.Int32":function(e){return JSON.parse(e)},"$data.Byte":function(e){return JSON.parse(e)},"$data.SByte":function(e){return JSON.parse(e)},"$data.Decimal":function(e){return"string"==typeof e&&e.toLowerCase().lastIndexOf("m")===e.length-1?e.substr(0,e.length-1):e},"$data.Float":function(e){return"string"==typeof e&&e.toLowerCase().lastIndexOf("f")===e.length-1?e.substr(0,e.length-1):e},"$data.Int16":function(e){return JSON.parse(e)},"$data.Int64":function(e){return e},"$data.Boolean":function(e){return JSON.parse(e)},"$data.Date":function(e){return"string"==typeof e&&/^datetime'/.test(e)?e.slice(9,e.length-1):e},"$data.String":function(e){return"string"==typeof e&&0===e.indexOf("'")&&e.lastIndexOf("'")===e.length-1?e.slice(1,e.length-1):e},"$data.ObjectID":function(e){return"string"==typeof e&&0===e.indexOf("'")&&e.lastIndexOf("'")===e.length-1?e.slice(1,e.length-1):e},"$data.Guid":function(e){if(/^\w{8}-\w{4}-\w{4}-\w{4}-\w{12}$/.test(e)){var t=e.slice(5,e.length-1);return n["default"].parseGuid(t).toString()}return e},"$data.Array":function(e,t){var a=t||{},i=JSON.parse(e)||[];if(i&&a.elementType){var o=r.Container.resolveType(a.elementType),s=r.Container.resolveName(o);if(o&&o.isAssignableTo&&o.isAssignableTo(n["default"].Entity)&&(s=n["default"].Entity.fullName),Array.isArray(i))for(var d=n["default"].oDataConverter.unescape[s],u=0;u<i.length;u++)i[u]=d?d(i[u]):i[u];return i}return i},"$data.DateTimeOffset":function(e){return"string"==typeof e?n["default"].Container.convertTo(e,n["default"].DateTimeOffset):e},"$data.Time":function(e){return"string"==typeof e&&/^time'/.test(e)?n["default"].Container.convertTo(e.slice(5,e.length-1),n["default"].Time):e},"$data.Day":function(e){return"string"==typeof e&&/^date'/.test(e)?n["default"].Container.convertTo(e.slice(5,e.length-1),n["default"].Day):e},"$data.Duration":function(e){return"string"==typeof e&&/^duration'/.test(e)?n["default"].Container.convertTo(e.slice(9,e.length-1),n["default"].Duration):e},"$data.Blob":function(e){if("string"==typeof e){if(/^X'/.test(e))return n["default"].Blob.createFromHexString(e.slice(2,e.length-1));if(/^binary'/.test(e))return n["default"].Blob.createFromHexString(e.slice(7,e.length-1))}return e},"$data.Object":function(e){return JSON.parse(e)},"$data.GeographyPoint":function(e){if(/^geography'POINT\(/i.test(e)){var t=e.slice(10,e.length-1);return n["default"].GeographyBase.parseFromString(t)}return e},"$data.GeographyPolygon":function(e){if(/^geography'POLYGON\(/i.test(e)){var t=e.slice(10,e.length-1);return n["default"].GeographyBase.parseFromString(t)}return e},"$data.GeometryPoint":function(e){if(/^geometry'POINT\(/i.test(e)){var t=e.slice(9,e.length-1);return n["default"].GeometryBase.parseFromString(t)}return e},"$data.GeometryPolygon":function(e){if(/^geometry'POLYGON\(/i.test(e)){var t=e.slice(9,e.length-1);return n["default"].GeometryBase.parseFromString(t)}return e}},xmlEscape:{"$data.Byte":function(e){return e.toString()},"$data.SByte":function(e){return e.toString()},"$data.Decimal":function(e){return e.toString()},"$data.Float":function(e){return e.toString()},"$data.Int16":function(e){return e.toString()},"$data.Int64":function(e){return e.toString()},"$data.Integer":function(e){return e.toString()},"$data.Int32":function(e){return e.toString()},"$data.Boolean":function(e){return e.toString()},"$data.Blob":function(e){return n["default"].Blob.toBase64(e)},"$data.Date":function(e){return e.toISOString().replace("Z","")},"$data.DateTimeOffset":function(e){return e.toISOString()},"$data.Time":function(e){return e.toString()},"$data.Day":function(e){return e.toString()},"$data.Duration":function(e){return e.toString()},"$data.Number":function(e){return e.toString()},"$data.String":function(e){return e.toString()},"$data.ObjectID":function(e){return e.toString()},"$data.Object":function(e){return JSON.stringify(e)},"$data.Guid":function(e){return e.toString()}},simple:{"$data.Byte":function(e){return e.toString()},"$data.SByte":function(e){return e.toString()},"$data.Decimal":function(e){return e.toString()},"$data.Float":function(e){return e.toString()},"$data.Int16":function(e){return e.toString()},"$data.Int64":function(e){return e.toString()},"$data.ObjectID":function(e){return e.toString()},"$data.Integer":function(e){return e.toString()},"$data.Int32":function(e){return e.toString()},"$data.Number":function(e){return e.toString()},"$data.Date":function(e){return e instanceof n["default"].Date?e.toISOString().replace("Z",""):e.toString()},"$data.DateTimeOffset":function(e){return e?e.toISOString():e},"$data.Time":function(e){return e.toString()},"$data.Day":function(e){return e.toString()},"$data.Duration":function(e){return e.toString()},"$data.String":function(e){return e.toString()},"$data.Boolean":function(e){return e.toString()},"$data.Blob":function(e){return e},"$data.Object":function(e){return JSON.stringify(e)},"$data.Array":function(e){return JSON.stringify(e)},"$data.Guid":function(e){return e.toString()},"$data.GeographyPoint":function(e){return JSON.stringify(e)},"$data.GeometryPoint":function(e){return JSON.stringify(e)},"$data.GeographyLineString":function(e){return JSON.stringify(e)},"$data.GeographyPolygon":function(e){return JSON.stringify(e)},"$data.GeographyMultiPoint":function(e){return JSON.stringify(e)},"$data.GeographyMultiLineString":function(e){return JSON.stringify(e)},"$data.GeographyMultiPolygon":function(e){return JSON.stringify(e)},"$data.GeographyCollection":function(e){return JSON.stringify(e)},"$data.GeometryLineString":function(e){return JSON.stringify(e)},"$data.GeometryPolygon":function(e){return JSON.stringify(e)},"$data.GeometryMultiPoint":function(e){return JSON.stringify(e)},"$data.GeometryMultiLineString":function(e){return JSON.stringify(e)},"$data.GeometryMultiPolygon":function(e){return JSON.stringify(e)},"$data.GeometryCollection":function(e){return JSON.stringify(e)}}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"jaydata/core":"jaydata/core"}],7:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0}),a.ODataIncludeFragment=void 0;var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,a,r){return a&&e(t.prototype,a),r&&e(t,r),t}}(),o=e("jaydata/core"),s=r(o),d=a.ODataIncludeFragment=function(){function e(t){n(this,e),this.name=t,this.$expand=[],this.$operators=[]}return i(e,[{key:"toString",value:function(){var e="";if(this.$expand.length){this.name&&(e+=this.name+"($expand=");for(var t=0;t<this.$expand.length;t++)0!==t&&(e+=","),e+=this[this.$expand[t]].toString();this.name&&(e+=")")}if(this.name)for(var a=0;a<this.$operators.length;a++)for(var r=this.$operators[a],n=this[r],i=0;i<n.length;i++)e&&(e+=","),e+=this.name+"("+r+"=",e+=n[i],e+=")";return this.name&&!e&&(e=this.name),e}},{key:"addInclude",value:function(e,t){this._createIncludePath(e)}},{key:"addImplicitMap",value:function(e,t){var a=this._createIncludePath(e);this._setImplicitMap(a,t)}},{key:"_createIncludePath",value:function(t){if(!t)return this;for(var a=t,r=this,n=0;n<a.length;n++){var i=a[n],o=!0;r.$expand.indexOf(i)<0&&(o=!1,r.$expand.push(i),r[i]=new e(i),r[i].__implicit=!0),r=r[i],n<a.length-1&&r.__implicit&&this._setImplicitMap(r,a[n+1])}return r}},{key:"_setImplicitMap",value:function(e,t){t&&(e.$operators.indexOf("$select")<0?e.__implicit&&(e.$operators.push("$select"),e.$select=[t]):e.$expand.indexOf(t)<0&&(e.$select[0]+=","+t))}}]),e}();s["default"].storageProviders.oData.ODataIncludeFragment=d,(0,o.$C)("$data.storageProviders.oData.oDataIncludeCompiler",s["default"].Expressions.EntityExpressionVisitor,null,{constructor:function(e){this.provider=e,this.entityContext=e.context},compile:function(e,t){t.data=t.data||new d,t.current=t.data,this.Visit(e,t)},VisitParametricQueryExpression:function(e,t){this.Visit(e.expression,t)},VisitEntitySetExpression:function(e,t){this.Visit(e.source,t),e.selector instanceof s["default"].Expressions.AssociationInfoExpression&&this.Visit(e.selector,t)},VisitAssociationInfoExpression:function(e,t){var a=e.associationInfo.FromPropertyName;this.entityContext._storageModel.getStorageModel(e.associationInfo.FromType.inheritsFrom)&&(a=e.associationInfo.FromType.fullName+"/"+a),this.includePath=this.includePath?this.includePath+".":"",this.includePath+=a;var r=this.includePath;t.includes.some(function(e){return e.name==r},this)||t.includes.push({name:r,type:e.associationInfo.ToType}),t.current.$expand.indexOf(a)<0&&(t.current.$expand.push(a),t.current[a]=new d(a)),t.current=t.current[a]},VisitFrameOperationExpression:function(e,t){this.Visit(e.source,t);var a=e.operation.memberDefinition;if(a&&a.includeFrameName){var r=a.includeFrameName,n=0,i=a.parameters||[{name:"@expression"}],d=i.map(function(t,a){return"@expression"===t.name?e.source:e.parameters[n++]});if(a.includeCompiler)for(var u=0;u<d.length;u++){var p=d[u],l=o.Container.resolveType(a.includeCompiler),f=new l(this.provider),c={data:"",$expand:t.current};if(p&&p.value instanceof s["default"].Queryable){var y=o.Container.createQueryExpressionCreator(p.value.entityContext),m=y.Visit(p.value.expression);p=m}f.compile(p,c);t.current.$operators.indexOf(r)<0&&(t.current[r]=[],t.current.$operators.push(r)),t.current[r].push(c[r]||c.data)}else a.implementation&&(t.current.$operators.indexOf(r)<0&&(t.current[r]=[],t.current.$operators.push(r)),t.current[r].push(a.implementation()))}}})},{"jaydata/core":"jaydata/core"}],8:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}var n=e("jaydata/core"),i=r(n);(0,n.$C)("$data.storageProviders.oData.oDataOrderCompiler",i["default"].storageProviders.oData.oDataWhereCompiler,null,{constructor:function(e){this.provider=e,this.entityContext=e.context},compile:function(e,t){this.Visit(e,t)},VisitOrderExpression:function(e,t){var a={data:""};this.Visit(e.selector,a),t.$orderby?t.$orderby+=",":t.$orderby="",t.$orderby+=a.data+(e.nodeType==i["default"].Expressions.ExpressionType.OrderByDescending?" desc":"")},VisitParametricQueryExpression:function(e,t){this.Visit(e.expression,t)},VisitEntityFieldExpression:function(e,t){this.Visit(e.source,t),this.Visit(e.selector,t)},VisitComplexTypeExpression:function(e,t){this.Visit(e.source,t),this.Visit(e.selector,t),t.data+="/"},VisitEntitySetExpression:function(e,t){e.selector instanceof i["default"].Expressions.AssociationInfoExpression&&(this.Visit(e.source,t),this.Visit(e.selector,t))},VisitAssociationInfoExpression:function(e,t){var a=e.associationInfo.FromPropertyName;this.entityContext._storageModel.getStorageModel(e.associationInfo.FromType.inheritsFrom)&&(a=e.associationInfo.FromType.fullName+"/"+a),t.data+=a+"/"},VisitEntityExpression:function(e,t){this.Visit(e.source,t),this.Visit(e.selector,t)},VisitMemberInfoExpression:function(e,t){var a=e.memberName;this.entityContext._storageModel.getStorageModel(e.memberDefinition.definedBy.inheritsFrom)&&(a=e.memberDefinition.definedBy.fullName+"/"+a),t.data+=a},VisitEntityFieldOperationExpression:function(e,t){n.Guard.requireType("expression.operation",e.operation,i["default"].Expressions.MemberInfoExpression);var a=e.operation.memberDefinition,r=a.mapTo||a.name;t.data+=r,t.data+="(";var o=0,s=a.parameters||[{name:"@expression"}],d=s.map(function(t,a){return"@expression"===t.name?e.source:e.parameters[o++]});d.forEach(function(e,a){a>0&&(t.data+=","),this.Visit(e,t)},this),t.data+=")"},VisitEntityFunctionOperationExpression:function(e,t){n.Guard.requireType("expression.operation",e.operation,i["default"].Expressions.MemberInfoExpression),this.Visit(e.source,t);var a=e.operation.memberDefinition,r=a.mapTo||a.name;t.data+=r,t.data+="(";var o=0,s=a.method.params||[{name:"@expression"}],d=s.map(function(t,a){return"@expression"===t.name?e.source:e.parameters[o++]}),u=0;d.forEach(function(e,a){void 0===e||e instanceof i["default"].Expressions.ConstantExpression&&"undefined"==typeof e.value||(u>0&&(t.data+=","),u++,t.data+=s[a].name+"=",this.Visit(e,t))},this),t.data+=")"},VisitContextFunctionOperationExpression:function(e,t){return this.VisitEntityFunctionOperationExpression(e,t)}})},{"jaydata/core":"jaydata/core"}],9:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}var n=e("jaydata/core"),i=r(n);(0,n.$C)("$data.storageProviders.oData.oDataPagingCompiler",i["default"].Expressions.EntityExpressionVisitor,null,{constructor:function(e){this.provider=e},compile:function(e,t){this.Visit(e,t)},VisitPagingExpression:function(e,t){var a={data:""};switch(this.Visit(e.amount,a),e.nodeType){case i["default"].Expressions.ExpressionType.Skip:t.$skip=a.data;break;case i["default"].Expressions.ExpressionType.Take:t.$top=a.data;break;default:n.Guard.raise("Not supported nodeType")}},VisitConstantExpression:function(e,t){var a=n.Container.resolveName(e.type),r=this.provider.fieldConverter.escape[a];t.data+=r?r(e.value):e.value}})},{"jaydata/core":"jaydata/core"}],10:[function(e,t,a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}var n=e("jaydata/core"),i=r(n);(0,n.$C)("$data.storageProviders.oData.oDataProjectionCompiler",i["default"].Expressions.EntityExpressionVisitor,null,{constructor:function(e){this.provider=e,this.entityContext=e.context,this.hasObjectLiteral=!1,this.modelBinderMapping=[]},compile:function(e,t){this.Visit(e,t)},VisitProjectionExpression:function(e,t){t.data="",this.mapping=[],
this.Visit(e.selector,t),t.$select?t.$select+=",":t.$select="",t.$select+=t.data,t.data=""},VisitParametricQueryExpression:function(e,t){this.Visit(e.expression,t);var a=this.mapping.slice();e.expression instanceof i["default"].Expressions.EntityExpression||e.expression instanceof i["default"].Expressions.EntitySetExpression||a.pop(),a.length>0&&(t.$expand&&t.$expand instanceof i["default"].storageProviders.oData.ODataIncludeFragment||(t.$expand=new i["default"].storageProviders.oData.ODataIncludeFragment),t.$expand.addInclude(a))},VisitObjectLiteralExpression:function(e,t){this.hasObjectLiteral=!0,e.members.forEach(function(a,r){this.Visit(a,t),r<e.members.length-1&&(t.data+=","),this.mapping=[]},this)},VisitObjectFieldExpression:function(e,t){this.Visit(e.expression,t);var a=this.mapping.slice(),r="";if(e.expression instanceof i["default"].Expressions.EntityExpression||e.expression instanceof i["default"].Expressions.EntitySetExpression||(r=a.pop()),a.length>0){if(t.$expand&&t.$expand instanceof i["default"].storageProviders.oData.ODataIncludeFragment||(t.$expand=new i["default"].storageProviders.oData.ODataIncludeFragment),e.expression instanceof i["default"].Expressions.EntityFieldExpression&&e.expression.selector instanceof i["default"].Expressions.MemberInfoExpression){var n=this.entityContext._storageModel.getStorageModel(e.expression.selector.memberDefinition.definedBy);if(!n)return;var o=n&&!!n.ComplexTypes[e.memberName];if(o){var s=a.pop();return void t.$expand.addImplicitMap(a,s)}}e.expression instanceof i["default"].Expressions.ComplexTypeExpression?t.$expand.addImplicitMap(a,r):t.$expand.addInclude(a)}},VisitComplexTypeExpression:function(e,t){this.Visit(e.source,t),this.Visit(e.selector,t)},VisitEntityFieldExpression:function(e,t){this.Visit(e.source,t),this.Visit(e.selector,t)},VisitEntityExpression:function(e,t){this.Visit(e.source,t)},VisitEntitySetExpression:function(e,t){e.source instanceof i["default"].Expressions.EntityExpression&&this.Visit(e.source,t),e.selector instanceof i["default"].Expressions.AssociationInfoExpression&&this.Visit(e.selector,t)},VisitAssociationInfoExpression:function(e,t){var a=e.associationInfo.FromPropertyName;this.entityContext._storageModel.getStorageModel(e.associationInfo.FromType.inheritsFrom)&&(a=e.associationInfo.FromType.fullName+"/"+a),this.mapping.push(a),t.data&&t.data.length>0&&","!=t.data[t.data.length-1]?(t.$expand&&t.$expand instanceof i["default"].storageProviders.oData.ODataIncludeFragment||(t.$expand=new i["default"].storageProviders.oData.ODataIncludeFragment),t.$expand.addInclude(this.mapping)):t.data+=a},VisitMemberInfoExpression:function(e,t){var a=this.entityContext._storageModel.getStorageModel(e.memberDefinition.definedBy),r=a&&!!a.ComplexTypes[e.memberName],n=!a,o=e.memberName;if(this.entityContext._storageModel.getStorageModel(e.memberDefinition.definedBy.inheritsFrom)&&(o=e.memberDefinition.definedBy.fullName+"/"+o),t.data&&t.data.length>0&&","!=t.data[t.data.length-1]){if(this.mapping)if(t.$expand&&t.$expand instanceof i["default"].storageProviders.oData.ODataIncludeFragment||(t.$expand=new i["default"].storageProviders.oData.ODataIncludeFragment),n){var s=this.mapping.slice(),d=s.pop();this.provider.checkODataMode("disableCompltexTypeMapping")?t.$expand.addImplicitMap(s,d):t.$expand.addImplicitMap(s,d+"/"+e.memberName)}else r||t.$expand.addImplicitMap(this.mapping,e.memberName)}else t.data+=o;this.mapping.push(o)},VisitConstantExpression:function(e,t){t.data=t.data.slice(0,t.data.length-1)}})},{"jaydata/core":"jaydata/core"}],11:[function(e,t,a){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function n(e){return e&&e.__esModule?e:{"default":e}}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},o=e("jaydata/core"),s=n(o),d=e("./oDataRequestActivities.js"),u=r(d),p=e("./SaveStrategies/empty"),l=e("./SaveStrategies/single"),f=e("./SaveStrategies/batch");s["default"].defaults=s["default"].defaults||{},s["default"].defaults.OData=s["default"].defaults.OData||{},"withReferenceMethods"in s["default"].defaults.OData||(s["default"].defaults.OData.withReferenceMethods=!1),"disableBatch"in s["default"].defaults.OData||(s["default"].defaults.OData.disableBatch=!1),"eTagAny"in s["default"].defaults.OData||(s["default"].defaults.OData.eTagAny="*"),"enableDeepSave"in s["default"].defaults.OData||(s["default"].defaults.OData.enableDeepSave=!1),"disableCompltexTypeMapping"in s["default"].defaults.OData||(s["default"].defaults.OData.disableCompltexTypeMapping=!1);var c=function(e,t){return"undefined"!=typeof e.providerConfiguration[t]?!!e.providerConfiguration[t]:!!s["default"].defaults.OData[t]};(0,o.$C)("$data.storageProviders.oData.RequestManager",s["default"].Base,null,{constructor:function(){this._items=[],this._entities=[]},_items:{type:s["default"].Array},_entities:{type:s["default"].Array},add:function(e,t,a){var r={data:e,entity:e.data,request:t,itemIndex:++this.maxItemIndex,references:[]};return t.add(new u.SetHeaderProperty("content-Id",r.itemIndex)),a!==!1&&this.length++,this._entities.push(r.entity),this._items.push(r),r},addItemReference:function(e,t){var a=this.getItem(e);a&&a.references.push(t)},getItemIndex:function(e){if(!e)return-1;var t=this._entities.indexOf(e);return t>=0&&!this._items[t].removed?this._items[t].itemIndex:-1},getItem:function(e,t){if(!e)return null;var a=this._entities.indexOf(e);return!(a>=0)||t&&this._items[a].removed?null:this._items[a]},remove:function(e){var t=this._entities.indexOf(e);if(t>=0){var a=this._items[t];if(!a.removed)return this._items[t].removed=!0,this.length--,!0}return!1},getItems:function(){return this._items.filter(function(e){return!e.removed})},getByResponse:function(e,t){var a=t;this._indexCalculated||(this._indexCalculated=!0,this._dataForResult=this._items.filter(function(e){return!e.removed}));var r=this._dataForResult[a++];return r?r.entity:null},setProcessed:function(e){var t=this._entities.indexOf(e);if(t>=0){var a=this._items[t];if(!a.isProcessed)return this._items[t].isProcessed=!0,!0}return!1},maxItemIndex:{value:0},length:{value:0}}),(0,o.$C)("$data.storageProviders.oData.oDataProvider",s["default"].StorageProviderBase,null,{constructor:function(e,t){this.SqlCommands=[],this.context=t,this.providerConfiguration=s["default"].typeSystem.extend({dbCreation:s["default"].storageProviders.DbCreationType.DropTableIfChanged,oDataServiceHost:"/odata.svc",serviceUrl:"",maxDataServiceVersion:"4.0",dataServiceVersion:void 0,user:null,password:null,withCredentials:!1,UpdateMethod:"PATCH"},e),"undefined"==typeof s["default"].odatajs||"undefined"==typeof s["default"].odatajs.oData?"undefined"==typeof odatajs||"undefined"==typeof odatajs.oData?o.Guard.raise(new o.Exception("odatajs is required","Not Found!")):this.oData=odatajs.oData:this.oData=s["default"].odatajs.oData,this.context&&this.context._buildDbType_generateConvertToFunction&&this.buildDbType_generateConvertToFunction&&(this.context._buildDbType_generateConvertToFunction=this.buildDbType_generateConvertToFunction),this.context&&this.context._buildDbType_modifyInstanceDefinition&&this.buildDbType_modifyInstanceDefinition&&(this.context._buildDbType_modifyInstanceDefinition=this.buildDbType_modifyInstanceDefinition)},fixkDataServiceVersions:function(e){this.providerConfiguration.dataServiceVersion>this.providerConfiguration.maxDataServiceVersion&&(this.providerConfiguration.dataServiceVersion=this.providerConfiguration.maxDataServiceVersion),this.providerConfiguration.setDataServiceVersionToMax===!0&&(this.providerConfiguration.dataServiceVersion=this.providerConfiguration.maxDataServiceVersion),(e&&!e.UpdateMethod&&this.providerConfiguration.dataServiceVersion<"3.0"||!this.providerConfiguration.dataServiceVersion)&&(this.providerConfiguration.UpdateMethod="MERGE")},initializeStore:function(e){switch(e=s["default"].PromiseHandlerBase.createCallbackSettings(e),this.providerConfiguration.dbCreation){case s["default"].storageProviders.DbCreationType.DropAllExistingTables:var t=this;if(this.providerConfiguration.serviceUrl){var a=[{requestUri:t.providerConfiguration.serviceUrl+"/Delete",method:"POST"},function(a){e.success(t.context)},function(a){e.success(t.context)}];this.appendBasicAuth(a[0],this.providerConfiguration.user,this.providerConfiguration.password,this.providerConfiguration.withCredentials),this.context.prepareRequest.call(this,a),this.oData.request.apply(this,a)}else e.success(t.context);break;default:e.success(this.context)}},buildDbType_generateConvertToFunction:function(e,t){return function(a,r){var n=new e.PhysicalType;return n.entityState=a.entityState,e.PhysicalType.memberDefinitions.getPublicMappedProperties().forEach(function(e){n.initData[e.name]=a[e.name]},this),e.Associations&&e.Associations.forEach(function(e){if("*"==e.FromMultiplicity&&"0..1"==e.ToMultiplicity||"0..1"==e.FromMultiplicity&&"1"==e.ToMultiplicity||"$$unbound"==e.FromMultiplicity){var i=a[e.FromPropertyName];if(void 0!==i)if(i instanceof s["default"].Array)n.initData[e.FromPropertyName]=n[e.FromPropertyName]||[],i.forEach(function(a){var i=r.getItem(a,!0),d=i?i.itemIndex:-1;if(a.entityState==s["default"].EntityState.Modified||0>d){var u=t._storageModel.getStorageModel(a.getType()),p=u.TableName,l="("+t.storageProvider.getEntityKeysValue({data:a,entitySet:t.getEntitySetFromElementType(a.getType())})+")";n.initData[e.FromPropertyName].push({__metadata:{uri:p+l}})}else 0>d&&o.Guard.raise("Dependency graph error"),n.initData[e.FromPropertyName].push({__convertedRefence:i})},this);else if(null===i)n.initData[e.FromPropertyName]=null;else{var d=r.getItem(i,!0),u=d?d.itemIndex:-1;if(i.entityState==s["default"].EntityState.Modified||0>u){var p=t._storageModel.getStorageModel(i.getType()),l=p.TableName,f="("+t.storageProvider.getEntityKeysValue({data:i,entitySet:t.getEntitySetFromElementType(i.getType())})+")";n.initData[e.FromPropertyName]={__metadata:{uri:l+f}}}else 0>u&&o.Guard.raise("Dependency graph error"),n.initData[e.FromPropertyName]={__convertedRefence:d}}}},this),e.ComplexTypes&&e.ComplexTypes.forEach(function(e){n.initData[e.FromPropertyName]=a[e.FromPropertyName]},this),n}},buildDbType_modifyInstanceDefinition:function(){},executeQuery:function(e,t){t=s["default"].PromiseHandlerBase.createCallbackSettings(t);var a={};try{a=this._compile(e)}catch(r){return void t.error(r)}var n=(this.context,this),d="@odata.count",u=[{requestUri:this.providerConfiguration.oDataServiceHost+a.queryText,method:a.method,data:a.postData,headers:{}},function(r,u,p){if(r||!u.body||a.isBatchExecuteQuery||(r=JSON.parse(u.body)),t.success){var l=function(e,t,a){e.rawDataList="string"==typeof t?[{cnt:o.Container.convertTo(t,s["default"].Integer)}]:t,a.withInlineCount&&"object"===("undefined"==typeof t?"undefined":i(t))&&("undefined"!=typeof t[d]||"d"in t&&"undefined"!=typeof t.d[d])&&(e.__count=new Number("undefined"!=typeof t[d]?t[d]:t.d[d]).valueOf())};if(a.isBatchExecuteQuery){e.rawDataList=a.subQueries;for(var f=0;f<r.__batchResponses.length;f++){var c=r.__batchResponses[f];if(!c.data){if(!c.body)return void t.error(n.parseError(c,arguments));c.data=JSON.parse(c.body)}l(a.subQueries[f],c.data,a.subQueries[f]._getComplitedData())}}else l(e,r,a);t.success(e)}},function(e){t.error(n.parseError(e,arguments))},a.isBatchExecuteQuery?this.oData.batch.batchHandler:void 0];"undefined"!=typeof this.providerConfiguration.enableJSONP&&(u[0].enableJsonpCallback=this.providerConfiguration.enableJSONP),"undefined"!=typeof this.providerConfiguration.useJsonLight&&(u[0].useJsonLight=this.providerConfiguration.useJsonLight),this.appendBasicAuth(u[0],this.providerConfiguration.user,this.providerConfiguration.password,this.providerConfiguration.withCredentials),this.context.prepareRequest.call(this,u),this.oData.request.apply(this,u)},_compile:function(e,t){var a=new s["default"].storageProviders.oData.oDataCompiler,r=a.compile(e);return r},saveChanges:function(e,t){t.length>0?this.saveInternal(t,e):e.success(0)},saveInternal:function(e,t){var a=this.buildIndependentBlocks(e);c(this,"enableDeepSave")&&this._checkDeepSave(e);var r=this._buildSaveData(a,e),n=this.saveStrategySelector(r);n?n.save(this,r,t):t.error(new o.Exception("Not Found","Save action not found"))},saveStrategySelector:function(e){for(var t=0;t<this.saveStrategies.length;t++){var a=this.saveStrategies[t];if(a.condition(this,e))return a}return null},saveStrategies:{value:[f.strategy,l.strategy,p.strategy]},_discoverSaveOrder:function(e){for(var t=e.map(function(e){return e.data}),a=e.map(function(e){return{path:[],visited:!1,result:!0}}),r=[],n=[],i=function(i){var o=t.indexOf(i),s=e[o],d=a[o];if(d.visited)return d.result;if(d.visiting)return!1;var u=[];s.referredBy&&(u=u.concat(s.referredBy)),s.dependentOn&&(u=u.concat(s.dependentOn));for(var p=0;p<u.length;p++){var l=u[p];if(n.indexOf(l)<0){r.push(l),n.push(l);var f=t.indexOf(l);e[f].deepParent=i}}},o=0;o<e.length;o++){var s=e[o];for(r.indexOf(s.data)<0&&(r.push(s.data),n.push(s.data),a[o].parent=null);r.length;){var d=r.shift();i(d)}}},_checkDeepSave:function(e){for(var t=e.map(function(e){return e.data}),a=e.map(function(e){return{path:[],visited:!1,result:!0}}),r=function o(r,n,i){var d=a[i];if(d.visited)return d.result;if(d.visiting)return!1;var u=[];if(r.referredBy&&(u=u.concat(r.referredBy)),r.dependentOn&&(u=u.concat(r.dependentOn)),0===u.length)d.visited=!0,d.result=!0;else{d.visiting=!0;for(var p=0;p<u.length;p++){var l=u[p],f=t.indexOf(l),c=e[f];if(!c)return!1;if(c!==n){var y=o(c,r,f);d.result=d.result&&r.data.entityState===s["default"].EntityState.Added&&(!r.additionalDependentOn||0===r.additionalDependentOn.length)&&y}}delete d.visiting,d.visited=!0}return r.enableDeepSave=d.result,d.result},n=0;n<e.length;n++){var i=e[n];r(i,null,n)}this._discoverSaveOrder(e)},_buildSaveData:function(e,t){for(var a=new s["default"].storageProviders.oData.RequestManager,r=0;r<e.length;r++)for(var n=0;n<e[r].length;n++){var i=e[r][n],d=null,p=a.getItem(i.data);p||(d=new u.RequestBuilder(this),d.add(new u.SetUrl(this.providerConfiguration.oDataServiceHost+"/")),p=a.add(i,d)),d=p.request;var l=i.data.entityState;"function"==typeof this._buildRequestObject["EntityState_"+l]?this._buildRequestObject["EntityState_"+l](this,i,a,d,t):o.Guard.raise(new o.Exception("Not supported Entity state"))}return a},_buildRequestObject:{value:{EntityState_20:function(e,t,a,r,n){r.add(new u.SetMethod("POST"),new u.AppendUrl(t.data["@odata.context"]||t.entitySet.tableName)),t.data["@odata.type"]&&r.add(new u.SetDataProperty("@odata.type",t.data["@odata.type"])),e.save_getInitData(t,a,void 0,void 0,r,n)},EntityState_30:function(e,t,a,r,n){r.add(new u.SetMethod(e.providerConfiguration.UpdateMethod),new u.AppendUrl(t.data["@odata.context"]||t.entitySet.tableName)),e.getEntityKeysValue(t)&&r.add(new u.AppendUrl("("+e.getEntityKeysValue(t)+")")),t.data["@odata.type"]&&r.add(new u.SetDataProperty("@odata.type",t.data["@odata.type"])),e.addETagHeader(t,r),e.save_getInitData(t,a,void 0,void 0,r,n)},EntityState_40:function(e,t,a,r,n){r.add(new u.SetMethod("DELETE"),new u.ClearRequestData,new u.AppendUrl(t.data["@odata.context"]||t.entitySet.tableName)),e.getEntityKeysValue(t)&&r.add(new u.AppendUrl("("+e.getEntityKeysValue(t)+")")),e.addETagHeader(t,r)}}},reload_fromResponse:function(e,t,a){var r=this;e.getType().memberDefinitions.getPublicMappedProperties().forEach(function(a){var n=o.Container.resolveType(a.type);if(a.computed||a.key||!a.inverseProperty)if(a.concurrencyMode===s["default"].ConcurrencyMode.Fixed)e[a.name]=t["@odata.etag"];else if(a.isAssignableTo)t[a.name]?e[a.name]=new n(t[a.name],{converters:r.fieldConverter.fromDb}):e[a.name]=t[a.name];else if(n===s["default"].Array&&a.elementType){var i=o.Container.resolveType(a.elementType);if(t[a.name]&&Array.isArray(t[a.name])){for(var d=[],u=0;u<t[a.name].length;u++){var p=t[a.name][u];if(i.isAssignableTo&&!o.Guard.isNullOrUndefined(p))d.push(new i(p,{converters:r.fieldConverter.fromDb}));else{var l=o.Container.resolveName(i),f=r.fieldConverter.fromDb[l];d.push(f?f(p):p)}}e[a.name]=d}else t[a.name]||(e[a.name]=t[a.name])}else{var c=o.Container.resolveName(a.type),y=r.fieldConverter.fromDb[c];e[a.name]=y?y(t[a.name]):t[a.name]}},this)},save_getInitData:function(e,t,a,r,n,i){var o=this;a?e.physicalData=e.data:e.physicalData=this.context._storageModel.getStorageModel(e.data.getType()).PhysicalType.convertTo(e.data,t);var d=e.data.entityState===s["default"].EntityState.Added;e.physicalData.getType().memberDefinitions.asArray().forEach(function(a){d=o.propertyConversationSelector(e,a,t,n,i,r)||d},this),d||r||t.remove(e.data)},propertyConversationSelector:function(e,t,a,r,n,i){return t.kind==s["default"].MemberTypes.complexProperty?this._complexPropertySelector.apply(this,arguments):t.kind==s["default"].MemberTypes.property?this._propertySelector.apply(this,arguments):t.kind==s["default"].MemberTypes.navProperty?this._navigationPropertySelector.apply(this,arguments):!1},_complexPropertySelector:function(e,t,a,r,n,i){return this.propertyConversationStrategies.complex.apply(this,arguments)},_propertySelector:function(e,t,a,r,n,i){if("undefined"==typeof t.concurrencyMode)switch(!0){case