UNPKG

@imranbarbhuiya/mongoose-fuzzy-searching

Version:
48 lines (47 loc) 2.32 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.prepareQuery = exports.prepareNgrams = exports.isString = exports.isFunction = exports.isObject = exports.replaceSymbols = void 0; var config_1 = __importDefault(require("../config")); var languageCharacters_1 = __importDefault(require("./languageCharacters")); var replaceSymbols = function (text, escapeSpecialCharacters) { text = text.toLowerCase(); if (escapeSpecialCharacters) { text = text.replace(/[!"#%&'()*+,-./:;<=>?@[\\\]^`{|}~]/g, ""); // remove special characters } text = text.replace(/_/g, " "); text = (0, languageCharacters_1.default)(text); return text; }; exports.replaceSymbols = replaceSymbols; var isObject = function (obj) { return !!obj && obj.constructor === Object && Object.keys(obj).length > 0; }; exports.isObject = isObject; var isFunction = function (fn) { return !!(fn && (typeof fn === "function" || fn instanceof Function)); }; exports.isFunction = isFunction; var isString = function (input) { return typeof input === "string" || input instanceof String; }; exports.isString = isString; var prepareNgrams = function (ngramsOptions) { var escapeSpecialCharacters = ngramsOptions.escapeSpecialCharacters, minSize = ngramsOptions.minSize, prefixOnly = ngramsOptions.prefixOnly, text = ngramsOptions.text; return { escapeSpecialCharacters: escapeSpecialCharacters || config_1.default.ESCAPE_SPECIAL_CHARACTERS, minSize: minSize || config_1.default.DEFAULT_MIN_SIZE, prefixOnly: prefixOnly || config_1.default.DEFAULT_PREFIX_ONLY, text: text || "", }; }; exports.prepareNgrams = prepareNgrams; var prepareQuery = function (query, options) { return ({ query: query, exact: (options === null || options === void 0 ? void 0 : options.exact) || config_1.default.DEFAULT_EXACT_SEARCH, prefixOnly: (options === null || options === void 0 ? void 0 : options.prefixOnly) || config_1.default.DEFAULT_PREFIX_ONLY, minSize: (options === null || options === void 0 ? void 0 : options.minSize) || config_1.default.DEFAULT_MIN_SIZE, }); }; exports.prepareQuery = prepareQuery;