UNPKG

@nozbe/watermelondb

Version:

Build powerful React Native and React web apps that scale from hundreds to tens of thousands of records and remain fast

30 lines (29 loc) 1.42 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.getAssociations = void 0; var _invariant = _interopRequireDefault(require("../utils/common/invariant")); var getAssociations = exports.getAssociations = function (description, modelClass, db) { return description.joinTables.map(function (table) { var info = modelClass.associations[table]; (0, _invariant.default)(info, "Query on '".concat(modelClass.table, "' joins with '").concat(table, "', but ").concat(modelClass.name, " does not have associations={} defined for '").concat(table, "'")); return { from: modelClass.table, to: table, info: info }; }).concat(description.nestedJoinTables.map(function ({ from: from, to: to }) { var collection = db.get(from); (0, _invariant.default)(collection, "Query on '".concat(modelClass.table, "' has a nested join with '").concat(from, "', but collection for '").concat(from, "' cannot be found")); var info = collection.modelClass.associations[to]; (0, _invariant.default)(info, "Query on '".concat(modelClass.table, "' has a nested join from '").concat(from, "' to '").concat(to, "', but ").concat(collection.modelClass.name, " does not have associations={} defined for '").concat(to, "'")); return { from: from, to: to, info: info }; })); };