UNPKG

@geekbears/gb-mongoose-keywords-plugin

Version:
26 lines 1.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.extractKeywordsFromField = void 0; var lodash_1 = require("lodash"); var extract_keywords_from_string_helper_1 = require("./extract-keywords-from-string.helper"); /** * Handle keyword generation for a given field value, regardless of its type. * Supports plain strings, arrays of strings and one-level-deep objects * * @param value the source field value. * @param omit a set of words to be omitted from the resulting keywords * @returns the resulting set of keywords. and an empty set if the value is null */ var extractKeywordsFromField = function (value, omit) { if ((0, lodash_1.isNil)(value)) return []; if ((0, lodash_1.isArray)(value)) return (0, lodash_1.flatten)(value.map(function (value) { return (0, extract_keywords_from_string_helper_1.extractKeywordsFromString)(value, omit); })); if ((0, lodash_1.isObject)(value)) return (0, lodash_1.flatten)((0, lodash_1.keys)(value) .filter(function (key) { return !(0, lodash_1.isString)(value[key]); }) .map(function (key) { return (0, extract_keywords_from_string_helper_1.extractKeywordsFromString)(value[key], omit); })); return (0, extract_keywords_from_string_helper_1.extractKeywordsFromString)(value, omit); }; exports.extractKeywordsFromField = extractKeywordsFromField; //# sourceMappingURL=extract-keywords-from-field.helper.js.map