UNPKG

jaydata

Version:

Cross-platform HTML5 data-management, JavaScript Language Query (JSLQ) support for OData, SQLite, WebSQL, IndexedDB, YQL and Facebook (packaged for Node.JS)

16 lines (15 loc) 28 kB
// 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/yql",["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,l){function n(o,i){if(!a[o]){if(!t[o]){var r="function"==typeof require&&require;if(!i&&r)return r(o,!0);if(s)return s(o,!0);var p=new Error("Cannot find module '"+o+"'");throw p.code="MODULE_NOT_FOUND",p}var u=a[o]={exports:{}};t[o][0].call(u.exports,function(e){var a=t[o][1][e];return n(a?a:e)},u,u.exports,e,t,a,l)}return a[o].exports}for(var s="function"==typeof require&&require,o=0;o<l.length;o++)n(l[o]);return n}({1:[function(e,t,a){"use strict";function l(e){return e&&e.__esModule?e:{"default":e}}var n=e("jaydata/core"),s=l(n);s["default"].Class.define("$data.Yahoo.YQLContext",s["default"].EntityContext,null,{Continents:{type:s["default"].EntitySet,elementType:s["default"].Yahoo.types.Geo.continent,tableName:"geo.continents"},Counties:{type:s["default"].EntitySet,elementType:s["default"].Yahoo.types.Geo.county,tableName:"geo.counties"},Countries:{type:s["default"].EntitySet,elementType:s["default"].Yahoo.types.Geo.country,tableName:"geo.countries"},Districts:{type:s["default"].EntitySet,elementType:s["default"].Yahoo.types.Geo.district,tableName:"geo.districts"},Oceans:{type:s["default"].EntitySet,elementType:s["default"].Yahoo.types.Geo.ocean,tableName:"geo.oceans"},Places:{type:s["default"].EntitySet,elementType:s["default"].Yahoo.types.Geo.place,tableName:"geo.places"},PlaceTypes:{type:s["default"].EntitySet,elementType:s["default"].Yahoo.types.Geo.placetype,tableName:"geo.placetypes"},PlaceSiblings:{type:s["default"].EntitySet,elementType:s["default"].Yahoo.types.Geo.sibling,tableName:"geo.places.siblings"},PlaceParents:{type:s["default"].EntitySet,elementType:s["default"].Yahoo.types.Geo.parent,tableName:"geo.places.parent"},PlaceNeighbors:{type:s["default"].EntitySet,elementType:s["default"].Yahoo.types.Geo.neighbor,tableName:"geo.places.neighbors"},PlaceCommons:{type:s["default"].EntitySet,elementType:s["default"].Yahoo.types.Geo.common,tableName:"geo.places.common"},PlaceChildrens:{type:s["default"].EntitySet,elementType:s["default"].Yahoo.types.Geo.children,tableName:"geo.places.children"},PlaceBelongtos:{type:s["default"].EntitySet,elementType:s["default"].Yahoo.types.Geo.belongto,tableName:"geo.places.belongtos"},PlaceAncestors:{type:s["default"].EntitySet,elementType:s["default"].Yahoo.types.Geo.ancestor,tableName:"geo.places.ancestors"},Seas:{type:s["default"].EntitySet,elementType:s["default"].Yahoo.types.Geo.sea,tableName:"geo.seas"},States:{type:s["default"].EntitySet,elementType:s["default"].Yahoo.types.Geo.state,tableName:"geo.states"},PlaceDescendants:{type:s["default"].EntitySet,elementType:s["default"].Yahoo.types.Geo.descendant,tableName:"geo.places.descendants"},placeTypeNameRef:{value:s["default"].Yahoo.types.Geo.placeTypeNameCf},centroidRef:{value:s["default"].Yahoo.types.Geo.centroidCf},countryRef:{value:s["default"].Yahoo.types.Geo.countryCf},adminRef:{value:s["default"].Yahoo.types.Geo.adminCf},localityRef:{value:s["default"].Yahoo.types.Geo.localityCf},postalRef:{value:s["default"].Yahoo.types.Geo.postalCf},boundingBoxRef:{value:s["default"].Yahoo.types.Geo.boundingBoxCf},Atom:{anonymousResult:!0,tableName:"atom",resultPath:["query","results"],resultSkipFirstLevel:!0,type:s["default"].EntitySet,elementType:s["default"].Class.define("$data.Yahoo.types.YQLAtom",s["default"].Entity,null,{url:{type:"string",required:!0,searchable:!0}},null)},Csv:{anonymousResult:!0,tableName:"csv",resultPath:["query","results"],resultSkipFirstLevel:!0,type:s["default"].EntitySet,elementType:s["default"].Class.define("$data.Yahoo.types.YQLCsv",s["default"].Entity,null,{url:{type:"string",required:!0,searchable:!0},charset:{type:"string",searchable:!0},columns:{type:"string",searchable:!0}},null)},DataUri:{anonymousResult:!0,tableName:"data.uri",resultPath:["query","results"],resultSkipFirstLevel:!0,type:s["default"].EntitySet,elementType:s["default"].Class.define("$data.Yahoo.types.YQLDataUri",s["default"].Entity,null,{url:{type:"string",required:!0,searchable:!0}},null)},Feed:{anonymousResult:!0,tableName:"feed",resultPath:["query","results"],resultSkipFirstLevel:!0,type:s["default"].EntitySet,elementType:s["default"].Class.define("$data.Yahoo.types.YQLFeed",s["default"].Entity,null,{url:{type:"string",required:!0,searchable:!0}},null)},FeedNormalizer:{anonymousResult:!0,tableName:"feednormalizer",resultPath:["query","results"],resultSkipFirstLevel:!0,type:s["default"].EntitySet,elementType:s["default"].Class.define("$data.Yahoo.types.YQLFeedNormalizer",s["default"].Entity,null,{url:{type:"string",required:!0,searchable:!0},output:{type:"string",searchable:!0},prexslurl:{type:"string",searchable:!0},postxslurl:{type:"string",searchable:!0},timeout:{type:"string",searchable:!0}},null)},Html:{anonymousResult:!0,tableName:"html",resultPath:["query","results"],resultSkipFirstLevel:!0,type:s["default"].EntitySet,elementType:s["default"].Class.define("$data.Yahoo.types.YQLHtml",s["default"].Entity,null,{url:{type:"string",required:!0,searchable:!0},charset:{type:"string",searchable:!0},browser:{type:"bool",searchable:!0},xpath:{type:"string",searchable:!0},compat:{type:"string",searchable:!0,description:"valid values for compat is 'html5' and 'html4'"},Result:{type:"string",searchable:!0}},null)},Json:{anonymousResult:!0,tableName:"json",resultPath:["query","results"],resultSkipFirstLevel:!0,type:s["default"].EntitySet,elementType:s["default"].Class.define("$data.Yahoo.types.YQLJson",s["default"].Entity,null,{url:{type:"string",required:!0,searchable:!0},itemPath:{type:"string",searchable:!0}},null)},Rss:{anonymousResult:!1,tableName:"rss",resultPath:["query","results"],resultSkipFirstLevel:!0,type:s["default"].EntitySet,elementType:s["default"].Class.define("$data.Yahoo.types.YQLRss",s["default"].Entity,null,{url:{type:"string",required:!0,searchable:!0},guid:{type:"GuidField"},title:{type:"string"},description:{type:"string"},link:{type:"string"},pubDate:{type:"string"}},null)},GuidField:{type:s["default"].Class.define("GuidField",s["default"].Entity,null,{isPermaLink:{type:"string"},content:{type:"string"}},null)},Xml:{anonymousResult:!0,tableName:"xml",resultPath:["query","results"],resultSkipFirstLevel:!0,type:s["default"].EntitySet,elementType:s["default"].Class.define("$data.Yahoo.types.YQLXml",s["default"].Entity,null,{url:{type:"string",required:!0,searchable:!0},itemPath:{type:"string",searchable:!0}},null)},Xslt:{anonymousResult:!0,tableName:"xslt",resultPath:["query","results"],resultSkipFirstLevel:!0,type:s["default"].EntitySet,elementType:s["default"].Class.define("$data.Yahoo.types.YQLXslt",s["default"].Entity,null,{url:{type:"string",searchable:!0},xml:{type:"string",searchable:!0},stylesheet:{type:"string",searchable:!0},stylesheetliteral:{type:"string",searchable:!0},wrapperelement:{type:"string",searchable:!0}},null)}},null)},{"jaydata/core":"jaydata/core"}],2:[function(e,t,a){"use strict";function l(e){return e&&e.__esModule?e:{"default":e}}var n=e("jaydata/core"),s=l(n);s["default"].Class.define("$data.Yahoo.types.Geo.placeTypeNameCf",s["default"].Entity,null,{code:{type:"string"},content:{type:"string"}},null),s["default"].Class.define("$data.Yahoo.types.Geo.countryCf",s["default"].Entity,null,{code:{type:"string"},type:{type:"string"},content:{type:"string"}},null),s["default"].Class.define("$data.Yahoo.types.Geo.adminCf",s["default"].Entity,null,{code:{type:"string"},type:{type:"string"},content:{type:"string"}},null),s["default"].Class.define("$data.Yahoo.types.Geo.localityCf",s["default"].Entity,null,{code:{type:"string"},content:{type:"string"}},null),s["default"].Class.define("$data.Yahoo.types.Geo.centroidCf",s["default"].Entity,null,{latitude:{type:"string"},longitude:{type:"string"}},null),s["default"].Class.define("$data.Yahoo.types.Geo.postalCf",s["default"].Entity,null,{type:{type:"string"},content:{type:"string"}},null),s["default"].Class.define("$data.Yahoo.types.Geo.boundingBoxCf",s["default"].Entity,null,{southWest:{type:"centroidRef"},northEast:{type:"centroidRef"}},null),s["default"].Class.define("$data.Yahoo.types.Geo.PlaceMeta",null,null,{woeid:{type:"int",key:!0},name:{type:"string"},uri:{type:"string"},placeTypeName:{type:"placeTypeNameRef"},lang:{type:"string"}},null),s["default"].Class.defineEx("$data.Yahoo.types.Geo.PlaceMetaFull",[{type:null},{type:s["default"].Yahoo.types.Geo.PlaceMeta}],null,{country:{type:"countryRef"},admin1:{type:"adminRef"},admin2:{type:"adminRef"},admin3:{type:"adminRef"},locality1:{type:"localityRef"},locality2:{type:"localityRef"},postal:{type:"postalRef"},centroid:{type:"centroidRef"},boundingBox:{type:"boundingBoxRef"},areaRank:{type:"int"},popRank:{type:"int"}},null),s["default"].Class.define("$data.Yahoo.types.Geo.placetype",s["default"].Entity,null,{placeTypeDescription:{type:"string"},uri:{type:"string",key:!0},placeTypeName:{type:"placeTypeNameRef"},lang:{type:"string"}},null),s["default"].Class.defineEx("$data.Yahoo.types.Geo.sibling",[{type:s["default"].Entity},{type:s["default"].Yahoo.types.Geo.PlaceMetaFull}],null,{sibling_woeid:{type:"string"}},null),s["default"].Class.defineEx("$data.Yahoo.types.Geo.parent",[{type:s["default"].Entity},{type:s["default"].Yahoo.types.Geo.PlaceMetaFull}],null,{child_woeid:{type:"string"}},null),s["default"].Class.defineEx("$data.Yahoo.types.Geo.neighbor",[{type:s["default"].Entity},{type:s["default"].Yahoo.types.Geo.PlaceMetaFull}],null,{neighbor_woeid:{type:"string"}},null),s["default"].Class.defineEx("$data.Yahoo.types.Geo.common",[{type:s["default"].Entity},{type:s["default"].Yahoo.types.Geo.PlaceMetaFull}],null,{woeid1:{type:"string"},woeid2:{type:"string"},woeid3:{type:"string"},woeid4:{type:"string"},woeid5:{type:"string"},woeid6:{type:"string"},woeid7:{type:"string"},woeid8:{type:"string"},"long":{type:"string"}},null),s["default"].Class.defineEx("$data.Yahoo.types.Geo.children",[{type:s["default"].Entity},{type:s["default"].Yahoo.types.Geo.PlaceMetaFull}],null,{parent_woeid:{type:"string"},placetype:{type:"string"}},null),s["default"].Class.defineEx("$data.Yahoo.types.Geo.belongto",[{type:s["default"].Entity},{type:s["default"].Yahoo.types.Geo.PlaceMetaFull}],null,{member_woeid:{type:"string"},placetype:{type:"string"}},null),s["default"].Class.defineEx("$data.Yahoo.types.Geo.ancestor",[{type:s["default"].Entity},{type:s["default"].Yahoo.types.Geo.PlaceMetaFull}],null,{descendant_woeid:{type:"string"}},null),s["default"].Class.defineEx("$data.Yahoo.types.Geo.place",[{type:s["default"].Entity},{type:s["default"].Yahoo.types.Geo.PlaceMetaFull}],null,{text:{type:"string"},focus:{type:"string"},placetype:{type:"string"}},null),s["default"].Class.defineEx("$data.Yahoo.types.Geo.county",[{type:s["default"].Entity},{type:s["default"].Yahoo.types.Geo.PlaceMeta}],null,{place:{type:"string"}},null),s["default"].Class.defineEx("$data.Yahoo.types.Geo.country",[{type:s["default"].Entity},{type:s["default"].Yahoo.types.Geo.PlaceMeta}],null,{place:{type:"string"}},null),s["default"].Class.defineEx("$data.Yahoo.types.Geo.district",[{type:s["default"].Entity},{type:s["default"].Yahoo.types.Geo.PlaceMeta}],null,{place:{type:"string"}},null),s["default"].Class.defineEx("$data.Yahoo.types.Geo.sea",[{type:s["default"].Entity},{type:s["default"].Yahoo.types.Geo.PlaceMeta}],null,{place:{type:"string"}},null),s["default"].Class.defineEx("$data.Yahoo.types.Geo.state",[{type:s["default"].Entity},{type:s["default"].Yahoo.types.Geo.PlaceMeta}],null,{place:{type:"string"}},null),s["default"].Class.defineEx("$data.Yahoo.types.Geo.continent",[{type:s["default"].Entity},{type:s["default"].Yahoo.types.Geo.PlaceMeta}],null,{place:{type:"string"},view:{type:"string"}},null),s["default"].Class.defineEx("$data.Yahoo.types.Geo.ocean",[{type:s["default"].Entity},{type:s["default"].Yahoo.types.Geo.PlaceMeta}],null,{place:{type:"string"},view:{type:"string"}},null),s["default"].Class.defineEx("$data.Yahoo.types.Geo.descendant",[{type:s["default"].Entity},{type:s["default"].Yahoo.types.Geo.PlaceMeta}],null,{ancestor_woeid:{type:"string"},placetype:{type:"string"},degree:{type:"string"},view:{type:"string"}},null),n.Container.registerType("placeTypeNameRef",s["default"].Yahoo.types.Geo.placeTypeNameCf),n.Container.registerType("centroidRef",s["default"].Yahoo.types.Geo.centroidCf),n.Container.registerType("countryRef",s["default"].Yahoo.types.Geo.countryCf),n.Container.registerType("adminRef",s["default"].Yahoo.types.Geo.adminCf),n.Container.registerType("localityRef",s["default"].Yahoo.types.Geo.localityCf),n.Container.registerType("postalRef",s["default"].Yahoo.types.Geo.postalCf),n.Container.registerType("boundingBoxRef",s["default"].Yahoo.types.Geo.boundingBoxCf)},{"jaydata/core":"jaydata/core"}],3:[function(e,t,a){"use strict";function l(e){return e&&e.__esModule?e:{"default":e}}var n=e("jaydata/core"),s=l(n);(0,n.$C)("$data.storageProviders.YQL.YQLCompiler",s["default"].Expressions.EntityExpressionVisitor,null,{constructor:function(){this.provider={},this.cTypeCache={}},compile:function(e){this.provider=e.context.storageProvider;var t={filterSql:{sql:""},projectionSql:{sql:""},orderSql:{sql:""},skipSql:{sql:""},takeSql:{sql:""},tableName:""};if(this.Visit(e.expression,t),""==t.projectionSql.sql&&(t.projectionSql.sql="SELECT *"),t.orderSql.sql&&(t.orderSql.sql=" | sort("+t.orderSql.sql+")"),t.skipSql.value&&t.takeSql.value){var a=t.skipSql.value;t.skipSql.value=t.takeSql.value,t.takeSql.value=t.takeSql.value+a}return t.skipSql.value&&(t.skipSql.sql=t.skipSql.sqlPre+t.skipSql.value+t.skipSql.sqlSuf),t.takeSql.value&&(t.takeSql.sql=t.takeSql.sqlPre+t.takeSql.value+t.takeSql.sqlSuf),{queryText:t.projectionSql.sql+" FROM "+t.tableName+t.filterSql.sql+t.orderSql.sql+t.takeSql.sql+(t.takeSql.sql?t.skipSql.sql:""),selectMapping:t.projectionSql.selectFields,params:[]}},VisitFilterExpression:function(e,t){this.Visit(e.source,t),t.filterSql.type=e.nodeType,""==t.filterSql.sql?t.filterSql.sql=" WHERE ":t.filterSql.sql+=" AND ",this.Visit(e.selector,t.filterSql)},VisitProjectionExpression:function(e,t){this.Visit(e.source,t),t.projectionSql.type=e.nodeType,""==t.projectionSql.sql?t.projectionSql.sql="SELECT ":n.Guard.raise(new n.Exception("multiple select error")),this.Visit(e.selector,t.projectionSql)},VisitOrderExpression:function(e,t){this.Visit(e.source,t),t.orderSql.type=e.nodeType;var a={sql:""};this.Visit(e.selector,a),t.orderSql.sql="field='"+a.sql+"', descending='"+(e.nodeType==s["default"].Expressions.ExpressionType.OrderByDescending)+"'"+(""!=t.orderSql.sql?", "+t.orderSql.sql:"")},VisitPagingExpression:function(e,t){this.Visit(e.source,t),e.nodeType==s["default"].Expressions.ExpressionType.Skip?(t.skipSql.type=e.nodeType,t.skipSql.sqlPre=" | tail(count=",this.Visit(e.amount,t.skipSql),t.skipSql.sqlSuf=")"):e.nodeType==s["default"].Expressions.ExpressionType.Take&&(t.takeSql.type=e.nodeType,t.takeSql.sqlPre=" | truncate(count=",this.Visit(e.amount,t.takeSql),t.takeSql.sqlSuf=")")},VisitSimpleBinaryExpression:function(e,t){t.sql+="(";this.Visit(e.left,t);if(t.sql+=e.resolution.mapTo,e.resolution.resolvableType&&!n.Guard.requireType(e.resolution.mapTo+" expression.right.value",e.right.value,e.resolution.resolvableType)&&n.Guard.raise(new n.Exception(e.right.type+" not allowed in '"+e.resolution.mapTo+"' statement","invalid operation")),"in"===e.resolution.name&&e.right.value instanceof Array){var a=this;t.sql+="(",e.right.value.forEach(function(e,l){l>0&&(t.sql+=", "),a.Visit(e,t)}),t.sql+=")"}else{this.Visit(e.right,t)}t.sql+=")"},VisitEntityFieldExpression:function(e,t){this.Visit(e.source,t),this.Visit(e.selector,t)},VisitMemberInfoExpression:function(e,t){var a;t.wasComplex===!0&&(t.sql+="."),t.sql+=e.memberName,1==t.isComplex?(t.complex+=e.memberName,t.wasComplex=!0):(t.wasComplex=!1,a=t.complex?t.complex+e.memberName:e.memberName,t.complex=null,t.fieldData={name:a,dataType:e.memberDefinition.dataType},"Projection"!=t.type||t.selectFields||(t.selectFields=[{from:a,dataType:e.memberDefinition.dataType}]))},VisitConstantExpression:function(e,t){"Projection"==t.type&&n.Guard.raise(new n.Exception("Constant value is not supported in Projection.","Not supported!")),this.VisitQueryParameterExpression(e,t)},VisitQueryParameterExpression:function(e,t){t.value=e.value;var a=n.Container.resolveType(e.type);e.value instanceof s["default"].Queryable?t.sql+="("+e.value.toTraceString().queryText+")":-1!=this.provider.supportedDataTypes.indexOf(a)?t.sql+=this.provider.fieldConverter.toDb[n.Container.resolveName(a)](e.value):t.sql+=""+e.value},VisitParametricQueryExpression:function(e,t){if("Projection"==t.type){if(this.Visit(e.expression,t),e.expression instanceof s["default"].Expressions.ComplexTypeExpression){t.selectFields=t.selectFields||[];var a=e.expression.entityType,l=this._getComplexTypeIncludes(a);t.selectFields.push({from:t.complex,type:a,includes:l})}}else{this.Visit(e.expression,t);t.parameters=e.parameters}},VisitEntitySetExpression:function(e,t){t.type?t.complex||(t.complex=""):t.tableName=e.instance.tableName},VisitObjectLiteralExpression:function(e,t){var a=this;t.selectFields=t.selectFields||[],e.members.forEach(function(e){if(e.expression instanceof s["default"].Expressions.ObjectLiteralExpression)t.mappingPrefix=t.mappingPrefix||[],t.mappingPrefix.push(e.fieldName),a.Visit(e,t),t.mappingPrefix.pop();else{t.selectFields.length>0&&(t.sql+=", "),a.Visit(e,t);var l={from:t.fieldData.name,to:t.mappingPrefix instanceof Array?t.mappingPrefix.join(".")+"."+e.fieldName:e.fieldName};if(t.selectType){l.type=t.selectType;var n=this._getComplexTypeIncludes(t.selectType);l.includes=n}else l.dataType=t.fieldData.dataType;t.selectFields.push(l),delete t.fieldData,delete t.selectType}},this)},VisitObjectFieldExpression:function(e,t){this.Visit(e.expression,t),e.expression instanceof s["default"].Expressions.ComplexTypeExpression&&(t.fieldData=t.fieldData||{},t.fieldData.name=t.complex,t.selectType=e.expression.entityType)},VisitEntityFieldOperationExpression:function(e,t){n.Guard.requireType("expression.operation",e.operation,s["default"].Expressions.MemberInfoExpression);var a=e.operation.memberDefinition,l=a.mapTo||a.name;t.sql+="(",0==a.expressionInParameter&&this.Visit(e.source,t),t.sql+=l;var o=0,i=a.parameters||[],r=i.map(function(t,a){var l={dataType:t.dataType,prefix:t.prefix,suffix:t.suffix};return t.value?l.value=t.value:"@expression"===t.name?l.value=e.source:(l.value=e.parameters[o],l.itemType=e.parameters[o++].type),l});r.forEach(function(a,s){var o=a.itemType?n.Container.resolveType(a.itemType):null;if(!o||a.dataType instanceof Array&&-1!=a.dataType.indexOf(o)||a.dataType==o){s>0&&(t.sql+=", ");var i={sql:""};if(this.Visit(a.value,i)," LIKE "==l){var r=n.Container.getTypeName(i.value);t.sql+="string"==r?"'":"",t.sql+=(a.prefix?a.prefix:"")+i.value+(a.suffix?a.suffix:""),t.sql+="string"==r?"'":""}else t.sql+=i.sql}else n.Guard.raise(new n.Exception(o+" not allowed in '"+e.operation.memberName+"' statement","invalid operation"))},this),a.rigthValue?t.sql+=a.rigthValue:t.sql+="",t.sql+=")"},VisitComplexTypeExpression:function(e,t){this.Visit(e.source,t),t.isComplex=!0,this.Visit(e.selector,t),t.isComplex=!1,""!=t.complex&&(t.complex+=".")},VisitEntityExpression:function(e,t){this.Visit(e.source,t)},_findComplexType:function(e,t,a){e.memberDefinitions.getPublicMappedProperties().forEach(function(e){var l=n.Container.resolveType(e.dataType);if(l.isAssignableTo&&!l.isAssignableTo(s["default"].EntitySet)){var o=a?a+"."+e.name:e.name;t.push({name:o,type:l}),this._findComplexType(l,t,o)}},this)},_getComplexTypeIncludes:function(e){if(!this.cTypeCache[e.name]){var t=[];this._findComplexType(e,t),this.cTypeCache[e.name]=t}return this.cTypeCache[e.name]}},null)},{"jaydata/core":"jaydata/core"}],4:[function(e,t,a){"use strict";function l(e){return e&&e.__esModule?e:{"default":e}}var n=e("jaydata/core"),s=l(n);s["default"].YQLConverter={fromDb:{"$data.Byte":s["default"].Container.proxyConverter,"$data.SByte":s["default"].Container.proxyConverter,"$data.Decimal":s["default"].Container.proxyConverter,"$data.Float":s["default"].Container.proxyConverter,"$data.Int16":s["default"].Container.proxyConverter,"$data.Int32":s["default"].Container.proxyConverter,"$data.Int64":s["default"].Container.proxyConverter,"$data.Number":function(e){return"number"==typeof e?e:parseInt(e)},"$data.Integer":function(e){return"number"==typeof e?e:parseFloat(e)},"$data.String":s["default"].Container.proxyConverter,"$data.Date":function(e){return new Date("string"==typeof e?parseInt(e):e)},"$data.Boolean":function(e){return!!e},"$data.Blob":s["default"].Container.proxyConverter,"$data.Array":function(e){return void 0===e?new s["default"].Array:e}},toDb:{"$data.Byte":s["default"].Container.proxyConverter,"$data.SByte":s["default"].Container.proxyConverter,"$data.Decimal":s["default"].Container.proxyConverter,"$data.Float":s["default"].Container.proxyConverter,"$data.Int16":s["default"].Container.proxyConverter,"$data.Int32":s["default"].Container.proxyConverter,"$data.Int64":s["default"].Container.proxyConverter,"$data.Number":s["default"].Container.proxyConverter,"$data.Integer":s["default"].Container.proxyConverter,"$data.String":function(e){return"'"+e+"'"},"$data.Date":function(e){return e?e.valueOf():null},"$data.Boolean":s["default"].Container.proxyConverter,"$data.Blob":s["default"].Container.proxyConverter,"$data.Array":function(e){return"("+e.join(", ")+")"}}}},{"jaydata/core":"jaydata/core"}],5:[function(e,t,a){"use strict";function l(e){return e&&e.__esModule?e:{"default":e}}var n=e("jaydata/core"),s=l(n);s["default"].Class.define("$data.storageProviders.YQL.YQLProvider",s["default"].StorageProviderBase,null,{constructor:function(e){this.SqlCommands=[],this.context={},this.extendedCreateNew=[],this.providerConfiguration=s["default"].typeSystem.extend({YQLFormat:"format=json",YQLQueryUrl:"http://query.yahooapis.com/v1/public/yql?q=",YQLEnv:"",resultPath:["query","results"],resultSkipFirstLevel:!0},e),this.initializeStore=function(e){e=s["default"].PromiseHandlerBase.createCallbackSettings(e),e.success(this.context)}},AuthenticationProvider:{dataType:"$data.Authentication.AuthenticationBase",enumerable:!1},supportedDataTypes:{value:[s["default"].Integer,s["default"].Number,s["default"].Date,s["default"].String,s["default"].Boolean,s["default"].Blob,s["default"].Array],writable:!1},supportedFieldOperations:{value:{contains:{dataType:s["default"].String,allowedIn:s["default"].Expressions.FilterExpression,mapTo:" LIKE ",expressionInParameter:!1,parameters:[{name:"inStatement",dataType:s["default"].String,prefix:"%",suffix:"%"}]},startsWith:{dataType:s["default"].String,allowedIn:s["default"].Expressions.FilterExpression,mapTo:" LIKE ",expressionInParameter:!1,parameters:[{name:"inStatement",dataType:s["default"].String,suffix:"%"}]},endsWith:{dataType:s["default"].String,allowedIn:s["default"].Expressions.FilterExpression,mapTo:" LIKE ",expressionInParameter:!1,parameters:[{name:"inStatement",dataType:s["default"].String,prefix:"%"}]}},enumerable:!0,writable:!0},supportedBinaryOperators:{value:{equal:{mapTo:" = ",dataType:s["default"].Boolean,allowedIn:s["default"].Expressions.FilterExpression},notEqual:{mapTo:" != ",dataType:s["default"].Boolean,allowedIn:s["default"].Expressions.FilterExpression},equalTyped:{mapTo:" = ",dataType:s["default"].Boolean,allowedIn:s["default"].Expressions.FilterExpression},notEqualTyped:{mapTo:" != ",dataType:s["default"].Boolean,allowedIn:s["default"].Expressions.FilterExpression},greaterThan:{mapTo:" > ",dataType:s["default"].Boolean,allowedIn:s["default"].Expressions.FilterExpression},greaterThanOrEqual:{mapTo:" >= ",dataType:s["default"].Boolean,allowedIn:s["default"].Expressions.FilterExpression},lessThan:{mapTo:" < ",dataType:s["default"].Boolean,allowedIn:s["default"].Expressions.FilterExpression},lessThenOrEqual:{mapTo:" <= ",dataType:s["default"].Boolean,allowedIn:s["default"].Expressions.FilterExpression},or:{mapTo:" OR ",dataType:s["default"].Boolean,allowedIn:s["default"].Expressions.FilterExpression},and:{mapTo:" AND ",dataType:s["default"].Boolean,allowedIn:s["default"].Expressions.FilterExpression},"in":{mapTo:" IN ",dataType:s["default"].Boolean,resolvableType:[s["default"].Array,s["default"].Queryable],allowedIn:s["default"].Expressions.FilterExpression}}},supportedUnaryOperators:{value:{}},supportedSetOperations:{value:{filter:{},map:{},forEach:{},toArray:{},single:{},take:{},skip:{},orderBy:{},orderByDescending:{},first:{}},enumerable:!0,writable:!0},fieldConverter:{value:s["default"].YQLConverter},executeQuery:function(e,t){var a=this;t=s["default"].PromiseHandlerBase.createCallbackSettings(t);var l=e.defaultType,o=e.context.getType().memberDefinitions.asArray().filter(function(e){return e.elementType==l})[0]||{};this.context;this.AuthenticationProvider||(this.AuthenticationProvider=new s["default"].Authentication.Anonymous({}));var i;try{i=this._compile(e)}catch(r){return void t.error(r)}var p={url:this.providerConfiguration.YQLQueryUrl+encodeURIComponent(i.queryText)+"&"+this.providerConfiguration.YQLFormat+(this.providerConfiguration.YQLEnv?"&env="+this.providerConfiguration.YQLEnv:""),dataType:"JSON",success:function(l,s,i){var r=a._preProcessData(l,o);if(0==r)return void t.success(e);if(e.rawDataList=r,o.anonymousResult)return e.rawDataList=r,void t.success(e);var p=n.Container.createModelBinderConfigCompiler(e,[]);p.Visit(e.expression),t.success(e)},error:function(e,a,l){var n={};try{n=JSON.parse(e.responseText).error}catch(s){n=l+": "+e.responseText}t.error(n)}};this.context.prepareRequest.call(this,p),this.AuthenticationProvider.CreateRequest(p)},_preProcessData:function(e,t){for(var a=e,l=void 0!=t.resultPath?t.resultPath:this.providerConfiguration.resultPath,n=0;n<l.length;n++){if(!a[l[n]])return!1;a=a[l[n]]}var s=void 0!=t.resultSkipFirstLevel?t.resultSkipFirstLevel:this.providerConfiguration.resultSkipFirstLevel;if(1==s){var o=Object.keys(a);1==o.length&&(a[o[0]]instanceof Array||!t.anonymousResult)&&(a=a[o[0]])}return a.length?a:[a]},_compile:function(e){var t=n.Container.createYQLCompiler().compile(e);return t},getTraceString:function(e){this.AuthenticationProvider||(this.AuthenticationProvider=new s["default"].Authentication.Anonymous({}));var t=this._compile(e);return t},setContext:function(e){this.context=e},saveChanges:function(e){n.Guard.raise(new n.Exception("Not Implemented","Not Implemented"))}},null),s["default"].StorageProviderBase.registerProvider("YQL",s["default"].storageProviders.YQL.YQLProvider)},{"jaydata/core":"jaydata/core"}],6:[function(e,t,a){"use strict";function l(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0});var n=e("jaydata/core"),s=l(n),o=e("./YQLConverter.js"),i=(l(o),e("./YQLProvider.js")),r=(l(i),e("./YQLCompiler.js")),p=(l(r),e("./EntitySets/geo.js")),u=(l(p),e("./EntitySets/YQLContext.js"));l(u);a["default"]=s["default"],t.exports=a["default"]},{"./EntitySets/YQLContext.js":1,"./EntitySets/geo.js":2,"./YQLCompiler.js":3,"./YQLConverter.js":4,"./YQLProvider.js":5,"jaydata/core":"jaydata/core"}]},{},[6])(6)}); //# sourceMappingURL=YQLProvider.min.js.map