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)

55 lines (46 loc) 2.37 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _index = require('../../../TypeSystem/index.js'); var _index2 = _interopRequireDefault(_index); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } (0, _index.$C)('$data.Expressions.ServiceOperationExpression', _index2.default.Expressions.ExpressionNode, null, { constructor: function constructor(source, selector, params, cfg, boundItem) { ///<signature> ///<param name="source" type="$data.Expressions.EntityContextExpression" /> ///<param name="selector" type="$data.Expressions.MemberInfoExpression" /> ///<param name="params" type="$data.Array" /> ///<param name="cfg" type="$data.Object" /> ///</signature> _index.Guard.requireType("source", source, [_index2.default.Expressions.EntityContextExpression]); _index.Guard.requireType("selector", source, [_index2.default.Expressions.MemberInfoExpression]); this.source = source; this.selector = selector; this.params = params; this.cfg = cfg; this.boundItem = boundItem; function findContext() { //TODO: use source from function parameter and return a value at the end of the function var r = source; while (r) { if (r instanceof _index2.default.Expressions.EntityContextExpression) { return r; } r = r.source; } } var c = findContext(); switch (true) { case this.source instanceof _index2.default.Expressions.EntityContextExpression: this.elementType = cfg.elementType ? _index.Container.resolveType(cfg.elementType) : this.elementType ? _index.Container.resolveType(cfg.returnType) : null; this.storageModel = cfg.elementType ? c.instance._storageModel.getStorageModel(_index.Container.resolveType(cfg.elementType)) : null; break; default: _index.Guard.raise("Unknown source type for EntitySetExpression: " + this.source.getType().name); } }, nodeType: { value: _index2.default.Expressions.ExpressionType.ServiceOperation, enumerable: true } }); exports.default = _index2.default; module.exports = exports['default'];