| Linux premium331.web-hosting.com 4.18.0-553.80.1.lve.el8.x86_64 #1 SMP Wed Oct 22 19:29:36 UTC 2025 x86_64 Path : /home/livedhms/lmgt/node_modules/mongoose/lib/schema/operators/ |
| Current File : /home/livedhms/lmgt/node_modules/mongoose/lib/schema/operators/text.js |
'use strict';
const CastError = require('../../error/cast');
const castBoolean = require('../../cast/boolean');
const castString = require('../../cast/string');
/**
* Casts val to an object suitable for `$text`. Throws an error if the object
* can't be casted.
*
* @param {any} val value to cast
* @param {string} [path] path to associate with any errors that occurred
* @return {object} casted object
* @see https://www.mongodb.com/docs/manual/reference/operator/query/text/
* @api private
*/
module.exports = function castTextSearch(val, path) {
if (val == null || typeof val !== 'object') {
throw new CastError('$text', val, path);
}
if (val.$search != null) {
val.$search = castString(val.$search, path + '.$search');
}
if (val.$language != null) {
val.$language = castString(val.$language, path + '.$language');
}
if (val.$caseSensitive != null) {
val.$caseSensitive = castBoolean(val.$caseSensitive,
path + '.$caseSensitive');
}
if (val.$diacriticSensitive != null) {
val.$diacriticSensitive = castBoolean(val.$diacriticSensitive,
path + '.$diacriticSensitive');
}
return val;
};