@imranbarbhuiya/mongoose-fuzzy-searching
Version:
Mongoose fuzzy searching plugin
33 lines (32 loc) • 1.48 kB
JavaScript
;
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.setTransformers = void 0;
var utils_1 = require("../utils");
var fields_1 = require("./fields");
var transformer = function (fields) { return function (docToObj) { return (__assign(__assign({}, (docToObj || {})), { transform: function (doc, ret, options) {
// Execute first the default transformer function (toObject or toJSON) if is set
// and then run the custom transformer that removes the fuzzy elements
if (docToObj && docToObj.transform && (0, utils_1.isFunction)(docToObj.transform)) {
docToObj.transform(doc, ret, options);
}
return (0, fields_1.removeFuzzyElements)(fields)(doc, ret);
} })); }; };
var setTransformers = function (fields, options) {
var transform = transformer(fields);
return {
toJSON: transform(options === null || options === void 0 ? void 0 : options.toJSON),
toObject: transform(options === null || options === void 0 ? void 0 : options.toObject),
};
};
exports.setTransformers = setTransformers;