"use strict";

const wrapError = require("@validatem/wrap-error");
const either = require("@validatem/either");
const isRemoteFieldName = require("../is-remote-field-name");

module.exports = function (operations) {
	const wrapWithOperation = require("./wrap-with-operation")(operations);
	const isObjectType = require("./is-object-type")(operations);

	return wrapError("Must be a remote field name or object", either([
		[ isObjectType("remoteField") ],
		[ isRemoteFieldName, wrapWithOperation("remoteField") ]
	]));
};
