UNPKG

@imranbarbhuiya/mongoose-fuzzy-searching

Version:
33 lines (32 loc) 1.48 kB
"use strict"; 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;