Comparing version 0.5.22 to 0.5.23
@@ -48,3 +48,19 @@ /* eslint no-shadow: 0 */ | ||
function query(row, options) { | ||
function getIndex(rowOrPk) { | ||
var index = undefined; | ||
if (_lodash2['default'].isFunction(rowOrPk)) { | ||
var row = rowOrPk; | ||
index = row(right.field); | ||
} else { | ||
var pk = rowOrPk; | ||
if (right.field === right.table.pk) { | ||
index = pk; | ||
} else { | ||
index = right.table.get(pk)(right.field); | ||
} | ||
} | ||
return index; | ||
} | ||
function query(index, options) { | ||
var _parseOptions = parseOptions(options); | ||
@@ -57,6 +73,5 @@ | ||
var query = left.table.query(); | ||
query = query.getAll(row(right.field), { index: left.field }); | ||
var query = left.table.query().getAll(index, { index: left.field }); | ||
query = apply(query); | ||
return _rethinkdb2['default'].branch(row(right.field), query, _rethinkdb2['default'].expr([])); | ||
return _rethinkdb2['default'].branch(index, query, _rethinkdb2['default'].expr([])); | ||
} | ||
@@ -97,2 +112,3 @@ | ||
has: has, | ||
index: getIndex, | ||
link: link, | ||
@@ -109,3 +125,19 @@ targetTable: left.table, | ||
function query(row) { | ||
function getIndex(rowOrPk) { | ||
var index = undefined; | ||
if (_lodash2['default'].isFunction(rowOrPk)) { | ||
var row = rowOrPk; | ||
index = row(left.field); | ||
} else { | ||
var pk = rowOrPk; | ||
if (left.field === left.table.pk) { | ||
index = pk; | ||
} else { | ||
index = left.table.get(pk)(left.field); | ||
} | ||
} | ||
return index; | ||
} | ||
function query(index) { | ||
var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; | ||
@@ -120,6 +152,5 @@ | ||
var query = right.table.query(); | ||
query = query.getAll(row(left.field), { index: right.field }); | ||
var query = right.table.query().getAll(index, { index: right.field }); | ||
query = apply(query); | ||
return _rethinkdb2['default'].branch(row(left.field), query, _rethinkdb2['default'].expr([])); | ||
return _rethinkdb2['default'].branch(index, query, _rethinkdb2['default'].expr([])); | ||
} | ||
@@ -160,2 +191,3 @@ | ||
has: has, | ||
index: getIndex, | ||
link: link, | ||
@@ -172,3 +204,19 @@ targetTable: right.table, | ||
function query(row) { | ||
function getIndex(rowOrPk) { | ||
var index = undefined; | ||
if (_lodash2['default'].isFunction(rowOrPk)) { | ||
var row = rowOrPk; | ||
index = row(right.field); | ||
} else { | ||
var pk = rowOrPk; | ||
if (right.field === right.table.pk) { | ||
index = pk; | ||
} else { | ||
index = right.table.get(pk)(right.field); | ||
} | ||
} | ||
return index; | ||
} | ||
function query(index) { | ||
var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; | ||
@@ -184,6 +232,6 @@ | ||
var query = left.table.query(); | ||
query = query.getAll(row(right.field), { index: left.field }); | ||
query = query.getAll(index, { index: left.field }); | ||
query = apply(query); | ||
return _rethinkdb2['default'].branch(row(right.field), query, _rethinkdb2['default'].expr([])); | ||
return _rethinkdb2['default'].branch(index, query, _rethinkdb2['default'].expr([])); | ||
} | ||
@@ -224,2 +272,3 @@ | ||
has: has, | ||
index: getIndex, | ||
link: link, | ||
@@ -248,3 +297,19 @@ targetTable: left.table, | ||
function query(row) { | ||
function getIndex(rowOrPk) { | ||
var index = undefined; | ||
if (_lodash2['default'].isFunction(rowOrPk)) { | ||
var row = rowOrPk; | ||
index = row(link1.right.field); | ||
} else { | ||
var pk = rowOrPk; | ||
if (link1.right.field === link1.right.table.pk) { | ||
index = pk; | ||
} else { | ||
index = link1.right.table.get(pk)(link1.right.field); | ||
} | ||
} | ||
return index; | ||
} | ||
function query(index) { | ||
var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; | ||
@@ -259,3 +324,3 @@ | ||
var targetIdsQuery = relationTable.query().getAll(row(link1.right.field), { index: link1.left.field }).hasFields(link2.left.field); | ||
var targetIdsQuery = relationTable.query().getAll(index, { index: link1.left.field }).hasFields(link2.left.field); | ||
@@ -272,3 +337,3 @@ // filter, orderBy, etc... | ||
return _rethinkdb2['default'].branch(row(link1.right.field), relatedRowsQuery, _rethinkdb2['default'].expr([])); | ||
return _rethinkdb2['default'].branch(index, relatedRowsQuery, _rethinkdb2['default'].expr([])); | ||
} | ||
@@ -336,2 +401,3 @@ | ||
has: has, | ||
index: getIndex, | ||
link: link, | ||
@@ -338,0 +404,0 @@ targetTable: link2.right.table, |
@@ -347,8 +347,8 @@ /* eslint no-shadow: 0, no-param-reassign: 0 */ | ||
var joinedQuery = query.merge(function (row) { | ||
return _lodash2['default'].reduce(relations, function (joinObject, relations, key) { | ||
if (_lodash2['default'].startsWith(key, '_')) return joinObject; | ||
return _lodash2['default'].chain(relations).omitBy(function (relations, key) { | ||
return _lodash2['default'].startsWith(key, '_'); | ||
}).reduce(function (joinObject, relations, key) { | ||
var relatedQuery = _this5.getRelated(row, key); | ||
var relation = _this5.getRelation(key); | ||
var relatedQuery = relation.query(row, relations); | ||
relatedQuery = relation.coerceType(relatedQuery); | ||
// if nested | ||
if (_lodash2['default'].isObject(relations) && !_lodash2['default'].isEmpty(relations)) { | ||
@@ -363,3 +363,3 @@ var _getRelation = _this5.getRelation(key); | ||
return _extends({}, joinObject, _defineProperty({}, key, relatedQuery)); | ||
}, {}); | ||
}, {}).value(); | ||
}); | ||
@@ -384,5 +384,4 @@ | ||
var relation = this.getRelation(relationName); | ||
return this.get(pk)['do'](function (row) { | ||
return relation.query(row, options); | ||
}); | ||
var index = relation.index(pk); | ||
return relation.query(index, options); | ||
} | ||
@@ -389,0 +388,0 @@ }, { |
{ | ||
"name": "nothinkdb", | ||
"version": "0.5.22", | ||
"version": "0.5.23", | ||
"description": "Functional toolkit for rethinkdb", | ||
@@ -5,0 +5,0 @@ "main": "lib/nothinkdb.js", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
38164
840