| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- var TextMatchExpression = require("./TextMatchExpression"),
- ErrorCodes = require("../errors").ErrorCodes;
- /**
- * Expression parser's text callback function.
- *
- * @param queryObj
- * @returns {*}
- * @private
- */
- var _expressionParserTextCallbackReal = function _expressionParserTextCallbackReal(queryObj) {
- if (queryObj.$search._type !== "string") {
- return {code: ErrorCodes.BadValue, description: "$search needs a String"};
- }
- var language = "",
- languageElt = queryObj.$language;
- if (languageElt !== null) {
- if (typeof languageElt !== "string")
- return {code:ErrorCodes.BadValue, description:"$language needs a String"};
- language = languageElt;
- //TODO: finish implementing one day, just trying to fix jshint errors right now
- }
- var query = queryObj.$search;
- if (Object.keys(queryObj).length !== (languageElt === null ? 1 : 2)) {
- return {code:ErrorCodes.BadValue, description:"extra fields in $text"};
- }
- var e = new TextMatchExpression(),
- s = e.init(query, language);
- if (s.code !== ErrorCodes.OK) {
- return s;
- }
- return e;
- };
- module.exports = {
- expressionParserTextCallbackReal: _expressionParserTextCallbackReal
- };
|