"use strict";

const wrapError = require("@validatem/wrap-error");
const either = require("@validatem/either");
const isLocalFieldName = require("../is-local-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 local field name or object", either([
		[ isObjectType("field") ],
		[ isLocalFieldName, wrapWithOperation("field") ]
	]));
};
